Azure Files에서 공유 스냅샷 사용
Azure Files는 SMB 및 NFS 파일 공유의 스냅샷을 생성할 수 있는 기능을 제공합니다. 공유 스냅샷은 특정 시점의 공유 상태를 캡처합니다. 이 문서에서는 파일 공유 스냅샷이 제공하는 기능과 이를 사용하여 이전 버전의 파일을 복구하는 방법을 설명합니다.
Important
공유 스냅샷은 파일 수준 보호만 제공합니다. 파일 공유 또는 스토리지 계정에서 키보드 입력 실수로 인한 삭제를 방지하지 않습니다. 실수로 삭제되지 않도록 스토리지 계정을 보호하기 위해 일시 삭제를 사용하도록 설정하거나 스토리지 계정 및/또는 리소스 그룹을 잠글 수 있습니다.
적용 대상
파일 공유 유형 | SMB | NFS |
---|---|---|
표준 파일 공유(GPv2), LRS/ZRS | ||
표준 파일 공유(GPv2), GRS/GZRS | ||
프리미엄 파일 공유(FileStorage), LRS/ZRS |
공유 스냅샷을 사용하는 경우
애플리케이션 오류 및 데이터 손상으로부터 보호
파일 공유를 사용하는 애플리케이션은 쓰기, 읽기, 스토리지, 전송 및 처리 등의 작업을 수행합니다. 애플리케이션이 잘못 구성되거나 의도하지 않은 버그가 발생하여 일부 블록을 실수로 덮어쓰거나 손상시킬 수 있습니다. 이러한 시나리오를 방지하기 위해 새 애플리케이션 코드를 배포하기 전에 공유 스냅샷을 생성할 수 있습니다. 새 배포에서 버그 또는 애플리케이션 오류가 발생하면 해당 파일 공유에 있는 이전 버전의 데이터로 돌아갈 수 있습니다.
실수로 삭제 또는 의도하지 않은 변경 방지
파일 공유의 텍스트 파일을 작업하고 있다고 가정하겠습니다. 텍스트 파일을 닫은 후에는 변경 내용을 취소할 수 없게 됩니다. 이런 경우에는 파일의 이전 버전을 복구해야 합니다. 실수로 파일 이름을 변경하거나 파일을 삭제한 경우 공유 스냅샷을 사용하여 파일의 이전 버전을 복구할 수 있습니다.
일반 백업 목적
파일 공유를 만든 후에는 파일 공유의 공유 스냅샷을 주기적으로 만들어 데이터 백업에 사용할 수 있습니다. 공유 스냅샷을 주기적으로 만들면 나중에 감사 요구 사항이나 재해 복구에 사용할 수 있는 데이터의 이전 버전을 유지 관리하는 데 도움이 됩니다. 스냅샷을 만들고 관리하기 위해 Azure 파일 공유 백업을 사용하는 것이 좋습니다. Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 스냅샷을 직접 만들고 관리할 수도 있습니다.
기능
공유 스냅샷은 데이터의 특정 시점 읽기 전용 복사본입니다. 공유 스냅샷 기능은 파일 공유 수준에서 제공됩니다. 개별 파일 복원을 위해 개발 파일 수준에서 검색이 제공됩니다. 공유 스냅샷은 생성된 Azure 파일 공유와 동일한 중복성을 갖습니다. 계정에 대해 지역 중복 스토리지를 선택한 경우 공유 스냅샷이 페어링된 지역에도 중복해서 저장됩니다.
SMB, NFS, REST API, Azure Portal, 클라이언트 라이브러리 또는 PowerShell/CLI를 사용하여 전체 파일 공유를 복원할 수 있습니다. REST API, SMB 또는 NFS를 사용하여 공유의 스냅샷을 볼 수 있습니다. 디렉터리 또는 파일의 버전 목록을 검색할 수 있으며 특정 버전을 드라이브로 직접 탑재할 수도 있습니다(Windows에서만 사용 가능 - 한도 참조).
공유 스냅샷이 생성된 후에는 읽거나 복사하거나 삭제할 수 있지만 수정할 수는 없습니다. 전체 공유 스냅샷을 다른 스토리지 계정으로 복사할 수는 없습니다. AzCopy 또는 다른 복사 메커니즘을 사용하여 파일별로 작업을 수행해야 합니다.
파일 공유의 공유 스냅샷은 기본 파일 공유와 동일합니다. 유일한 차이는 공유 스냅샷을 생성한 시간을 나타내기 위해 DateTime 값이 공유 URI에 추가되는 것입니다. 예를 들어 파일 공유 URI가 https://storagesample.file.core.windows.net/myshare이면 공유 스냅샷 URI는 다음과 유사합니다.
https://storagesample.file.core.windows.net/myshare?sharesnapshot=2024-12-09T17:44:51.0000000Z
공유 스냅샷은 명시적으로 삭제되거나 파일 공유가 삭제될 때까지 유지됩니다. 파일 공유를 삭제하고 공유 스냅샷을 유지할 수 없습니다. 삭제 워크플로는 공유를 삭제할 때 스냅샷을 자동으로 삭제합니다. 기본 파일 공유와 연결된 스냅샷을 열거하여 현재 스냅샷을 추적할 수 있습니다.
파일 공유의 공유 스냅샷을 생성하면 공유의 시스템 속성에 있는 파일이 같은 값을 가진 공유 스냅샷에 복사됩니다. 만들 때 공유 스냅샷에 대한 별도의 메타데이터를 지정하지 않으면 기본 파일 및 파일 공유의 메타데이터도 공유 스냅샷에 복사됩니다.
공간 사용
공유 스냅샷은 기본적으로 증분합니다. 가장 최근의 공유 스냅샷 이후에 변경된 데이터만 저장됩니다. 이렇게 하면 공유 스냅샷을 만드는 데 필요한 시간이 최소화되고 변경된 콘텐츠에 대해서만 요금이 청구되므로 스토리지 비용이 절감됩니다. 개체 또는 속성 또는 메타데이터 업데이트 작업에 대한 쓰기 작업은 "변경한 콘텐츠"에 포함되어 공유 스냅샷에 저장됩니다.
공간을 절약하기 위해 변동이 가장 큰 기간의 공유 스냅샷을 삭제할 수 있습니다.
공유 스냅샷이 증분식으로 저장되더라도 공유를 복원하려면 가장 최근의 공유 스냅샷만 유지해야 합니다. 공유 스냅샷을 삭제하면 해당 공유 스냅샷에 고유한 데이터만 제거됩니다. 활성 스냅샷에는 (공유 스냅샷을 생성한 시점부터) 데이터를 찾아서 원래 위치 또는 다른 위치로 복원하는 데 필요한 모든 정보가 들어 있습니다. 항목 수준에서 복원 할 수 있습니다.
스냅샷은 최대 공유 크기 제한인 100TiB에 포함되지 않습니다. 총 공간 공유 스냅샷이 차지하는 양이나 특정 파일 공유의 공유 스냅샷이 사용할 수 있는 용량에는 제한이 없습니다. 다만 스토리지 계정 제한은 여전히 적용됩니다.
제한
Azure Files에서 허용하는 최대 공유 스냅샷 수는 공유당 200개입니다. 공유 스냅샷이 200개인 상태에서 새 공유 스냅샷을 만들려면 기존 공유 스냅샷을 삭제해야 합니다. 최대 10년 동안 스냅샷을 유지할 수 있습니다.
공유 스냅샷 만들기를 위한 동시 호출에는 제한이 없습니다.
NFS Azure 파일 공유 스냅샷에는 파일 관리 API(AzRmStorageShare
)만 지원됩니다. 파일 데이터 평면 API(AzStorageShare
)는 지원되지 않습니다.
공유 스냅샷에서 공유로 데이터 다시 복사
파일 및 공유 스냅샷과 관련된 복사 작업에는 다음 규칙이 적용됩니다.
파일 공유 스냅샷의 개별 파일을 해당 기본 공유 또는 다른 위치에 덮어써서 복사할 수 있습니다. 공유 스냅샷에서 파일별로 복사하여 한 파일의 이전 버전을 복원하거나 전체 파일 공유를 복원할 수 있습니다. 공유 스냅샷은 기본 공유로 승격되지 않습니다.
공유 스냅샷은 복사 후 그대로 유지되지만 기본 파일 공유는 공유 스냅샷에 사용할 수 있는 데이터 복사본으로 덮어씁니다. 모든 복원된 파일은 "변경한 콘텐츠"에 포함됩니다.
공유 스냅샷의 파일을 다른 이름으로 다른 대상에 복사할 수 있습니다. 그 결과 생성되는 대상 파일은 공유 스냅샷이 아닌 쓰기 가능한 파일입니다. 이 경우 기본 파일 공유는 그대로 유지됩니다.
대상 파일을 복사본으로 덮어쓸 때 원래 대상 파일과 연결된 공유 스냅샷은 그대로 유지됩니다.
일반적인 모범 사례
가능하면 데이터 복구를 위한 백업을 자동화합니다. 자동화된 작업은 수동 프로세스보다 더 안정적이므로 데이터 보호 및 복구 기능을 개선하는 데 도움이 됩니다. 자동화를 위해 Azure 파일 공유 백업(SMB 파일 공유만 해당), REST API, 클라이언트 SDK 또는 스크립팅을 사용할 수 있습니다.
공유 스냅샷 스케줄러를 배포하기 전에 불필요한 요금이 발생하지 않도록 공유 스냅샷 빈도 및 보존 설정을 신중히 고려하십시오.
SMB 파일 공유 스냅샷
SMB Azure 파일 공유를 사용하는 고객은 공유 스냅샷에서 생성, 나열, 삭제 및 복원할 수 있습니다.
SMB 파일 공유 스냅샷 만들기
Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 SMB Azure 파일 공유의 스냅샷을 만들 수 있습니다.
기존 파일 공유의 스냅샷을 만들려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
포털에서 파일 공유로 이동합니다.
스냅샷을 선택한 다음 + 스냅샷 추가를 선택한 다음 확인합니다.
SMB 파일 공유 스냅샷 나열
Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 파일 공유의 모든 스냅샷을 나열할 수 있습니다.
기존 파일 공유의 모든 스냅샷을 나열하려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
포털에서 파일 공유로 이동합니다.
파일 공유에서 스냅샷을 선택합니다.
스냅샷 탭의 목록에서 스냅샷을 선택합니다.
해당 스냅샷을 열어 포함된 파일을 찾습니다.
SMB 파일 공유 스냅샷에서 복원
스냅샷에서 파일을 복원하려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
포털에서 파일 공유로 이동합니다.
파일 공유에서 스냅샷을 선택합니다.
파일 공유 스냅샷 탭에서 복원할 파일을 마우스 오른쪽 단추로 클릭하고 복원 단추를 선택합니다.
원본 파일 덮어쓰기를 선택한 다음 확인을 선택합니다.
이제 수정되지 않은 버전의 파일을 복원해야 합니다.
SMB 파일 공유 스냅샷 삭제
기존 공유 스냅샷은 덮어쓰여지지 않습니다. 명시적으로 삭제해야 합니다. Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 공유 스냅샷을 삭제할 수 있습니다.
공유 스냅샷을 삭제하려면 스토리지 계정에 대한 잠금을 제거해야 합니다. 스토리지 계정으로 이동하고 설정>잠금을 선택합니다. 잠금이 나열되면 삭제합니다.
기존 파일 공유의 스냅샷을 삭제하려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
Azure Portal의 맨 위에 있는 검색 상자에 ‘스토리지 계정’을 입력하고 선택합니다.
스냅샷을 삭제할 파일 공유가 포함된 스토리지 계정을 선택합니다.
데이터 스토리지>파일 공유를 차례로 선택합니다.
하나 이상의 스냅샷을 삭제할 파일 공유를 선택한 다음, 작업>스냅샷을 선택합니다. 해당 파일 공유의 기존 스냅샷이 모두 나열됩니다.
삭제할 스냅샷을 선택한 다음 삭제를 선택합니다.
Windows에서 SMB 파일 공유 스냅샷 사용
온-프레미스 VSS(볼륨 섀도 복사본) 스냅샷과 마찬가지로 Windows의 이전 버전 탭을 사용하여 탑재된 Azure 파일 공유의 스냅샷을 볼 수 있습니다.
파일 탐색기에서 탑재된 공유를 찾습니다.
복원해야 하는 항목 또는 부모 항목을 찾습니다. 마우스 오른쪽 단추로 클릭하고 메뉴에서 속성을 선택합니다.
이전 버전을 선택하여 이 디렉터리에 대한 공유 스냅샷의 목록을 봅니다.
열기를 선택하여 스냅샷을 엽니다.
복원을 선택합니다. 그러면 공유 스냅샷을 만들 때 전체 디렉터리의 콘텐츠가 원래 위치에 재귀적으로 복사됩니다.
참고 항목
파일이 변경되지 않은 경우 해당 파일이 스냅샷과 동일한 버전이므로 해당 파일의 이전 버전이 표시되지 않습니다. 이는 Windows 파일 서버에서 작동하는 방식과 일치합니다.
Linux에서 SMB 파일 공유 스냅샷 탑재
Linux에서 SMB Azure 파일 공유의 특정 스냅샷을 탑재하려는 경우 명령의 mount
일부로 옵션을 제공해야 snapshot
합니다. 여기서 snapshot
특정 스냅샷이 다음과 같은 @GMT-2023.01.05-00.08.20형식으로 만들어진 시간입니다. snapshot
옵션은 버전 4.19 이후 Linux 커널에서 지원되었습니다.
파일 공유 스냅샷을 만든 후 다음 지침에 따라 탑재합니다.
Azure Portal에서 스냅샷 탑재하려는 파일 공유가 포함된 스토리지 계정으로 이동합니다.
데이터 스토리지 > 파일 공유를 선택하고 파일 공유를 선택합니다.
작업 >스냅샷을 선택하고 탑재하려는 스냅샷 이름을 기록해 둡니다. 스냅샷 이름은 아래 스크린샷에서와 같이 GMT 타임스탬프가 됩니다.
타임스탬프를
mount
명령에 필요한 형식으로 변환합니다. 이 형식은 @GMT-year.month.day-hour.minutes.seconds입니다. 이 예제에서는 2023-01-05T00:08:20.0000000Z를 @GMT-2023.01.05-00.08.20으로 변환합니다.GMT 시간으로
snapshot
값을 지정하여mount
명령을 실행합니다.<storage-account-name>
,<file-share-name>
및 GMT 타임스탬프를 해당 값으로 바꿉니다. .cred 파일에는 공유를 탑재하는 데 사용할 자격 증명이 포함되어 있습니다.sudo mount -t cifs //<storage-account-name>.file.core.windows.net/<file-share-name> /media/<file-share-name>/snapshot1 -o credentials=/etc/smbcredentials/snapshottestlinux.cred,snapshot=@GMT-2023.01.05-00.08.20
/media/<file-share-name>/snapshot1
경로에서 스냅샷을 찾을 수 있으면 탑재가 성공한 것입니다.
탑재가 실패하면 Azure Files 연결 및 액세스 문제 해결(SMB)을 참조하세요.
NFS 파일 공유 스냅샷
NFS Azure 파일 공유를 사용하는 고객은 공유 스냅샷에서 생성, 나열, 삭제 및 복원할 수 있습니다.
Important
스냅샷을 만들기 전에 파일 공유를 탑재해야 합니다. 새 NFS 파일 공유를 만들고 공유를 탑재하기 전에 스냅샷을 만드는 경우 공유에 대한 스냅샷을 나열하려고 하면 빈 목록이 반환됩니다. 첫 번째 탑재 전에 만든 스냅샷을 삭제하고 공유를 탑재한 후 스냅샷을 다시 만드는 것이 좋습니다.
NFS 스냅샷 제한 사항
NFS Azure 파일 공유 스냅샷에는 파일 관리 API(AzRmStorageShare
)만 지원됩니다. 파일 데이터 평면 API(AzStorageShare
)는 지원되지 않습니다.
Azure Backup은 현재 NFS 파일 공유에 대해 지원되지 않습니다.
AzCopy는 현재 NFS 파일 공유에 대해 지원되지 않습니다. NFS Azure 파일 공유에서 데이터를 복사하거나 스냅샷을 공유하려면 rsync 또는 fpsync와 같은 파일 시스템 복사 도구를 사용합니다.
NFS Azure 파일 공유 스냅샷은 모든 Azure 퍼블릭 클라우드 지역에서 사용할 수 있습니다.
NFS 파일 공유 스냅샷 만들기
Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 NFS Azure 파일 공유의 스냅샷을 만들 수 있습니다.
기존 파일 공유의 스냅샷을 만들려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
Azure Portal의 맨 위에 있는 검색 상자에 ‘스토리지 계정’을 입력하고 선택합니다.
스냅샷을 만들 NFS Azure 파일 공유가 포함된 FileStorage 스토리지 계정을 선택합니다.
데이터 스토리지>파일 공유를 차례로 선택합니다.
스냅샷을 만들 파일 공유를 선택한 다음, 작업>스냅샷을 선택합니다.
+ 스냅샷 추가를 선택합니다. 선택적 설명을 추가하고 확인을 선택합니다.
NFS 파일 공유 스냅샷 나열
Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 파일 공유의 모든 스냅샷을 나열할 수 있습니다.
기존 파일 공유의 모든 스냅샷을 나열하려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
Azure Portal의 맨 위에 있는 검색 상자에 ‘스토리지 계정’을 입력하고 선택합니다.
스냅샷을 나열하려는 NFS Azure 파일 공유가 포함된 스토리지 계정을 선택합니다.
데이터 스토리지>파일 공유를 차례로 선택합니다.
스냅샷을 나열할 파일 공유를 선택합니다.
작업>스냅샷을 선택하면 파일 공유의 기존 스냅샷이 나열됩니다.
NFS Azure 파일 공유 스냅샷에서 복원
NFS Azure 파일 공유 스냅샷을 Linux VM(NFS 클라이언트)에 탑재하고 파일을 복원하려면 다음 단계를 수행합니다.
콘솔에서 다음 명령을 실행합니다. 다른 권장 탑재 옵션은 탑재 옵션을 참조하세요. 복사 성능을 향상시키려면 nconnect로 스냅샷을 탑재하여 여러 TCP 채널을 사용합니다.
sudo mount -o vers=4,minorversion=1,proto=tcp,sec=sys $server:/nfs4account/share /media/nfs
사용 가능한 스냅샷을 볼 수 있도록 디렉터리를
/media/nfs/.snapshots
로 변경합니다..snapshots
디렉터리는 기본적으로 숨겨지지만 모든 디렉터리처럼 액세스하고 읽을 수 있습니다.cd /media/nfs/.snapshots
.snapshots
폴더의 내용을 나열합니다.ls
각 스냅샷에는 복구 지점 역할을 하는 자체 디렉터리가 있습니다. 파일을 복원하려는 스냅샷 디렉터리로 변경합니다.
cd <snapshot-name>
디렉터리의 내용을 나열하여 복구할 수 있는 파일 및 디렉터리 목록을 봅니다.
ls
스냅샷의 모든 파일 및 디렉터리를 ‘복원’ 디렉터리로 복사하여 복원을 완료합니다.
cp -r <snapshot-name> ../restore
이제 스냅샷의 파일 및 디렉터리를 /media/nfs/restore
디렉터리에서 사용할 수 있습니다.
NFS 파일 공유 스냅샷 삭제
기존 공유 스냅샷은 덮어쓰여지지 않습니다. 명시적으로 삭제해야 합니다. Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 공유 스냅샷을 삭제할 수 있습니다.
공유 스냅샷을 삭제하려면 스토리지 계정에 대한 잠금을 제거해야 합니다. 스토리지 계정으로 이동하고 설정>잠금을 선택합니다. 잠금이 나열되면 삭제합니다.
기존 파일 공유의 스냅샷을 삭제하려면 Azure Portal에 로그인하고 다음 단계를 수행합니다.
Azure Portal의 맨 위에 있는 검색 상자에 ‘스토리지 계정’을 입력하고 선택합니다.
스냅샷을 삭제하려는 NFS Azure 파일 공유가 포함된 FileStorage 스토리지 계정을 선택합니다.
데이터 스토리지>파일 공유를 차례로 선택합니다.
하나 이상의 스냅샷을 삭제할 파일 공유를 선택한 다음, 작업>스냅샷을 선택합니다. 해당 파일 공유의 기존 스냅샷이 모두 나열됩니다.
삭제할 스냅샷을 선택한 다음 삭제를 선택합니다.
참고 항목
- 다음에서 공유 스냅샷으로 작업: