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

일관성 값

일관성은 여러 스토리지 노드와 사이트에서 객체의 가용성과 해당 객체의 일관성 간의 균형을 제공합니다. 귀하의 응용 프로그램에 맞게 일관성을 변경할 수 있습니다.

기본적으로 StorageGRID 새로 생성된 객체에 대해 읽기 후 쓰기 일관성을 보장합니다. 성공적으로 완료된 PUT 다음에 오는 GET은 새로 작성된 데이터를 읽을 수 있습니다. 기존 개체의 덮어쓰기, 메타데이터 업데이트 및 삭제는 결국 일관성을 유지합니다. 덮어쓰기는 전파되는 데 일반적으로 몇 초 또는 몇 분이 걸리지만 최대 15일이 걸릴 수도 있습니다.

다른 일관성에서 개체 작업을 수행하려면 다음을 수행할 수 있습니다.

  • 일관성을 지정하세요각 버킷 .

  • 일관성을 지정하세요각 API 작업 .

  • 다음 작업 중 하나를 수행하여 기본 그리드 전체 일관성을 변경합니다.

    • 그리드 관리자에서 구성 > 시스템 > 저장소 설정 > *기본 일관성*으로 이동합니다.

    • .

      참고 그리드 전체 일관성에 대한 변경 사항은 설정이 변경된 후에 생성된 버킷에만 적용됩니다. 변경 사항의 세부 사항을 확인하려면 다음 위치에 있는 감사 로그를 참조하세요. /var/local/log (*consistencyLevel*을 검색하세요).

일관성 값

일관성은 StorageGRID 객체를 추적하는 데 사용하는 메타데이터가 노드 간에 분산되는 방식에 영향을 미치므로 클라이언트 요청에 대한 객체의 가용성에도 영향을 미칩니다.

버킷이나 API 작업에 대한 일관성을 다음 값 중 하나로 설정할 수 있습니다.

  • 모두: 모든 노드가 즉시 데이터를 수신합니다. 수신하지 못하면 요청이 실패합니다.

  • 강력한 글로벌: 모든 사이트의 모든 클라이언트 요청에 대해 읽기-쓰기 일관성을 보장합니다.

  • 강력한 사이트: 사이트 내 모든 클라이언트 요청에 대해 읽기-쓰기 일관성을 보장합니다.

  • 새로 쓰기 후 읽기: (기본값) 새 개체에 대한 읽기 후 쓰기 일관성과 개체 업데이트에 대한 최종 일관성을 제공합니다. 높은 가용성과 데이터 보호를 보장합니다. 대부분의 경우에 권장됩니다.

  • 사용 가능: 새 개체와 개체 업데이트 모두에 대해 최종 일관성을 제공합니다. S3 버킷의 경우 필요한 경우에만 사용합니다(예: 거의 읽히지 않는 로그 값이 포함된 버킷이나 존재하지 않는 키에 대한 HEAD 또는 GET 작업). S3 FabricPool 버킷에서는 지원되지 않습니다.

"새로 쓰기 후 읽기" 및 "사용 가능" 일관성을 사용하세요.

HEAD 또는 GET 작업에서 "새로 쓰기 후 읽기" 일관성을 사용하는 경우 StorageGRID 다음과 같이 여러 단계로 조회를 수행합니다.

  • 먼저 낮은 일관성을 사용하여 객체를 찾습니다.

  • 해당 조회가 실패하면 strong-global에 대한 동작과 동일한 일관성에 도달할 때까지 다음 일관성 값에서 조회를 반복합니다.

HEAD 또는 GET 작업이 "새로 쓰기 후 읽기" 일관성을 사용하지만 개체가 존재하지 않는 경우 개체 조회는 항상 strong-global에 대한 동작과 동일한 일관성에 도달합니다. 이러한 일관성을 유지하려면 각 사이트에서 개체 메타데이터의 여러 사본을 사용할 수 있어야 하므로 동일한 사이트에서 두 개 이상의 스토리지 노드를 사용할 수 없는 경우 500개의 내부 서버 오류가 많이 발생할 수 있습니다.

Amazon S3와 유사한 일관성 보장이 필요하지 않은 경우 일관성을 "사용 가능"으로 설정하면 HEAD 및 GET 작업에 대한 이러한 오류를 방지할 수 있습니다. HEAD 또는 GET 작업이 "사용 가능" 일관성을 사용하는 경우 StorageGRID 이벤트적 일관성만 제공합니다. 일관성을 높이기 위해 실패한 작업을 다시 시도하지 않으므로 개체 메타데이터의 여러 사본을 사용할 필요가 없습니다.

API 작업에 대한 일관성을 지정합니다.

개별 API 작업에 대한 일관성을 설정하려면 해당 작업에 대해 일관성 값이 지원되어야 하며 요청 헤더에서 일관성을 지정해야 합니다. 이 예제에서는 GetObject 작업에 대한 일관성을 "Strong-site"로 설정합니다.

