미러된 볼륨

볼륨 미러링을 사용함으로써, 볼륨은 두 개의 물리적 사본을 보유할 수 있습니다. 각 볼륨 사본은 서로 다른 풀에 속할 수 있으며, 각 사본에는 볼륨과 동일한 가상 용량이 있습니다. 관리 GUI에서 별표(*)는 미러된 볼륨의 1차 사본을 표시합니다. 1차 사본은 읽기 요청의 선호 볼륨을 표시합니다.

서버가 미러된 볼륨에 기록할 때, 시스템은 데이터를 두 사본에 기록합니다. 서버가 미러된 볼륨을 읽는 경우, 시스템은 읽을 사본 중 하나를 선택합니다. 미러된 볼륨 사본 중 하나를 일시적으로 사용할 수 없는 경우(예를 들어, 풀을 제공하는 스토리지 시스템을 사용할 수 없어서) 서버는 계속해서 볼륨에 액세스할 수 있습니다. 시스템은 기록되는 볼륨의 영역을 기억하고 두 사본이 사용 가능한 경우 이러한 영역을 다시 동기화합니다.

하나 또는 두 개의 사본으로 볼륨을 작성할 수 있으며, 사본을 추가하여 미러되지 않은 볼륨을 미러된 볼륨으로 변환할 수 있습니다. 사본이 이 방식으로 추가되면 시스템은 새 사본이 기존 볼륨과 같아지도록 이를 동기화합니다. 이 동기화 프로세스 동안 서버는 볼륨에 액세스할 수 있습니다.

한 사본을 삭제하거나 한 사본을 분할시켜 새 미러되지 않은 볼륨을 작성하여 미러된 볼륨을 미러되지 않은 볼륨으로 변환할 수 있습니다.

볼륨 사본의 유형은 이미지, 스트라이프 또는 순차입니다. 볼륨 사본은 씬 프로비저닝 또는 압축을 사용하여 용량을 절감할 수 있습니다. 사본이 데이터 축소 풀에 있는 경우, 볼륨 사본에 중복 제거를 사용하여 용량 절감을 증가시킬 수도 있습니다. 새 볼륨을 작성하는 경우, 두 사본이 다른 유형일 수 있으나 중복 제거를 사용하려면 두 사본이 하나의 데이터 축소 풀에 상주해야 합니다. 데이터 축소 풀 내의 중복 제거된 볼륨 사본을 표준 풀 내의 사본이 있는 기존 볼륨에 추가할 수 있습니다. 이 방법으로 기존 볼륨 사본을 데이터 마이그레이션 풀로 마이그레이션할 수 있습니다.

다음 이유로 미러된 볼륨을 사용할 수 있습니다.
  • 단일 스토리지 시스템 장애로부터 볼륨을 보호함으로써 볼륨의 가용성을 개선합니다.
  • 기본적으로 동시 유지보수를 지원하지 않는 스토리지 시스템의 동시 유지보수를 제공합니다.
  • 더 나은 가용성 특성을 가진 데이터 마이그레이션 대체 메소드를 제공합니다. 데이터 마이그레이션 기능을 사용하여 볼륨을 마이그레이션하는 동안에는 소스 풀과 대상 풀 모두 장애에 취약합니다. 소스 풀의 미러링되지 않은 볼륨으로 시작할 수 있으므로 볼륨 미러링에서 대안을 제공한 다음 대상 풀에서 해당 볼륨에 사본을 추가합니다. 볼륨이 동기화되면, 소스 풀에 있는 기존 사본을 삭제할 수 있습니다. 동기화 프로세스 중에 대상 풀에 문제점이 있어도 볼륨을 계속해서 사용할 수 있습니다.
  • 완전히 할당된 볼륨을 씬 프로비저닝, 압축 또는 중복 제거 등의 데이터 축소 기술을 사용할 수 있도록 변환합니다.
  • 표준 풀의 압축된 볼륨 또는 씬 프로비전 볼륨을 데이터 축소 풀로 변환하여 용량 절감을 개선합니다.

