StorageGRID 어플라이언스의 스토리지 볼륨에 객체 데이터를 복원합니다
어플라이언스 스토리지 노드의 스토리지 볼륨을 복구한 후에는 스토리지 노드 장애로 인해 손실된 복제 또는 소거 코딩된 객체 데이터를 복원할 수 있습니다.
어떤 절차를 사용해야 할까요?
가능한 경우 그리드 관리자의 볼륨 복원 페이지를 사용하여 객체 데이터를 복원하십시오.
-
볼륨이 유지 관리 > 볼륨 복원 > *복원할 노드*에 나열되어 있으면 "그리드 관리자의 볼륨 복원 페이지"을 사용하여 객체 데이터를 복원하십시오.
-
유지 관리 > 볼륨 복원 > *복원할 노드*에 볼륨이 표시되지 않으면 아래 단계에 따라
repair-data스크립트를 사용하여 객체 데이터를 복원하십시오.복구된 스토리지 노드의 볼륨 수가 교체 대상 노드보다 적은 경우
repair-data스크립트를 사용해야 합니다.
|
|
repair-data 스크립트는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 가능한 경우 "그리드 관리자에서의 볼륨 복원 절차"을 사용하십시오. |
repair-data 스크립트를 사용하여 객체 데이터 복원
-
복구된 스토리지 노드의 연결 상태가 연결됨
으로 표시되는 것을 그리드 관리자의 노드 > 개요 탭에서 확인했습니다.
그리드의 ILM 규칙이 객체 복사본을 사용할 수 있도록 구성된 경우, 객체 데이터는 다른 스토리지 노드 또는 Cloud Storage Pool에서 복원할 수 있습니다.
다음 사항에 유의하십시오.
-
ILM 규칙이 복제본을 하나만 저장하도록 구성되었고 해당 복제본이 장애가 발생한 스토리지 볼륨에 있는 경우, 해당 개체를 복구할 수 없습니다.
-
객체의 유일한 사본이 클라우드 스토리지 풀에 있는 경우, StorageGRID는 객체 데이터를 복원하기 위해 클라우드 스토리지 풀 엔드포인트에 여러 번 요청을 보내야 합니다. 이 절차를 수행하기 전에 기술 지원 부서에 문의하여 복구 시간 및 관련 비용을 예측하는 데 도움을 받으십시오.
About the repair-data 스크립트
객체 데이터를 복원하려면 repair-data 스크립트를 실행합니다. 이 스크립트는 객체 데이터 복원 프로세스를 시작하고 ILM 스캔과 연동하여 ILM 규칙이 충족되도록 합니다.
아래에서 복제 데이터 또는 *이레이저 코딩(EC) 데이터*를 선택하여 복제 데이터 또는 이레이저 코딩 데이터 복원 여부에 따라 repair-data 스크립트 옵션이 어떻게 달라지는지 확인하십시오. 두 가지 유형의 데이터를 모두 복원해야 하는 경우 두 가지 명령 세트를 모두 실행해야 합니다.
|
|
repair-data 스크립트에 대한 자세한 내용은 기본 관리 노드의 명령줄에서 `repair-data --help`를 입력하십시오.
|
|
|
repair-data 스크립트는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 가능한 경우 "그리드 관리자에서의 볼륨 복원 절차"을 사용하십시오. |
복제된 데이터를 복원하는 데 사용할 수 있는 명령은 두 가지가 있으며, 전체 노드를 복구해야 하는지 아니면 노드의 특정 볼륨만 복구해야 하는지에 따라 달라집니다.
repair-data start-replicated-node-repair
repair-data start-replicated-volume-repair
다음 명령을 사용하면 복제된 데이터의 복구 과정을 추적할 수 있습니다.
repair-data show-replicated-repair-status
노드 전체를 복구해야 하는지 아니면 노드의 특정 볼륨만 복구해야 하는지에 따라 이레이저 코딩된 데이터를 복원하는 데 사용할 수 있는 명령은 두 가지입니다.
repair-data start-ec-node-repair
repair-data start-ec-volume-repair
다음 명령을 사용하면 이레이저 코딩된 데이터의 복구 과정을 추적할 수 있습니다.
repair-data show-ec-repair-status
|
|
일부 스토리지 노드가 오프라인 상태인 동안에도 소거 코딩된 데이터 복구를 시작할 수 있습니다. 그러나 모든 소거 코딩된 데이터를 찾을 수 없는 경우 복구를 완료할 수 없습니다. 모든 노드가 다시 사용 가능해진 후에 복구가 완료됩니다. |
|
|
EC 복구 작업은 일시적으로 많은 양의 저장 공간을 예약합니다. 저장 공간 경고가 발생할 수 있지만, 복구가 완료되면 해결됩니다. 예약에 필요한 저장 공간이 부족하면 EC 복구 작업이 실패합니다. 저장 공간 예약은 EC 복구 작업이 완료되면 해제되며, 작업 성공 여부와는 관계가 없습니다. |
스토리지 노드의 호스트 이름 찾기
-
관리자 노드에 로그인합니다:
-
다음 명령줄을 입력합니다:
ssh admin@primary_Admin_Node_IP -
Passwords.txt파일에 나와 있는 비밀번호를 입력하십시오. -
루트 권한으로 전환하려면 다음 명령을 입력하십시오.
su - -
Passwords.txt파일에 나와 있는 비밀번호를 입력하십시오.루트 계정으로 로그인하면 프롬프트가 `$`에서 `#`로 변경됩니다.
-
-
복원된 스토리지 볼륨의 스토리지 노드 호스트 이름을 찾으려면
/etc/hosts파일을 사용하십시오. 그리드의 모든 노드 목록을 보려면 다음을 입력하십시오.cat /etc/hosts
모든 볼륨이 실패한 경우 데이터 복구
모든 스토리지 볼륨에 오류가 발생한 경우 전체 노드를 복구하십시오. 복제 데이터, 이레이저 코딩(EC) 데이터 또는 둘 다를 사용하는지에 따라 복제 데이터, 이레이저 코딩(EC) 데이터 또는 둘 다에 대한 지침을 따르십시오.
일부 볼륨에만 오류가 발생한 경우, 일부 볼륨에만 오류가 발생한 경우 데이터 복구으로 이동하십시오.
|
|
한 번에 두 개 이상의 노드에 대한 repair-data 작업을 실행할 수 없습니다. 여러 노드를 복구하려면 기술 지원 부서에 문의하십시오.
|
그리드에 복제된 데이터가 포함된 경우, repair-data start-replicated-node-repair 명령을 --nodes 옵션과 함께 사용하십시오. 여기서 `--nodes`은(는) 호스트 이름(시스템 이름)이며, 전체 스토리지 노드를 복구합니다.
이 명령은 SG-DC-SN3이라는 이름의 스토리지 노드에 복제된 데이터를 복구합니다.
repair-data start-replicated-node-repair --nodes SG-DC-SN3
|
|
객체 데이터 복원 중 StorageGRID 시스템에서 복제된 객체 데이터를 찾을 수 없는 경우 객체 손실 경고가 발생합니다. 시스템 전체의 스토리지 노드에서 경고가 발생할 수 있습니다. 손실 원인과 복구 가능 여부를 확인해야 합니다. 을 참조하십시오. "잠재적으로 손실된 객체 조사" |
그리드에 이레이저 코딩된 데이터가 포함된 경우, repair-data start-ec-node-repair 명령을 --nodes 옵션과 함께 사용하십시오. 여기서 `--nodes`은(는) 호스트 이름(시스템 이름)이며, 전체 스토리지 노드를 복구합니다.
이 명령은 SG-DC-SN3이라는 스토리지 노드에서 이레이저 코딩된 데이터를 복구합니다.
repair-data start-ec-node-repair --nodes SG-DC-SN3
이 작업은 이 repair_data 작업을 식별하는 고유한 repair ID`을 반환합니다. 이 `repair ID`을 사용하여 `repair_data 작업의 진행 상황과 결과를 추적하십시오. 복구 프로세스가 완료될 때 다른 피드백은 반환되지 않습니다.
일부 스토리지 노드가 오프라인 상태인 동안에도 이레이저 코딩된 데이터 복구를 시작할 수 있습니다. 모든 노드가 다시 사용 가능해지면 복구가 완료됩니다.
일부 볼륨에만 오류가 발생한 경우 데이터 복구
일부 볼륨에만 오류가 발생한 경우, 해당 볼륨을 복구하십시오. 복제 데이터, 소거 부호화(EC) 데이터 또는 둘 다를 사용하는지에 따라 복제 데이터, 소거 부호화(EC) 데이터 또는 둘 다에 대한 지침을 따르십시오.
모든 볼륨이 실패한 경우, 모든 볼륨이 실패한 경우 데이터 복구으로 이동하십시오.
볼륨 ID를 16진수로 입력하세요. 예를 들어, `0000`는 첫 번째 볼륨이고 `000F`는 열여섯 번째 볼륨입니다. 하나의 볼륨, 볼륨 범위 또는 순서에 상관없이 여러 볼륨을 지정할 수 있습니다.
모든 볼륨은 동일한 스토리지 노드에 있어야 합니다. 둘 이상의 스토리지 노드에 대한 볼륨을 복원해야 하는 경우 기술 지원 부서에 문의하십시오.
그리드에 복제된 데이터가 포함된 경우 start-replicated-volume-repair 명령을 --nodes 옵션과 함께 사용하여 노드를 식별하십시오(여기서 --nodes`는 노드의 호스트 이름임). 그런 다음 다음 예와 같이 `--volumes 또는 --volume-range 옵션을 추가하십시오.
단일 볼륨: 이 명령은 복제된 데이터를 SG-DC-SN3이라는 이름의 스토리지 노드의 볼륨 `0002`에 복원합니다.
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0002
볼륨 범위: 이 명령은 SG-DC-SN3이라는 이름의 스토리지 노드에서 `0003`부터 `0009`까지의 범위에 있는 모든 볼륨에 복제된 데이터를 복원합니다.
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volume-range 0003,0009
순서가 지정되지 않은 여러 볼륨: 이 명령은 SG-DC-SN3이라는 스토리지 노드의 볼륨 0001, 0005, 및 `0008`에 복제된 데이터를 복원합니다.
repair-data start-replicated-volume-repair --nodes SG-DC-SN3 --volumes 0001,0005,0008
|
|
객체 데이터 복원 중 StorageGRID 시스템에서 복제된 객체 데이터를 찾을 수 없는 경우 객체 손실 경고가 발생합니다. 시스템 전체의 스토리지 노드에서 경고가 발생할 수 있습니다. 경고 설명과 권장 조치를 확인하여 손실 원인과 복구 가능 여부를 판단하십시오. |
그리드에 이레이저 코딩된 데이터가 포함된 경우, start-ec-volume-repair 명령을 --nodes 옵션과 함께 사용하여 노드를 식별하십시오(여기서 --nodes`는 노드의 호스트 이름임). 그런 다음 다음 예제와 같이 `--volumes 또는 --volume-range 옵션을 추가하십시오.
단일 볼륨: 이 명령은 SG-DC-SN3이라는 이름의 스토리지 노드에 있는 볼륨 `0007`에 이레이저 코딩된 데이터를 복원합니다.
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 0007
볼륨 범위: 이 명령은 SG-DC-SN3이라는 이름의 스토리지 노드에서 `0004`부터 `0006`까지의 범위에 있는 모든 볼륨에 이레이저 코딩된 데이터를 복원합니다.
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volume-range 0004,0006
순서가 지정되지 않은 여러 볼륨: 이 명령은 SG-DC-SN3이라는 스토리지 노드의 볼륨 000A, 000C, 및 `000E`에 이레이저 코딩된 데이터를 복원합니다.
repair-data start-ec-volume-repair --nodes SG-DC-SN3 --volumes 000A,000C,000E
이 repair-data 작업은 이 repair_data 작업을 식별하는 고유한 repair ID`을 반환합니다. 이 `repair ID`을 사용하여 `repair_data 작업의 진행 상황과 결과를 추적하십시오. 복구 프로세스가 완료될 때 다른 피드백은 반환되지 않습니다.
|
|
일부 스토리지 노드가 오프라인 상태인 동안에도 이레이저 코딩된 데이터 복구를 시작할 수 있습니다. 모든 노드가 다시 사용 가능해지면 복구가 완료됩니다. |
모니터 수리
복제 데이터, 이레이저 코딩(EC) 데이터 또는 둘 다를 사용하는지 여부에 따라 복구 작업 상태를 모니터링합니다.
또한 진행 중인 볼륨 복구 작업의 상태를 모니터링하고 "Grid Manager"에서 완료된 복구 작업 기록을 볼 수 있습니다.
-
복제된 복구 작업의 예상 완료율을 확인하려면
show-replicated-repair-status옵션을 repair-data 명령에 추가하십시오.repair-data show-replicated-repair-status -
수리가 완료되었는지 확인하려면:
-
노드 > 복구할 스토리지 노드 > *ILM*을 선택합니다.
-
평가 섹션의 속성을 검토하십시오. 수리가 완료되면 대기 중 - 전체 속성에 0개의 객체가 표시됩니다.
-
-
수리 과정을 더욱 자세히 모니터링하려면:
-
*노드*를 선택합니다.
-
그리드 이름 > *ILM*을 선택합니다.
-
ILM 큐 그래프 위에 커서를 올려놓으면 그리드에 있는 객체가 스캔되어 ILM 큐에 추가되는 속도인 스캔 속도(객체/초) 속성 값을 확인할 수 있습니다.
-
ILM 큐 섹션에서 다음 속성을 확인하십시오.
-
스캔 기간 - 예상: 모든 오브젝트에 대한 전체 ILM 스캔을 완료하는 데 걸리는 예상 시간입니다.
전체 스캔을 수행한다고 해서 모든 객체에 ILM이 적용되었다는 것을 보장하지는 않습니다.
-
복구 시도 횟수: 위험도가 높은 것으로 간주되는 복제 데이터에 대해 시도된 객체 복구 작업의 총 횟수입니다. 위험도가 높은 객체는 ILM 정책에 따라 지정되었거나 복사본 손실로 인해 복사본이 하나만 남아 있는 모든 객체를 의미합니다. 이 횟수는 스토리지 노드가 위험도가 높은 객체 복구를 시도할 때마다 증가합니다. 그리드 사용량이 많아지면 위험도가 높은 ILM 복구 작업이 우선적으로 처리됩니다.
동일한 객체 복구 시도 횟수가 복구 후 복제에 실패하면 다시 증가할 수 있습니다. 이러한 속성은 스토리지 노드 볼륨 복구 진행 상황을 모니터링할 때 유용할 수 있습니다. 복구 시도 횟수가 더 이상 증가하지 않고 전체 검사가 완료되면 복구가 완료된 것으로 간주할 수 있습니다.
-
-
또는 `storagegrid_ilm_scan_period_estimated_minutes`와 `storagegrid_ilm_repairs_attempted`에 대한 Prometheus 쿼리를 제출하십시오.
-
이레이저 코딩된 데이터의 복구를 모니터링하고 실패했을 수 있는 요청을 재시도하려면 다음을 수행합니다.
-
삭제 코딩된 데이터 복구 상태를 확인합니다.
-
지원 > 도구 > 메트릭*을 선택하여 현재 작업의 예상 완료 시간과 완료율을 확인합니다. 그런 다음 Grafana 섹션에서 *EC 개요*를 선택합니다. *그리드 EC 작업 예상 완료 시간 및 그리드 EC 작업 완료율 대시보드를 확인합니다.
-
특정
repair-data작업의 상태를 확인하려면 다음 명령을 사용하십시오.repair-data show-ec-repair-status --repair-id repair ID -
모든 수리 내역을 나열하려면 다음 명령을 사용하십시오.
repair-data show-ec-repair-status
출력 결과에는 이전에 실행된 모든 복구 작업과 현재 실행 중인 복구 작업에 대한 정보가 `repair ID`포함됩니다.
-
-
출력에 복구 작업이 실패했다고 표시되면
--repair-id옵션을 사용하여 복구를 다시 시도하십시오.이 명령은 복구 ID 6949309319275667690을 사용하여 실패한 노드 복구를 다시 시도합니다.
repair-data start-ec-node-repair --repair-id 6949309319275667690이 명령은 복구 ID 6949309319275667690을 사용하여 실패한 볼륨 복구를 다시 시도합니다.
repair-data start-ec-volume-repair --repair-id 6949309319275667690