GET /bucket/object HTTP/1.1
Date: date
Authorization: authorization name
Host: host
Consistency-Control: strong-site
참고 PutObject 작업과 GetObject 작업 모두에 동일한 일관성을 사용해야 합니다.

버킷의 일관성을 지정합니다.

버킷의 일관성을 설정하려면 StorageGRID 사용할 수 있습니다."PUT 버킷 일관성" 요구. 아니면 할 수 있습니다"버킷의 일관성을 변경하다" 세입자 관리자로부터.

버킷의 일관성을 설정할 때 다음 사항을 유의하세요.

  • 버킷의 일관성을 설정하면 버킷에 있는 객체나 버킷 구성에서 수행되는 S3 작업에 어떤 일관성이 사용되는지 결정됩니다. 버킷 자체의 작업에는 영향을 미치지 않습니다.

  • 개별 API 작업의 일관성은 버킷의 일관성보다 우선합니다.

  • 일반적으로 버킷은 기본 일관성인 "새로 쓰기 후 읽기"를 사용해야 합니다. 요청이 제대로 작동하지 않는 경우 가능하다면 애플리케이션 클라이언트 동작을 변경하세요. 또는 각 API 요청에 대한 일관성을 지정하도록 클라이언트를 구성합니다. 버킷 수준에서 일관성을 설정하는 것은 마지막 수단으로만 사용하세요.

일관성과 ILM 규칙이 상호 작용하여 데이터 보호에 영향을 미치는 방식

일관성 선택과 ILM 규칙은 모두 객체가 보호되는 방식에 영향을 미칩니다. 이러한 설정은 상호 작용할 수 있습니다.

예를 들어, 객체를 저장할 때 사용되는 일관성은 객체 메타데이터의 초기 배치에 영향을 미치는 반면, ILM 규칙에 대해 선택된 수집 동작은 객체 사본의 초기 배치에 영향을 미칩니다. StorageGRID 클라이언트 요청을 충족하기 위해 객체의 메타데이터와 데이터에 모두 액세스해야 하므로 일관성과 수집 동작에 맞는 보호 수준을 선택하면 더 나은 초기 데이터 보호와 더 예측 가능한 시스템 응답을 제공할 수 있습니다.

다음"수집 옵션" ILM 규칙에 사용 가능:

이중 커밋

StorageGRID 즉시 객체의 임시 사본을 만들고 클라이언트에게 성공을 반환합니다. 가능한 경우 ILM 규칙에 명시된 사본이 만들어집니다.

엄격한

ILM 규칙에 명시된 모든 사본은 클라이언트에게 성공이 반환되기 전에 만들어져야 합니다.

균형 잡힌

StorageGRID 수집 시 ILM 규칙에 지정된 모든 사본을 만들려고 시도합니다. 이것이 불가능한 경우 중간 사본을 만들고 성공 메시지가 클라이언트에게 반환됩니다. 가능한 경우 ILM 규칙에 명시된 사본이 만들어집니다.

일관성 및 ILM 규칙이 상호 작용하는 방법의 예

다음 ILM 규칙과 일관성을 갖춘 2개 사이트 그리드가 있다고 가정해 보겠습니다.

  • ILM 규칙: 로컬 사이트와 원격 사이트에 각각 하나씩, 총 두 개의 개체 복사본을 만듭니다. 엄격한 수집 동작을 사용합니다.

  • 일관성: 강력한 글로벌(객체 메타데이터가 모든 사이트에 즉시 배포됨).

클라이언트가 그리드에 객체를 저장하면 StorageGRID 두 객체 사본을 모두 만들고 두 사이트에 메타데이터를 배포한 후 클라이언트에 성공을 반환합니다.

해당 객체는 성공적인 메시지 수집 시점에 손실로부터 완벽하게 보호됩니다. 예를 들어, 로컬 사이트가 수집 직후에 손실되더라도 개체 데이터와 개체 메타데이터의 사본은 모두 원격 사이트에 남아 있습니다. 해당 물건은 완전히 회수 가능합니다.

대신 동일한 ILM 규칙과 강력한 사이트 일관성을 사용하면 개체 데이터가 원격 사이트로 복제되지만 개체 메타데이터가 해당 사이트에 배포되기 전에 클라이언트가 성공 메시지를 받을 수 있습니다. 이 경우, 객체 메타데이터의 보호 수준이 객체 데이터의 보호 수준과 일치하지 않습니다. 수집 직후 로컬 사이트가 손실되면 개체 메타데이터도 손실됩니다. 해당 객체를 검색할 수 없습니다.

일관성과 ILM 규칙 간의 상호 관계는 복잡할 수 있습니다. 도움이 필요하면 NetApp ​​문의하세요.