Table of Contents |
---|
Info |
---|
FSR 1.2 |
개요
스냅샷은 특정 시점의 스토리지의 파일 시스템을 사진 찍듯이 캡처해서 데이터를 백업하는 기술 입니다. 복제 운영 중 사고로 최신 데이터가 훼손되거나 말웨어 감염과 같은 보안이슈에 노출되어 데이터 무결성이 훼손될 경우 복제의 기능만으로는 대응할 수 없게 됩니다. 이런 경우를 대비해 백업을 미리 해 두는게 일반적인데 스냅샷은 전체 백업에 비해 백업을 하는 시점 부터 변경분에 대해서만 백업하여 디스크 공간을 효율적으로 사용할 수 있습니다.
...
또한 스냅샷은 각 노드의 디스크 볼륨에 이미지로 저장 되고 노드 내에서 제어하고 처리됩니다. 이것은 클러스터 노드 들 간의 스냅샷들이 상호 연동 되지는 않는 다는 뜻 입니다. 노드 별로 스냅샷을 운영하다가 복구가 필요하면 노드에 저장된 이미지로 개별 복구하면 됩니다.
구성
환경
스냅샷을 운영하기에 앞서 가장 먼저 고려해야 할 것은 스냅샷을 저장해 둘 볼륨을 지정하는 것 입니다. 복제 볼륨 내에 스냅샷을 보관해 둘 수 도 있고 외부의 다른 디스크 볼륨에 저장할 수도 있습니다. 이것은 볼륨에서 사용된 공간과 여유 공간을 보고 정해야 하는데, 여유 공간이 많지 않다면 외부의 볼륨에 지정하여 스냅샷을 저장하는 것이 좋습니다.
아래의 명령을 통해 지정합니다.
Info |
---|
fsradm snapshot-storage |
스냅샷을 저장해 둘 공간에 대한 용량 계산 문제가 있습니다. 일부 제품에서는 전체 볼륨의 수십% 의 여유 공간을 확보하는 것을 권장한다고 되어 있습니다. 그러나 이것은 스냅샷을 위한 최대용량을 말하는게 아니라 단지 권장용량을 의미하기 때문에 스냅샷 구성에 대한 사용자들의 오해를 불러 일으킵니다.
...
Info |
---|
|
스냅샷 유형
스냅샷을 운영하기 위해 스냅샷 유형의 지정이 필요합니다. 스냅샷은 기록하는 방식에 따라 복사, 전체, 차등, 증분 옵션이 있으며 구성파일의 snapshot 섹션의 type 항목에서 지정합니다.
...
그러나 복사 백업은 차등, 증분 백업의 기준점으로 제공할 수 없기 때문에 차등, 증분 백업을 고려하려면 전체백업으로 먼저 기록하고 난 후 차등, 증분백업을 해야 합니다. 이것은 응용 프로그램에서 지원하는 백업 유형에 따라 차이가 있으므로 응용 프로그램의 매뉴얼에 맞게 지정되어야 합니다.
사전/사후 처리
FSR 스냅샷은 응용 일관성(Application Consistency)을 보장하는 스냅샷을 지향합니다. 응용 프로그램이 일관성을 가진 스냅샷을 획득하기 위해선 다음의 절차가 수행되어야 합니다.
...
만약 위 절차대로 응용을 제어할 수 없다면 최소한 파일시스템 캐쉬를 Flush 해서 파일시스템 일관성(Filesystem Consistency)을 가진 스냅샷으로 기록해야 하며 이마저도 수행하지 않는다면 충돌 일관성(Crash Consistency) 수준의 스냅샷만을 확보하게 될 것 입니다.
제어
FSR의 스냅샷 기능은 복제 운영 중 복제 대상에 대한 백업을 수행하기 위한 부가 기능입니다. 즉 스냅샷을 복제 리소스 단위로 관리하고 제어하며 복제 리소스의 하위의 개념으로 운영합니다.
각 제어 명령들은 다음과 같습니다.
지원 환경 확인
먼저, 현재 환경이 스냅샷 기능을 지원하는지 확인합니다.
...
상태 출력 명령에서 위와 같이 리소스의 스냅샷 상태(snapshot
항목)가 unavailable
이 아니라면 사용 가능한 환경입니다.
생성과 삭제
복제 리소스를 구성하고 메타 초기화(meta-create), 기동(up)한 이후부터 스냅샷을 생성할 수 있습니다. 생성한 스냅샷은 FSR 의 메타 정보에 포함되어 관리되고 메타정보가 삭제되기 전 까지 FSR 리소스와 연관됩니다. 리소스가 삭제되었다고 스냅샷 이미지가 삭제되지는 않습니다. 명시적으로 스냅샷을 삭제하거나 메타를 초기화하면 리소스와 스냅샷의 연관이 끊어집니다.
...
Code Block |
---|
λ fsradm snapshot delete r2 test done |
조회
Code Block |
---|
λ fsradm snapshot list r2 r2:node1 count:1 snapshot-id:test created:2022-11-28T14:37:59+09:00 state:available |
...
Code Block |
---|
λ fsradm snapshot show r2 test created:2022-11-28T14:37:59+09:00 state:available directories: C:\r2 recursive:true images: index:0 guid:{09DFE010-BAE8-4581-BC9E-836A9F556ACA} mount-path:C:\ volume:\\?\Volume{d0c8016a-dc90-11ec-80b3-806e6f6e6963}\ shadow-volume:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8 created:2022-11-28T14:37:54+09:00 |
복구
복구
스냅샷 복구는 다음의 작업이 선행되어야 합니다.
...
복구 명령은 스냅샷 생성과 같이 비동기적으로 수행되므로 상태 조회를 통해 진행 상황을 확인해야 합니다.
내보내기
Code Block |
---|
λ fsradm snapshot export r2 test e:\test done |
위 명령을 실행하면 스냅샷의 내용을 지정된 경로로 복사합니다. 복제 대상 경로가 여러 개인 경우에는 대상 경로를 여러 개 지정하여 내보낼 수 있으며, 하나의 경로에 모든 복제 대상 경로를 내보낼 경우 --combine
옵션을 지정하고 대상 경로를 하나만 작성하면 됩니다.
연결
생성된 스냅샷을 지정 경로로 연결하여 직접 파일에 접근 할 수 있습니다. 단, 스냅샷에 이미지가 2개 이상일 수 있으므로 이미지의 인덱스(번호)를 입력해야 합니다. 이미지 목록은 스냅샷 조회 명령을 통해 확인 할 수 있습니다.
...
Code Block |
---|
λ fsradm snapshot list-exposed r2:node1 count:1 snapshot-id:test created:2022-11-28T14:37:59+09:00 state:available directories: C:\r2 recursive:true images: index:0 guid:{09DFE010-BAE8-4581-BC9E-836A9F556ACA} mount-path:C:\ volume:\\?\Volume{d0c8016a-dc90-11ec-80b3-806e6f6e6963}\ shadow-volume:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8 created:2022-11-28T14:37:54+09:00 expose-path:y:\ |
정리
스냅샷 이미지가 삭제되어 더 이상 유효하지 않게 된 스냅샷은 다음의 명령으로 일괄 삭제할 수 있습니다.
...
Code Block |
---|
λ fsradm snapshot cleanup r2 done |
리소스 메타 초기화와 삭제
스냅샷 목록은 리소스의 데이터베이스에 저장되며, 메타 데이터 삭제 시 해당 목록이 삭제됩니다. 스냅샷 목록을 유지하면서 메타 데이터만 초기화 하기 위해서는 메타 삭제가 아닌 초기화 명령을 사용해야 합니다.
Info |
---|
λ fsradm meta reset r2 ? Do you really want to reset the meta-data? (y/N) Y done |
스냅샷 스토리지 제어
VSS는 볼륨의 스냅샷을 해당 볼륨 또는 다른 볼륨의 여유 공간에 저장합니다. 이 저장 공간을 제어하기 위한 명령이며, 스냅샷 이미지와 같이 fsradm 자체적인 수행 옵션(-l
, --local
)을 제공합니다.
...
스토리지 삭제를 위해서는 해당 스토리지에 저장 된 스냅샷 이미지(VSS 섀도 복사본)를 모두 삭제해야 합니다.
스냅샷 원본 볼륨 보호 수준
스냅샷 스토리지를 원본과 다른 볼륨으로 지정 할 경우, 원본 볼륨에 문제가 발생하면 스냅샷 스토리지의 섀도 복사본이 제거됩니다. 이러한 문제를 방지하기 위해서는 원본 볼륨의 보호 수준을 변경해야 합니다.
...
섀도 복사본을 잃지 않기 위해서는 보호 수준을 snapshot
으로 지정해야 합니다(기본값은 IO 입니다).
문제 해결
Windows
지원하지 않는 백업 유형 오류
구성 파일에 지정한 백업 유형을 운영체제에 설치 된 VSS 작성자가 지원하지 않는 경우 생성 과정에서 오류가 발생 할 수 있습니다. 다음은 MS SQL의 VSS 작성자인 SqlServerWriter에서 증분 백업을 지원하지 않지만 FSR에서 증분 백업을 수행하도록 지정한 경우에 발생하는 오류입니다.
...
오류 내용에 출력 된 백업 유형 중 하나로 변경하고 스냅샷을 생성해야 합니다.
작성자 오류
스냅샷 생성 중 VSS 작성자에서 오류가 발생하면 FSR(VSS 요청자)에 자세한 내용이 전달되지 않습니다. 예를 들어, MS SQL의 VSS 작성자에서 오류가 발생하면 다음과 같은 오류가 출력 됩니다.
...