볼륨 미러링을 사용할 때는 쿼럼 후보 디스크가 할당되는 방식을 고려하십시오. 볼륨 미러링은 쿼럼 디스크에서 일부 상태 데이터를 유지보수합니다. 쿼럼 디스크가 액세스 불가능하고 볼륨 미러링이 상태 정보를 업데이트할 수 없는 경우 데이터 무결성을 유지하기 위해 미러된 볼륨을 오프라인으로 만들어야 할 경우가 있습니다. 시스템의 고가용성을 보장하려면, 다른 스토리지 시스템에서 다중 쿼럼 후보 디스크가 할당되고 구성되어야 합니다.

볼륨 미러가 동기화되면, 미러된 사본은 오프라인이 되어 쓰기 I/O 요청을 처리할 필요가 있는 경우 또는 미러 빠른 장애 복구가 발생하는 경우 동기화 해제할 수 있습니다. 빠른 장애 복구 기능은 호스트 시스템과 잠시 느리게 수행되는 미러된 사본을 분리하며, 이는 중복성이 짧게 인터럽트되는 시스템에 영향을 줍니다.

참고: 용량이 전체 할당된 경우 볼륨 사본에 동기화하기 전에 1차 볼륨이 포맷됩니다. mkvdisk 명령의 -syncrate 매개변수는 포맷 및 동기화 속도를 제어합니다.

쓰기 고속 장애 복구

쓰기 고속 장애 복구를 사용하면 호스트 쓰기 I/O 처리 중에 시스템이 두 사본 모두에 대한 쓰기(제한시간 10초)를 제출합니다. 한 번 쓰기가 성공하고 다른 쓰기가 10초 이상 소요되면, 느린 요청이 시간을 초과하여 종료합니다. 저속 복사 I/O의 종료 시퀀스 기간은 미러 사본이 구성되는 백엔드에 따라 다릅니다. 예를 들어, 파이버 채널 네트워크에서 I/O가 발생하면, I/O 종료 시퀀스는 대개 10 - 20초 내에 완료됩니다. 그러나 드문 경우이지만 시퀀스를 완료하는 데 20초 이상이 소요될 수 있습니다. I/O 종료 시퀀스가 완료되면, 저속 복사가 이제 더 이상 동기화되지 않음을 기록하도록 볼륨 미러 구성이 업데이트됩니다. 구성 업데이트가 완료되면 호스트 시스템에서 쓰기 I/O를 완료할 수 있습니다.

4 - 6분 동안 저속 복사를 사용하여 볼륨 미러가 중지됩니다. 후속 I/O 요청은 나머지 동기화된 사본으로 충족됩니다. 이 기간 동안 동기화는 일시중단됩니다. 또한 볼륨의 동기화 진행은 100% 미만을 표시하고, 볼륨이 추가 호스트 쓰기를 수신하면 감소합니다. 복사가 일시중단되면, 볼륨 미러링 동기화가 재개되고 느린 복사가 동기화를 시작합니다.

동기화 중에 동기화되지 않은 사본에 대한 다른 I/O 요청이 제한시간을 초과하면 볼륨 미러링은 4 - 6분 동안 해당 사본의 사용을 다시 중지합니다. 복사가 항상 느린 경우, 볼륨 미러링은 4 - 6분마다 사본을 다시 동기화하고 다른 I/O의 제한시간은 초과합니다. 다른 4 - 6분 동안 복사가 사용되지 않고 점진적으로 비동기화됩니다. 볼륨의 더 많은 영역에 쓰기가 되면서 동기화 진행은 점차 감소합니다.

쓰기 고속 장애 복구가 정기적으로 수행되는 경우, 동기화되지 않는 미러된 복사에 대한 I/O 데이터를 처리하는 스토리지 시스템 내에 기본적인 성능 문제점이 발생할 수 있습니다. 스토리지 시스템 성능으로 인해 복사 하나의 속도가 느려지는 경우, 다른 볼륨의 다중 사본에 영향이 있습니다. 하나 이상의 스토리지 시스템과 연관된 스토리지 풀에서 사본을 구성할 수 있습니다. 이 상황은 오버로드 또는 기타 백엔드 성능 문제를 표시합니다.

