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

잠재적으로 손실된 개체를 검색 및 복원합니다

기여자

개체 손실(손실) 경보와 * 개체 손실 * 경고를 트리거하고 잠재적으로 분실된 것으로 식별된 개체를 찾아서 복원할 수 있습니다.

필요한 것
  • "손실된 객체 조사"에서 식별된 대로 손실된 객체의 UUID가 있어야 합니다.

  • 에 가 있어야 합니다 Passwords.txt 파일.

이 작업에 대해

이 절차에 따라 그리드의 다른 위치에서 손실된 개체의 복제된 복사본을 찾을 수 있습니다. 대부분의 경우 손실된 개체를 찾을 수 없습니다. 그러나 경우에 따라 즉각적인 조치를 취할 경우 손실된 복제 개체를 찾아 복원할 수 있습니다.

중요함 이 절차에 대한 지원은 기술 지원 부서에 문의하십시오.
단계
  1. 관리 노드에서 감사 로그에서 가능한 객체 위치를 검색합니다.

    1. 그리드 노드에 로그인합니다.

      1. 다음 명령을 입력합니다. ssh admin@grid_node_IP

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

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

      4. 에 나열된 암호를 입력합니다 Passwords.txt 파일. 루트로 로그인하면 프롬프트가 에서 변경됩니다 $ 를 선택합니다 #.

    2. 감사 로그가 있는 디렉토리로 변경합니다. cd /var/local/audit/export/

    3. grep를 사용하여 잠재적으로 손실된 개체와 관련된 감사 메시지를 추출하고 출력 파일로 보냅니다. 입력: grep uuid-valueaudit_file_name > output_file_name

      예를 들면 다음과 같습니다.

      Admin: # grep 926026C4-00A4-449B-AC72-BCCA72DD1311 audit.log > messages_about_lost_object.txt
    4. grep를 사용하여 이 출력 파일에서 LLST(Location Lost) 감사 메시지를 추출합니다. 입력: grep LLST output_file_name

      예를 들면 다음과 같습니다.

      Admin: # grep LLST messages_about_lost_objects.txt

      LLST 감사 메시지는 이 샘플 메시지와 같습니다.

      [AUDT:\[NOID\(UI32\):12448208\][CBIL(UI64):0x38186FE53E3C49A5]
      [UUID(CSTR):"926026C4-00A4-449B-AC72-BCCA72DD1311"][LTYP(FC32):CLDI]
      [PCLD\(CSTR\):"/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%\#3tN6"\]
      [TSRC(FC32):SYST][RSLT(FC32):NONE][AVER(UI32):10][ATIM(UI64):
      1581535134379225][ATYP(FC32):LLST][ANID(UI32):12448208][AMID(FC32):CLSM]
      [ATID(UI64):7086871083190743409]]
    5. LLST 메시지에서 PCLD 필드와 noid 필드를 찾습니다.

      PCLD 값이 있는 경우 누락된 복제 객체 복사본에 대한 디스크의 전체 경로입니다. noid 값은 개체의 복사본을 찾을 수 있는 LDR의 노드 ID입니다.

      개체 위치를 찾으면 개체를 복원할 수 있습니다.

    6. 이 LDR 노드 ID의 스토리지 노드를 찾습니다.

      노드 ID를 사용하여 스토리지 노드를 찾는 방법에는 두 가지가 있습니다.

      • Grid Manager에서 * 지원 * > * 도구 * > * 그리드 토폴로지 * 를 선택합니다. 그런 다음 *데이터 센터 * > *스토리지 노드 * > * LDR * 을 선택합니다. LDR 노드 ID는 Node Information 테이블에 있습니다. 이 LDR을 호스팅하는 스토리지 노드를 찾을 때까지 각 스토리지 노드에 대한 정보를 검토하십시오.

      • 그리드에 대한 복구 패키지를 다운로드하고 압축을 풉니다. 해당 패키지에 _\docs_directory가 있습니다. index.html 파일을 열면 서버 요약에 모든 그리드 노드의 모든 노드 ID가 표시됩니다.

  2. 감사 메시지에 표시된 스토리지 노드에 객체가 있는지 확인합니다.

    1. 그리드 노드에 로그인합니다.

      1. 다음 명령을 입력합니다. ssh admin@grid_node_IP

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

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

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

        루트로 로그인하면 프롬프트가 에서 변경됩니다 $ 를 선택합니다 #.

    2. 개체의 파일 경로가 있는지 확인합니다.

      객체의 파일 경로에 LLST 감사 메시지의 PCLD 값을 사용한다.

      예를 들어 다음을 입력합니다.

      ls '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'
      • 참고 *: 특수 문자를 이스케이프하려면 항상 명령에서 개체 파일 경로를 작은따옴표로 묶어야 합니다.

        • 개체 경로를 찾을 수 없으면 개체가 손실되어 이 절차를 사용하여 복원할 수 없습니다. 기술 지원 부서에 문의하십시오.

        • 개체 경로가 발견되면 단계를 계속 진행합니다 개체를 StorageGRID 로 복원합니다. 검색된 객체를 다시 StorageGRID로 복원할 수 있습니다.

  1. 개체 경로를 찾은 경우 개체를 StorageGRID로 복원해 보십시오.

    1. 동일한 스토리지 노드에서 StorageGRID에서 관리할 수 있도록 객체 파일의 소유권을 변경합니다. 입력: chown ldr-user:bycast 'file_path_of_object'

    2. LDR 콘솔에 액세스하려면 localhost 1402에 Telnet을 사용합니다. 입력: telnet 0 1402

    3. 입력: cd /proc/STOR

    4. 입력: Object_Found 'file_path_of_object'

      예를 들어 다음을 입력합니다.

      Object_Found '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'

      를 발행합니다 Object\_Found Command 개체 위치를 눈금에 알립니다. 또한 활성 ILM 정책을 트리거하여 정책에 지정된 대로 추가 복사본을 만듭니다.

      • 참고 *: 객체를 찾은 스토리지 노드가 오프라인인 경우 온라인 상태인 스토리지 노드에 객체를 복사할 수 있습니다. 객체를 온라인 스토리지 노드의 /var/local/rangedb 디렉토리에 배치합니다. 그런 다음 를 실행합니다 Object\_Found 객체에 대한 파일 경로를 사용하는 명령입니다.

        • 개체를 복원할 수 없는 경우 를 참조하십시오 Object\_Found 명령이 실패했습니다. 기술 지원 부서에 문의하십시오.

        • 개체가 StorageGRID로 복원되면 성공 메시지가 나타납니다. 예를 들면 다음과 같습니다.

          ade 12448208: /proc/STOR > Object_Found '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6'
          
          ade 12448208: /proc/STOR > Object found succeeded.
          First packet of file was valid. Extracted key: 38186FE53E3C49A5
          Renamed '/var/local/rangedb/1/p/17/11/00rH0%DkRs&LgA%#3tN6' to '/var/local/rangedb/1/p/17/11/00rH0%DkRt78Ila#3udu'

          단계를 계속 진행합니다 새 위치가 생성되었는지 확인합니다

  1. 객체가 StorageGRID로 복구되면 새 위치가 생성되었는지 확인합니다.

    1. 입력: cd /proc/OBRP

    2. 입력: ObjectByUUID UUID_value

      다음 예에서는 UUID 926026C4-00A4-449B-AC72-BCCA72DD1311이 있는 개체의 위치가 두 가지임을 보여 줍니다.

    ade 12448208: /proc/OBRP > ObjectByUUID 926026C4-00A4-449B-AC72-BCCA72DD1311
    
    {
        "TYPE(Object Type)": "Data object",
        "CHND(Content handle)": "926026C4-00A4-449B-AC72-BCCA72DD1311",
        "NAME": "cats",
        "CBID": "0x38186FE53E3C49A5",
        "PHND(Parent handle, UUID)": "221CABD0-4D9D-11EA-89C3-ACBB00BB82DD",
        "PPTH(Parent path)": "source",
        "META": {
            "BASE(Protocol metadata)": {
                "PAWS(S3 protocol version)": "2",
                "ACCT(S3 account ID)": "44084621669730638018",
                "*ctp(HTTP content MIME type)": "binary/octet-stream"
            },
            "BYCB(System metadata)": {
                "CSIZ(Plaintext object size)": "5242880",
                "SHSH(Supplementary Plaintext hash)": "MD5D 0xBAC2A2617C1DFF7E959A76731E6EAF5E",
                "BSIZ(Content block size)": "5252084",
                "CVER(Content block version)": "196612",
                "CTME(Object store begin timestamp)": "2020-02-12T19:16:10.983000",
                "MTME(Object store modified timestamp)": "2020-02-12T19:16:10.983000",
                "ITME": "1581534970983000"
            },
            "CMSM": {
                "LATM(Object last access time)": "2020-02-12T19:16:10.983000"
            },
            "AWS3": {
                "LOCC": "us-east-1"
            }
        },
        "CLCO\(Locations\)": \[
            \{
                "Location Type": "CLDI\(Location online\)",
                "NOID\(Node ID\)": "12448208",
                "VOLI\(Volume ID\)": "3222345473",
                "Object File Path": "/var/local/rangedb/1/p/17/11/00rH0%DkRt78Ila\#3udu",
                "LTIM\(Location timestamp\)": "2020-02-12T19:36:17.880569"
            \},
            \{
                "Location Type": "CLDI\(Location online\)",
                "NOID\(Node ID\)": "12288733",
                "VOLI\(Volume ID\)": "3222345984",
                "Object File Path": "/var/local/rangedb/0/p/19/11/00rH0%DkRt78Rrb\#3s;L",
                "LTIM\(Location timestamp\)": "2020-02-12T19:36:17.934425"
            }
        ]
    }
    1. LDR 콘솔에서 로그아웃합니다. 입력: exit

  2. 관리 노드에서 이 객체에 대한 ORLM 감사 메시지에 대한 감사 로그를 검색하여 ILM(정보 수명 주기 관리)이 필요에 따라 복제본을 배치했는지 확인합니다.

    1. 그리드 노드에 로그인합니다.

      1. 다음 명령을 입력합니다. ssh admin@grid_node_IP

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

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

      4. 에 나열된 암호를 입력합니다 Passwords.txt 파일. 루트로 로그인하면 프롬프트가 에서 변경됩니다 $ 를 선택합니다 #.

    2. 감사 로그가 있는 디렉토리로 변경합니다. cd /var/local/audit/export/

    3. grep를 사용하여 개체와 관련된 감사 메시지를 출력 파일에 추출합니다. 입력: grep uuid-valueaudit_file_name > output_file_name

      예를 들면 다음과 같습니다.

      Admin: # grep 926026C4-00A4-449B-AC72-BCCA72DD1311 audit.log > messages_about_restored_object.txt
    4. grep를 사용하여 이 출력 파일에서 ORLM(Object Rules MET) 감사 메시지를 추출합니다. 입력: grep ORLM output_file_name

      예를 들면 다음과 같습니다.

      Admin: # grep ORLM messages_about_restored_object.txt

      ORLM 감사 메시지는 이 샘플 메시지와 같습니다.

    [AUDT:[CBID(UI64):0x38186FE53E3C49A5][RULE(CSTR):"Make 2 Copies"]
    [STAT(FC32):DONE][CSIZ(UI64):0][UUID(CSTR):"926026C4-00A4-449B-AC72-BCCA72DD1311"]
    [LOCS(CSTR):"**CLDI 12828634 2148730112**, CLDI 12745543 2147552014"]
    [RSLT(FC32):SUCS][AVER(UI32):10][ATYP(FC32):ORLM][ATIM(UI64):1563398230669]
    [ATID(UI64):15494889725796157557][ANID(UI32):13100453][AMID(FC32):BCMS]]
    1. 감사 메시지에서 Locs 필드를 찾습니다.

      있는 경우 Locs의 CLDI 값은 노드 ID 및 객체 복제본이 생성된 볼륨 ID입니다. 이 메시지는 ILM이 적용되었으며 그리드의 두 위치에서 두 개의 개체 복사본이 생성되었음을 나타냅니다.

    2. 그리드 관리자에서 손실된 개체의 수를 재설정합니다.