영구 디스크 스냅샷 권장사항

언제든지 영구 디스크 스냅샷을 만들 수 있지만, 다음 권장사항을 이용하면 더 빠르고 안정적으로 스냅샷을 만들 수 있습니다.

시작하기 전에

최고의 스냅샷 일관성을 위한 영구 디스크 준비

대부분의 경우에는 애플리케이션이 영구 디스크에 데이터를 쓰고 있는 도중에도 영구 디스크에서 스냅샷을 만들 수 있고 스냅샷의 우수한 일관성을 기대할 수 있습니다. 스냅샷의 품질은 쓰기 작업 부하가 클 때 사용자가 만든 스냅샷으로 복구하는 애플리케이션의 성능에 따라 달라집니다.

애플리케이션에 엄격한 일관성이 필요하다면, 스냅샷이 영구 디스크의 원하는 상태와 일치하도록 추가 절차를 수행할 수 있습니다.

스냅샷 전 디스크 버퍼 플러시

애플리케이션이 영구 디스크에 데이터를 쓰고 있는 동안에도 해당 디스크의 스냅샷을 만들 수 있습니다. 그러나 스냅샷을 만들기 전에 디스크 버퍼를 삭제하고 파일 시스템을 동기화하면 스냅샷의 일관성을 개선할 수 있습니다.

영구 디스크에 데이터를 쓰는 애플리케이션 또는 운영체제 프로세스를 일시중지합니다. 그런 다음 스냅샷을 만들기 전에 디스크 버퍼를 삭제합니다.

스냅샷을 생성하기 전에 영구 디스크를 준비하려면 다음 안내를 따르세요.

  1. SSH를 사용하여 인스턴스에 연결합니다.
  2. 디스크에 애플리케이션 플러시를 실행합니다. 예를 들어 MySQL에는 FLUSH 문이 있습니다. 애플리케이션에 사용할 수 있는 도구라면 무엇이든 사용하세요.
  3. 애플리케이션에서 영구 디스크에 쓰지 못하도록 합니다.
  4. sudo sync를 실행합니다.

이 단계를 건너뛸 경우, 애플리케이션이 성공적으로 디스크에 플러시한 데이터만 스냅샷에 포함됩니다. 애플리케이션은 전원 공급이 갑자기 중단된 경우처럼 이러한 시나리오를 경험합니다.

파일 시스템 고정 및 마운트 해제

또 다른 방법은 스냅샷을 생성하기 전에 파일 시스템을 고정하거나 마운트를 해제하는 것입니다. 이 방법은 디스크 버퍼를 삭제하는 가장 믿을 수 있는 방법이지만, 디스크 버퍼를 단순히 삭제하는 것처럼 간편하지 않으며 시간이 오래 걸립니다.

스냅샷을 만드는 동안 영구 디스크에 데이터가 기록되지 않도록 영구 디스크의 마운트를 완전히 해제합니다. 보통은 이 작업이 필요하지 않지만 이렇게 하면 스냅샷의 일관성이 개선됩니다.

  1. SSH를 사용하여 인스턴스에 연결합니다.
  2. 영구 디스크에서 데이터를 읽거나 쓰고 있는 모든 애플리케이션을 중지합니다.
  3. 파일 시스템을 고정하거나 마운트를 해제합니다.

    1. 고정: sudo fsfreeze -f [example-disk_location]
    2. 마운트 해제: sudo umount [example-disk_location]

    스냅샷을 완성한 후에 파일 시스템의 고정을 취소하거나 파일 시스템을 마운트할 수 있습니다.

    1. 고정 취소: sudo fsfreeze -u [example-disk_location]
    2. 마운트: sudo mount [example-disk_location mount_location]

Linux 사용자

디스크가 Linux 인스턴스에 연결되어 있으면, 인스턴스를 연결하고 마운트 해제 도구를 이용해 인스턴스를 디스크에서 마운트 해제하세요.

`sudo umount /dev/disk/by-id/google-[DISK_NAME]`

여기서 [DISK_NAME]은 영구 디스크의 이름입니다.

Windows 사용자

디스크가 인스턴스에 연결되어 있으면, 인스턴스를 연결하고 디스크 관리 도구를 이용해 인스턴스를 디스크에서 마운트 해제하세요.

영구 디스크 다시 마운트

스냅샷을 만든 후에는 영구 디스크를 다시 마운트해야 합니다. 자세한 내용은 영구 디스크 포맷 및 마운트를 참조하세요.

애플리케이션이 여러 영구 디스크 간의 일관성을 요구할 경우, 각 디스크의 모든 파일 시스템을 고정하거나 마운트를 해제하고 해당 디스크의 모든 스냅샷을 완성한 후에 애플리케이션을 다시 시작해야 합니다. Compute Engine은 여러 영구 디스크에서 실행되는 동시 스냅샷의 일관성을 보장하지 않습니다.

