コールドバックアップ・リストア
何ができるか
- Linux OS(ディスク)のコールドバックアップとリストア
想定環境
- /dev/vda
- OSディスク
- UEFI
- /dev/vdb
- バックアップ格納先
注意
- ディスクの操作は、必ずOS停止中に行うこと
手順
バックアップ用のディスクを用意とバックアップ
- OSインストールメディアから、ブートして、レスキューモードでシェルを起動する。
- 以下のコマンドを打鍵する。
- GPT形式でXFSファイルシステムを使って、パーティションを作成する。
- バックアップを作成する。
bkdir='/backup'
mkdir -p "${bkdir}"
bkdisk=/dev/vdb
# Disk初期化
shred -vz -n 0 ${bkdisk}
# パーティション作成
parted -s ${bkdisk} mklabel gpt
parted -s ${bkdisk} 'mkpart primary 1 -1'
mkfs.xfs ${bkdisk}1
# Diskマウント
mount ${bkdisk}1 ${bkdir}
# バックアップ
dd if=/dev/vda bs=16MB iflag=nocache oflag=nocache,dsync | pigz > ${bkdir}/vda_backup.image.gz
リストア
- OSインストールメディアから、ブートして、レスキューモードでシェルを起動する。
- 以下のコマンドを打鍵する。
- バックアップイメージをデバイスに書き込む。
bkdir='/backup'
mkdir -p "${bkdir}"
bkdisk=/dev/vdb
mount ${bkdisk}1 ${bkdir}
# リストア
gunzip -c ${bkdir}/vda_backup.image.gz | dd of=/dev/vda bs=16MB status=progress
その他
- 仮想環境(KVM)にて検証実施
- /dev/vdaに0書き込み後、リストアを実施して、OSが起動することを確認済み
- /dev/vdaを削除後別ディスクを追加し、リストアを実施して、OSが起動することを確認済み
古典。
Reference
「dd | gzip」 はそこまでだ!「dd | pigz」にするだけで20倍速くなった件 #Linux - Qiita
◀︎ XFSのバックアップリストア | systemd timerによる定期実行 ▶︎