장애가 발생한 스토리지 볼륨을 복구하고 Cassandra 데이터베이스를 재구축합니다
장애가 발생한 스토리지 볼륨에서 스토리지를 다시 포맷하고 다시 마운트하는 스크립트를 실행하고, 시스템에서 필요하다고 판단할 경우 스토리지 노드에서 Cassandra 데이터베이스를 재구성해야 합니다.
-
을(를) 보유하고 있습니다
Passwords.txt
파일. -
서버의 시스템 드라이브가 손상되지 않았습니다.
-
실패의 원인이 확인되었으며, 필요한 경우 교체 스토리지 하드웨어를 이미 확보했습니다.
-
교체 스토리지의 총 크기는 원본과 동일합니다.
-
스토리지 노드 사용 중지가 진행 중이 아니거나 노드 사용 중단 절차를 일시 중지했습니다. (Grid Manager에서 * 유지보수 * > * 작업 * > * 서비스 해제 * 를 선택합니다.)
-
확장이 진행 중이 아닌 것을 확인했습니다. (Grid Manager에서 * 유지보수 * > * 작업 * > * 확장 * 을 선택합니다.)
-
필요에 따라 이전에 확인 및 마운트 해제한 실패한 스토리지 볼륨과 연결된 장애가 발생한 물리적 또는 가상 스토리지를 교체하십시오.
이 단계에서 볼륨을 다시 마운트하지 마십시오. 스토리지가 다시 마운트되고 에 추가됩니다
/etc/fstab
다음 단계로 진행합니다. -
Grid Manager에서 * nodes >(노드 *)로 이동합니다
*appliance Storage Node
> * 하드웨어 *. 페이지의 StorageGRID 어플라이언스 섹션에서 스토리지 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 *
-
둘 이상의 스토리지 노드가 오프라인이거나 지난 15일 동안 다른 스토리지 노드가 재구축된 경우 입력: * 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 복구 절차에서는 리퍼를 사용하여 Cassandra 수리를 처리합니다. 관련 또는 필수 서비스가 시작되는 즉시 수리가 자동으로 이루어집니다. "리퍼" 또는 "'Cassandra 수리'라는 스크립트 출력을 볼 수 있습니다. 복구가 실패했다는 오류 메시지가 나타나면 오류 메시지에 표시된 명령을 실행합니다.
다음 예제 출력에서 드라이브는
/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를 사용하여 개체 데이터를 복원합니다".