ext4와 같은 저널링 파일 시스템을 사용하여 데이터가 영구 디스크에 실제로 기록되지 않고 캐시될 위험을 낮춥니다.

Windows Server 인스턴스를 사용하는 영구 디스크

Windows Server 인스턴스에 연결된 영구 디스크의 경우, 데이터 무결성을 보존하는 데 도움이 되도록 VSS 스냅샷을 사용합니다.

기존 스냅샷을 후속 스냅샷의 기준으로 사용

영구 디스크에 기존 스냅샷이 있는 경우, 동일한 디스크에서 후속 스냅샷을 만들 때 자동으로 기존 스냅샷이 기준으로 사용됩니다.

  • 영구 디스크에서 이전 스냅샷을 삭제하기 전에 동일한 영구 디스크에서 새 스냅샷을 만듭니다. 시스템은 이전 스냅샷을 사용할 수 있는 경우 새 스냅샷을 더 빨리 만들 수 있으며, 영구 디스크에서 새 데이터나 변경된 데이터만 읽습니다.

  • 새 스냅샷이 완성될 때까지 기다린 후에 동일한 영구 디스크에서 후속 스냅샷을 생성하세요. 동일한 영구 디스크에서 스냅샷 2개를 동시에 실행할 경우, 둘 다 동일한 기준에서 시작되므로 같은 작업이 반복됩니다. 새 스냅샷이 완성될 때까지 기다릴 경우, 후속 스냅샷은 마지막 스냅샷이 완성된 이후로 변경된 데이터만 가져오면 되기 때문에 더 빨리 실행됩니다

사용량이 많지 않은 시간 중 스냅샷 예약

영구 디스크의 정기적인 스냅샷을 예약할 경우, 가능하다면 사용량이 많지 않은 시간 중에 스냅샷을 생성하여 각 스냅샷이 완료되는 데 소요되는 시간을 줄일 수 있습니다.

  • 영구 디스크가 위치하는 영역의 영업일에 자동 스냅샷을 예약합니다. 일반적으로 영업 종료 시간에 스냅샷 생성 빈도가 가장 높습니다.
  • 영구 디스크가 위치한 영역에서 한밤중보다는 아침 일찍 자동 스냅샷을 예약합니다. 일반적으로 한밤중에 스냅샷 생성 빈도가 높습니다.

별도의 영구 디스크에 데이터 정리

영구 디스크의 스냅샷을 만들 경우, 디스크에 저장하는 모든 데이터가 스냅샷에 포함됩니다. 데이터의 양이 많을수록 스냅샷이 더 많이 생성되고 비용이 더 많이 들며 만드는 데 시간이 더 오래 걸립니다. 필요한 데이터만 스냅샷으로 만들려면 별도의 영구 디스크에 데이터를 정리하세요.

  • 중요 데이터는 부팅 디스크가 아니라 보조 영구 디스크에 저장합니다. 그러면 꼭 필요할 때나 아주 가끔씩만 부팅 디스크의 스냅샷을 생성할 수 있습니다.
  • 부팅 디스크의 스냅샷을 만들 경우 스왑 파티션, 페이지 파일, 캐시 파일, 중요하지 않은 로그를 별도의 영구 디스크에 저장합니다. 이러한 파일과 파티션은 자주 변경되므로 스냅샷 프로세스가 이러한 파일과 파티션을 증분 스냅샷에 포함시켜야 하는 변경 데이터로 식별하기가 쉽습니다.
  • 유사한 데이터를 하나의 영구 디스크에 보관하여 만들어야 하는 스냅샷의 개수를 줄입니다. 운영체제와 휘발성 데이터를 스냅샷을 만들 데이터와 분리하고 싶을 때도, 물리적 머신에서처럼 중요 데이터를 여러 영구 디스크에 배포할 필요가 없습니다. 총 크기가 동일하다면 큰 영구 디스크 하나가 작은 영구 디스크 여러 개와 동일한 성능을 발휘할 수 있습니다.

discard 옵션을 사용 설정하거나 영구 디스크에서 fstrim 실행

Linux 인스턴스의 경우 영구 디스크를 discard 옵션으로 포맷하고 마운트하지 않았다면 스냅샷을 만들기 전에 인스턴스에서 fstrim 명령어를 실행합니다. 이 명령어를 사용하면 파일 시스템에 더 이상 필요 없는 블록이 삭제되어 스냅샷이 더 빨리, 더 작은 크기로 생성될 수 있습니다. 영구 디스크에서 discard 옵션을 구성하는 방법을 알아보려면 영구 디스크 포맷 및 마운트를 참조하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서