StorageGRID에서 장애가 발생한 스토리지 볼륨을 복구하고 Cassandra 데이터베이스를 재구축합니다
시스템에서 필요하다고 판단하는 경우, 오류가 발생한 스토리지 볼륨의 스토리지를 재포맷하고 다시 마운트하는 스크립트를 실행해야 하며, 스토리지 노드에서 Cassandra 데이터베이스를 재구축해야 합니다.
-
You have the
Passwords.txt파일을 가지고 계시네요. -
서버의 시스템 드라이브는 손상되지 않았습니다.
-
장애 원인이 파악되었으며, 필요한 경우 교체용 스토리지 하드웨어가 이미 확보되었습니다.
-
교체용 스토리지의 전체 크기는 원래 스토리지와 동일합니다.
-
스토리지 노드 해제 작업이 진행 중이 아닌지 확인했거나, 노드 해제 절차를 일시 중지했습니다. (그리드 관리자에서 유지 관리 > 작업 > *해제*를 선택하십시오.)
-
확장 작업이 진행 중이 아닌지 확인하셨습니다. (그리드 관리자에서 유지 관리 > 작업 > *확장*을 선택하십시오.)
-
"스토리지 볼륨 복구에 대한 경고를 검토했습니다."이(가) 있습니다.
-
필요에 따라 이전에 식별하고 마운트 해제한 장애 스토리지 볼륨과 관련된 장애가 발생한 물리적 또는 가상 스토리지를 교체하십시오.
이 단계에서는 볼륨을 다시 마운트하지 마십시오. 스토리지는 이후 단계에서 다시 마운트되고 `/etc/fstab`에 추가됩니다.
-
Grid Manager에서 Nodes >
appliance Storage Node> *Hardware*로 이동합니다. 페이지의 StorageGRID Appliance 섹션에서 Storage RAID 모드가 정상인지 확인합니다. -
오류가 발생한 스토리지 노드에 로그인합니다.
-
다음 명령을 입력합니다.
ssh admin@grid_node_IP -
Passwords.txt파일에 나와 있는 비밀번호를 입력하십시오. -
루트 권한으로 전환하려면 다음 명령을 입력하십시오.
su - -
Passwords.txt파일에 나와 있는 비밀번호를 입력하십시오.루트 계정으로 로그인하면 프롬프트가 `$`에서 `#`로 변경됩니다.
-
-
텍스트 편집기(vi 또는 vim)를 사용하여
/etc/fstab파일에서 실패한 볼륨을 삭제한 다음 파일을 저장하십시오./etc/fstab파일에서 실패한 볼륨을 주석 처리하는 것만으로는 불충분합니다. 복구 프로세스에서fstab파일의 모든 줄이 마운트된 파일 시스템과 일치하는지 확인하므로 볼륨을 `fstab`에서 삭제해야 합니다. -
오류가 발생한 스토리지 볼륨을 다시 포맷하고 필요한 경우 Cassandra 데이터베이스를 재구축하십시오. 다음을 입력하십시오.
reformat_storage_block_devices.rb-
스토리지 볼륨 0이 마운트 해제되면 Cassandra 서비스가 중지되고 있음을 나타내는 메시지와 안내문이 표시됩니다.
-
필요한 경우 Cassandra 데이터베이스를 재구축하라는 메시지가 표시됩니다.
-
경고 메시지를 검토하십시오. 해당되는 경고가 없으면 Cassandra 데이터베이스를 재구축하십시오. *y*를 입력하십시오.
-
스토리지 노드가 두 개 이상 오프라인 상태인 경우. *n*을 입력하십시오.
스크립트가 Cassandra를 재구축하지 않고 종료됩니다. 기술 지원 부서에 문의하십시오.
-
-
스토리지 노드의 각 rangedb 드라이브에 대해 다음 메시지가 표시되면:
Reformat the rangedb drive <name> (device <major number>:<minor number>)? [y/n]?, 다음 응답 중 하나를 입력하십시오.-
오류가 발생한 드라이브를 재포맷하려면 *y*를 누르세요. 이렇게 하면 스토리지 볼륨이 재포맷되고 재포맷된 스토리지 볼륨이
/etc/fstab파일에 추가됩니다. -
n 드라이브에 오류가 없고 다시 포맷하지 않으려는 경우입니다.
*n*을 선택하면 스크립트가 종료됩니다. 드라이브를 마운트하거나(드라이브의 데이터를 보존해야 하고 드라이브가 실수로 마운트 해제된 경우) 드라이브를 제거하십시오. 그런 다음 reformat_storage_block_devices.rb명령을 다시 실행하십시오.일부 StorageGRID 복구 절차에서는 Reaper를 사용하여 Cassandra 복구를 처리합니다. 복구는 관련 또는 필수 서비스가 시작되는 즉시 자동으로 수행됩니다. 스크립트 출력에서 "reaper" 또는 "Cassandra repair"라는 단어를 볼 수 있습니다. 복구 실패를 나타내는 오류 메시지가 표시되면 오류 메시지에 표시된 명령을 실행하십시오.
다음 예시 출력에서는 드라이브 `/dev/sdf`를 재포맷해야 하지만 Cassandra는 재구축할 필요가 없습니다.
-
root@DC1-S1:~ # reformat_storage_block_devices.rb Formatting devices that are not in use... Skipping in use device /dev/sdc Skipping in use device /dev/sdd Skipping in use device /dev/sde Reformat the rangedb drive /dev/sdf (device 8:64)? [Y/n]? y Successfully formatted /dev/sdf with UUID b951bfcb-4804-41ad-b490-805dfd8df16c All devices processed Running: /usr/local/ldr/setup_rangedb.sh 12368435 Cassandra does not need rebuilding. Starting services. Informing storage services of new volume Reformatting done. Now do manual steps to restore copies of data.
-
스토리지 볼륨이 재포맷되고 다시 마운트되며 필요한 Cassandra 작업이 완료되면 "Grid Manager를 사용하여 객체 데이터 복원"할 수 있습니다.