LVM 볼륨에 구축된 수백 개의 가상 머신에 대한 백업 전략의 일환으로 다음을 고려하고 있습니다.
- 가상 머신을 종료합니다.
- MySQL 및 LDAP 데이터베이스를 포함하여 사용자 및 애플리케이션 데이터가 포함된 LVM 볼륨의 스냅샷을 찍습니다.
- 가상 머신을 시작합니다.
- LVM 볼륨을 백업합니다.
- 스냅샷을 삭제합니다.
내 목적은 데이터, 특히 데이터베이스의 일관성을 보장하는 것입니다. 사용량이 적은 시간에 이 작업을 수행한다고 가정하면 이것이 합리적인가요, 아니면 과도한가요? 서버가 다운된 동안 사용자가 서버에 액세스할 가능성을 고려해야 하지만 완벽한 데이터 일관성을 위해서는 그 비용을 기꺼이 감수할 수 있습니다.
LVM 스냅샷은 일반적으로 데이터 일관성을 보장하지 않습니다. 그렇죠? 예를 들어, LVM 스냅샷이 특정 시점에 파일 시스템을 동결시키더라도 그 당시 MySQL 데이터베이스가 트랜잭션 도중에 있었는지 알 수 있는 방법이 없습니다. 일부 데이터베이스(전부는 아님)는 데이터 일관성을 보장하기 위한 백업 도구를 제공하지만 이는 애플리케이션 수준 백업 전략이 필요하다는 것을 의미하며 이는 많은 작업처럼 들립니다.
밤에 사용되지 않는 웹 애플리케이션이 포함된 VM을 사용하는 위의 사용 사례에서는 몇 밀리초의 가동 중지 시간을 감당할 수 있지만 이상적으로는 이를 방지하고 싶습니다.