LVM スナップショットは、スナップショットが作成された時点からの LVM ボリュームからのすべてのデータを含む LVM パーティションの正確なミラー コピーです。 LVM スナップショットの主な利点は、スナップショットは通常数分の 1 秒で作成されるため、バックアップ中にサービス/アプリケーションがダウンする時間を短縮できることです。スナップショットが作成されたら、サービスとアプリケーションが正常に動作している間にスナップショットをバックアップできます。
LVM スナップショットは、Linux の LVM(Logical Volume Manager) が提供する機能です。 LVM スナップショットを作成する際によくある質問の 1 つは、スナップショットのサイズはどのくらいにするべきかということです。
「スナップショットのサイズは要件によって異なりますが、推奨される最小サイズは、スナップショットを作成する論理ボリュームの 30% ですが、論理ボリューム内のすべてのデータを変更する可能性があると思われる場合は、スナップショットのサイズを論理ボリュームと同じです。
シナリオ :LVM ベースのパーティションである /home のスナップショットを取得します。
# df -h /home/ Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_home 5.0G 139M 4.6G 3% /home
/dev/mapper/VolGroup-lv_home パーティションのスナップショットを取得しています
LVM スナップショットは、lvcreate コマンドを使用して作成されます。ボリューム グループに十分な空き容量が必要です。そうしないと、スナップショットを作成できません。正確な構文を以下に示します:
# lvcreate -s -n [Snapshot Name] -L [Size of snapshot] [lvm volume for which to take snapshot]
例:
# lvcreate -s -n home_snap -L1G /dev/mapper/VolGroup-lv_home Logical volume "home_snap" created
次に、lvdisplay コマンドを使用して、新しく作成された LVM 'home_snap' を確認します:
# lvdisplay /dev/mapper/VolGroup-lv_home
次に、マウント ポイント (ディレクトリ) を作成してマウントします。
# mkdir /mnt/home-backup # mount /dev/mapper/VolGroup-home_snap /mnt/home-backup/ # ls -l /mnt/home-backup/
上記のコマンドは、/home パーティションから既知のすべてのディレクトリとファイルを表示します。
/opt ディレクトリのスナップショットのバックアップを取ります
# tar zcpvf /opt/home-backup.tgz /mnt/home-backup/
ビットごとのバックアップが必要な場合は、次のコマンドを使用してください:
# dd if=/dev/mapper/VolGroup-home_snap of=/opt/bitwise-home-backup 10485760+0 records in 10485760+0 records out 5368709120 bytes (5.4 GB) copied, 79.5741 s, 67.5 MB/s
スナップショット バックアップの復元
/home ファイル システムに問題が発生した場合は、上記の手順で作成したバックアップを復元できます。 /home フォルダーに lvm スナップショットをマウントすることもできます。
LVM スナップショットを削除
lvm スナップショットのバックアップと復元アクティビティが完了したら、以下のコマンドを使用して lvm スナップショット パーティションをアンマウントおよび削除する必要があります。スナップショットは、それぞれのボリューム グループのディスク領域などのシステム リソースを消費するためです。
# umount /mnt/home-backup/ # lvremove /dev/mapper/VolGroup-home_snap Do you really want to remove active logical volume home_snap? [y/n]: y Logical volume "home_snap" successfully removed