Skip to main content
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

장애가 발생한 스토리지 볼륨을 복구하고 Cassandra 데이터베이스를 재구축합니다

기여자

장애가 발생한 스토리지 볼륨에서 스토리지를 다시 포맷하고 다시 마운트하는 스크립트를 실행하고, 시스템에서 필요하다고 판단할 경우 스토리지 노드에서 Cassandra 데이터베이스를 재구성해야 합니다.

  • "passwords.txt" 파일이 있어야 합니다.

  • 서버의 시스템 드라이브가 손상되지 않아야 합니다.

  • 실패의 원인을 식별해야 하며, 필요한 경우 교체 스토리지 하드웨어를 이미 구입한 상태여야 합니다.

  • 교체 스토리지의 총 크기는 원본과 같아야 합니다.

  • 스토리지 노드 사용 중지가 진행 중이 아니거나 노드 사용 중단 절차를 일시 중지했습니다. (Grid Manager에서 * 유지보수 * > * 작업 * > * 서비스 해제 * 를 선택합니다.)

  • 확장이 진행 중이 아닌 것을 확인했습니다. (Grid Manager에서 * 유지보수 * > * 작업 * > * 확장 * 을 선택합니다.)

  • 있습니다 스토리지 볼륨 복구에 대한 경고를 검토했습니다.

    1. 필요에 따라 이전에 확인 및 마운트 해제한 실패한 스토리지 볼륨과 연결된 장애가 발생한 물리적 또는 가상 스토리지를 교체하십시오.

      스토리지를 교체한 후 운영 체제에서 인식되지만 볼륨을 다시 마운트하지 않도록 다시 스캔하거나 재부팅해야 합니다. 이후 단계에서 스토리지가 다시 마운트되고 '/etc/fstab'에 추가됩니다.

    2. 장애가 발생한 스토리지 노드에 로그인:

      1. 'ssh admin@grid_node_ip' 명령을 입력합니다

      2. "passwords.txt" 파일에 나열된 암호를 입력합니다.

      3. 루트로 전환하려면 다음 명령을 입력합니다

      4. "passwords.txt" 파일에 나열된 암호를 입력합니다.

        루트로 로그인하면 프롬프트가 '$'에서 '#'로 바뀝니다.

    3. 텍스트 편집기(vi 또는 vim)를 사용하여 '/etc/fstab' 파일에서 실패한 볼륨을 삭제한 다음 파일을 저장합니다.

      참고 '/etc/fstab' 파일에서 실패한 볼륨을 주석으로 처리하지 않습니다. 복구 프로세스에서는 fstab 파일의 모든 행이 마운트된 파일 시스템과 일치하는지 확인하므로 fstab에서 볼륨을 삭제해야 합니다.
    4. 장애가 발생한 스토리지 볼륨을 다시 포맷하고 필요한 경우 Cassandra 데이터베이스를 재구축합니다. rformat_storage_block_devices.rb를 입력합니다

      • 스토리지 서비스가 실행 중인 경우 서비스를 중지하라는 메시지가 표시됩니다. 입력: * y *

      • 필요한 경우 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
    Storage services must be stopped before running this script.
    Stop storage services [y/N]? **y**
    Shutting down storage services.
    Storage services stopped.
    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 c817f87f-f989-4a21-8f03-b6f42180063f
    Skipping in use device /dev/sdg
    All devices processed
    Running: /usr/local/ldr/setup_rangedb.sh 12075630
    Cassandra does not need rebuilding.
    Starting services.
    
    Reformatting done.  Now do manual steps to
    restore copies of data.