mkvdisk 명령을 입력하여 볼륨을 새로 작성하는 경우 mirror_write_priority 매개변수가 기본적으로 latency로 설정됩니다. 고속 장애 복구가 사용됩니다. chvdisk 명령에서 mirror_write_priority 매개변수 값을 변경하여 고속 장애 복구를 제어할 수 있습니다. mirror_write_priorityredundancy로 설정된 경우 고속 장애 복구를 사용할 수 없습니다. 시스템은 미러된 모든 쓰기 I/O에 전체 SCSI 이니시에이터 계층의 오류 복구 프로시저(ERP)를 적용합니다. 하나의 복사가 느리면 ERP에 최대 5분이 걸릴 수 있습니다. 쓰기 조작이 계속 실패하면 복사가 오프라인이 됩니다. 중복성이나 고속 장애 복구 및 호스트 응답 시간(일시적으로 중복성이 유실됨)을 유지하는 것이 더 중요한지에 대해 주의깊게 고려하십시오.

주의: 쿼럼 디스크를 사용할 수 없는 경우 미러된 볼륨이 오프라인이 될 수 있습니다. 이 동작은 미러된 볼륨의 동기화 상태가 쿼럼 디스크에 기록되기 때문에 일어납니다. 미러된 볼륨이 오프라인이 되지 않도록 하려면 쿼럼 디스크 설정에 대한 가이드라인을 따르십시오.

읽기 고속 장애 복구

읽기 고속 장애 복구는 시스템이 읽기 I/O 요청을 처리하는 방법에 영향을 줍니다. 읽기 고속 장애 복구를 통해 시스템이 읽기 조작을 처음 시도하는 볼륨의 사본을 판별할 수 있습니다. 읽기를 위한 1차 사본 읽기 I/O를 처음 시도하는 사본입니다. 이는 사용자 관련 읽기 알고리즘으로 판별됩니다.

시스템은 호스트 읽기 I/O 요청을 한 번에 하나의 볼륨 사본에 제출합니다. 이 요청이 성공하면 시스템이 데이터를 리턴합니다. 실패하면 시스템이 다른 사본 볼륨에 대한 요청을 재시도합니다.

읽기 고속 장애 복구를 사용하는 경우 읽기 I/O에서 읽기를 위한 1차 사본이 느리면 시스템이 다른 사본으로 장애 복구합니다. 즉, 시스템은 다음 4 - 6분 동안 다른 사본에서 처음 읽기 I/O를 시도합니다. 그 다음에 시스템은 원래 읽기를 위한 1차 사본 읽기로 돌아갑니다. 이 시간 동안 다른 사본에 대한 읽기 I/O도 느려지면 시스템이 즉시 이전으로 돌아갑니다. 또한 읽기를 위한 1차 사본이 변경되면 시스템이 새 읽기를 위한 1차 사본을 시도하기 위해 되돌아갑니다. 시스템 토폴로지가 변경되거나 1차 또는 로컬 사본이 변경되는 경우에 이러한 상황이 발생할 수 있습니다. 예를 들어, 표준 토폴로지에서 시스템은 대개 1차 사본을 먼저 읽으려고 합니다. 읽기 고속 장애 복구 기간 동안 볼륨의 1차 사본을 변경하는 경우 시스템은 새로 설정된 1차 사본을 즉시 읽기 위해 되돌아갑니다.

읽기 고속 장애 복구 기능은 시스템에서 항상 사용할 수 있습니다. 이 프로세스 중에 시스템은 볼륨을 일시중단하지 않거나 사본을 동기화되지 않음 상태로 설정하지 않습니다.

스토리지 시스템 유지보수 동안 미러된 볼륨의 데이터 무결성 유지보수

볼륨 미러링은 백엔드 스토리지 시스템 중 하나에 실패했을 경우에도 호스트가 볼륨에 대한 I/O가 계속 가능하도록 허용하여 데이터 가용성을 향상시킵니다. 하지만 이 미러링은 데이터 무결성에 영향을 주지 않습니다. 백엔드 스토리지 시스템 중 어느 하나에서 데이터가 손상되면, 호스트가 다른 볼륨에서와 같은 방식으로 손상된 데이터를 읽을 위험이 있습니다. 그러므로 한 사본의 데이터 무결성에 영향을 줄 수 있는 스토리지 시스템에서 유지보수를 수행하기 전에 볼륨 사본이 둘 다 동기화되었는지 확인하는 것이 중요합니다. 그런 다음 유지보수를 시작하기 전에 볼륨 사본을 제거하십시오. 예를 들어, 스토리지 시스템이 제공하는 디스크의 데이터를 0 처리해야 하는 경우 이 시나리오가 적용됩니다.