- メンテナンス・ガイド
- Oracle Linux KVMゲストの管理
- KVMホストとゲストのバックアップ
- スナップショット・ベースのバックアップを使用したKVMホストのバックアップ
6.10.1 スナップショット・ベースのバックアップを使用したKVMホストのバックアップ
この手順は、KVMホストのスナップショット・ベースのバックアップを作成する方法を示しています。
次のステップに示す値は例です。実際の状況に応じて、別の値に置き換えることが必要になる場合があります。
root
ユーザーとして、すべてのステップを実行する必要があります。
- バックアップの保存先を準備します。
バックアップ先は、書込み可能なNFSの場所など、ローカル・マシンの外部に存在するようにし、バックアップを保持できる十分な大きさにする必要があります。カスタマイズされていないパーティションの場合、バックアップを保持するのに必要な領域は約50GBです。
次のコマンドを使用すると、NFSを使用してバックアップ先を準備できます。
# mkdir -p /root/remote_FS # mount -t nfs -o rw,intr,soft,proto=tcp,nolock ip_address:/nfs_location/ /root/remote_FS
mount
コマンドで、ip_addressはNFSサーバーのIPアドレス、nfs_locationはバックアップを保持するNFSの場所です。 LVDoNotRemoveOrUse
論理ボリュームを削除します。論理ボリューム
/dev/VGExaDb/LVDoNotRemoveOrUse
は、スナップショットを作成できるだけの空き領域を常に確保するためのプレースホルダです。次のスクリプトを使用して
LVDoNotRemoveOrUse
論理ボリュームの有無をチェックし、存在する場合は削除します。lvm lvdisplay --ignorelockingfailure /dev/VGExaDb/LVDoNotRemoveOrUse if [ $? -eq 0 ]; then # LVDoNotRemoveOrUse logical volume exists. lvm lvremove -f /dev/VGExaDb/LVDoNotRemoveOrUse if [ $? -ne 0 ]; then echo "Unable to remove logical volume: LVDoNotRemoveOrUse. Do not proceed with backup." fi fi
LVDoNotRemoveOrUse
論理ボリュームが存在しない場合は、残りのステップには進まずに、その理由を特定します。- アクティブなシステム・ボリュームを特定します。
imageinfo
コマンドを使用して、アクティブなシステム・パーティションをホストしているデバイスを調べることができます。# imageinfo Kernel version: 4.14.35-1902.5.1.4.el7uek.x86_64 #2 SMP Wed Oct 9 19:29:16 PDT 2019 x86_64 Image kernel version: 4.14.35-1902.5.1.4.el7uek Image version: 19.3.1.0.0.191018 Image activated: 2019-11-04 19:18:32 -0800 Image status: success Node type: KVMHOST System partition on device: /dev/mapper/VGExaDb-LVDbSys1
imageinfo
の出力では、システム・パーティション・デバイスは、アクティブなルート(/
)ファイル・システムをサポートする論理ボリュームの名前で終わります。使用しているシステム・イメージに応じて、論理ボリューム名はLVDbSys1
またはLVDbSys2
です。同様に、/var
ファイル・システムの論理ボリュームは、LVDbVar1
またはLVDbVar2
です。また、
df -hT
コマンドを使用し、ルート(/
)および/var
ファイル・システムに関連付けられている出力を調べることで、アクティブなデバイスを確認することもできます。次に例を示します:# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 378G 0 378G 0% /dev tmpfs tmpfs 755G 1.0G 754G 1% /dev/shm tmpfs tmpfs 378G 4.8M 378G 1% /run tmpfs tmpfs 378G 0 378G 0% /sys/fs/cgroup /dev/mapper/VGExaDb-LVDbSys1 xfs 15G 7.7G 7.4G 52% / /dev/sda1 xfs 510M 112M 398M 22% /boot /dev/sda2 vfat 254M 8.5M 246M 4% /boot/efi /dev/mapper/VGExaDb-LVDbHome xfs 4.0G 33M 4.0G 1% /home /dev/mapper/VGExaDb-LVDbVar1 xfs 2.0G 139M 1.9G 7% /var /dev/mapper/VGExaDb-LVDbVarLog xfs 18G 403M 18G 3% /var/log /dev/mapper/VGExaDb-LVDbVarLogAudit xfs 1014M 143M 872M 15% /var/log/audit /dev/mapper/VGExaDb-LVDbTmp xfs 3.0G 148M 2.9G 5% /tmp /dev/mapper/VGExaDb-LVDbOra1 xfs 100G 32G 69G 32% /u01 tmpfs tmpfs 76G 0 76G 0% /run/user/0
この手順の残りの例では、前述の
imageinfo
およびdf
の出力と一致するLVDbSys1
とLVDbVar1
を使用します。ただし、アクティブなイメージでLVDbSys2
が使用されている場合は、この後のステップの例を変更して、LVDbSys1
のかわりにLVDbSys2
を使用し、LVDbVar1
のかわりにLVDbVar2
を使用してください。 - サーバー上の論理ボリュームのスナップショットを取得します。
前のステップで識別したアクティブなシステム・パーティションに応じて、必ず、
LVDbSys1
またはLVDbSys2
を使用してルート(/
)ファイル・システムの論理ボリュームを識別し、同様にLVDbVar1
またはLVDbVar2
を使用して/var
ファイル・システムの論理ボリュームを識別してください。# lvcreate -L1G -s -c 32K -n root_snap /dev/VGExaDb/LVDbSys1 # lvcreate -L1G -s -c 32K -n home_snap /dev/VGExaDb/LVDbHome # lvcreate -L1G -s -c 32K -n var_snap /dev/VGExaDb/LVDbVar1 # lvcreate -L1G -s -c 32K -n varlog_snap /dev/VGExaDb/LVDbVarLog # lvcreate -L1G -s -c 32K -n audit_snap /dev/VGExaDb/LVDbVarLogAudit # lvcreate -L1G -s -c 32K -n tmp_snap /dev/VGExaDb/LVDbTmp
- スナップショットにラベルを付けます。
# xfs_admin -L DBSYS_SNAP /dev/VGExaDb/root_snap # xfs_admin -L HOME_SNAP /dev/VGExaDb/home_snap # xfs_admin -L VAR_SNAP /dev/VGExaDb/var_snap # xfs_admin -L VARLOG_SNAP /dev/VGExaDb/varlog_snap # xfs_admin -L AUDIT_SNAP /dev/VGExaDb/audit_snap # xfs_admin -L TMP_SNAP /dev/VGExaDb/tmp_snap
- スナップショットをマウントします。すべてのスナップショットを共通のディレクトリの場所(
/root/mnt
など)の下にマウントします。# mkdir -p /root/mnt # mount -t xfs -o nouuid /dev/VGExaDb/root_snap /root/mnt # mkdir -p /root/mnt/home # mount -t xfs -o nouuid /dev/VGExaDb/home_snap /root/mnt/home # mkdir -p /root/mnt/var # mount -t xfs -o nouuid /dev/VGExaDb/var_snap /root/mnt/var # mkdir -p /root/mnt/var/log # mount -t xfs -o nouuid /dev/VGExaDb/varlog_snap /root/mnt/var/log # mkdir -p /root/mnt/var/log/audit # mount -t xfs -o nouuid /dev/VGExaDb/audit_snap /root/mnt/var/log/audit # mkdir -p /root/mnt/tmp # mount -t xfs -o nouuid /dev/VGExaDb/tmp_snap /root/mnt/tmp
- スナップショットをバックアップします。次のコマンドを使用して、準備したNFSバックアップ先にバックアップを圧縮アーカイブ・ファイルとして書き込みます。
# cd /root/mnt # tar --acls --xattrs --xattrs-include=* --format=pax -pjcvf /root/remote_FS/myKVMbackup.tar.bz2 * /boot > /tmp/backup_tar.stdout 2> /tmp/backup_tar.stderr
/tmp/backup_tar.stderr
ファイルをチェックして、重大なエラーがないかを確認します。オープン・ソケットのアーカイブの失敗に関するエラーおよび他の同様のエラーは無視できます。- すべてのスナップショットをアンマウントし、削除します。
# cd / # umount /root/mnt/tmp # umount /root/mnt/var/log/audit # umount /root/mnt/var/log # umount /root/mnt/var # umount /root/mnt/home # umount /root/mnt # lvremove /dev/VGExaDb/tmp_snap # lvremove /dev/VGExaDb/audit_snap # lvremove /dev/VGExaDb/varlog_snap # lvremove /dev/VGExaDb/var_snap # lvremove /dev/VGExaDb/home_snap # lvremove /dev/VGExaDb/root_snap
- NFSバックアップ先をアンマウントします。
# umount /root/remote_FS
- この手順中に作成したマウント・ポイント・ディレクトリを削除します。
# rm -r /root/mnt # rmdir /root/remote_FS
- 論理ボリューム
/dev/VGExaDb/LVDoNotRemoveOrUse
を再作成します。# lvm lvcreate -n LVDoNotRemoveOrUse -L2G VGExaDb -y
親トピック: KVMホストとゲストのバックアップ