!!概要 ファイルシステムにxfsを利用し、UEFI起動している場合のシステムバックアップとリストア方法 !参考 http://chidipy.jpn.com/server/other/xfs_efi_backuprestore.html !!注意 https://bugzilla.redhat.com/show_bug.cgi?id=1405285 xfsdump にバグがあるので注意。 正常にバックアップが完了したように見えても、xfsresotre時にエラーになることがある。 デバイス指定よりもマウントポイントを指定するほうが良い。 デバイスを指定した場合、bind でマウントされていたりするとbind先をバックアップしようとする。 !!バックアップ 手順 +バックアップ情報の保存 ++efi情報の保存 ++fstabの保存 ++labelの収集 ++パーティッション情報の収集(LVM含むj) +バックアップ !バックアップ情報の保存 efi情報の保存 efibootmgr -v > efibootmgr.txt fstabの保存 cp /etc/fstab /mnt/backup/ ラベル情報 lsblk -f > lsblk.txt パーティッション情報の保存 fdisk -l /dev/sda > /mnt/backup/fdisk_sda.txt gdisk -l /dev/sda > /mnt/backup/gdisk_sda.txt または sfdisk -d /dev/hda > /mnt/backup/hda_info.txt ※リストア時に /sbin/sfdisk /dev/hda < hda.info で復元可 LVM情報の保存 pvdisplay > /mnt/backup/pv_info.txt vgdisplay > /mnt/backup/vg_info.txt lvdisplay > /mnt/backup/lv_info.txt または vgdisplay -v > /mnt/backup/lvm_info.txt !バックアップ UEFIで使用するファイルのバックアップ sync #念のため cd /boot/efi tar -C /boot/efi -cf バックアップ先/boot_efi.tar . xfsdump -l0 -e - /boot 2>>/mnt/backup/backup.log | gzip -c > /mnt/backup/boot.dump xfsdump -l0 -e - / 2>>/mnt/backup/backup.log | gzip -c > /mnt/backup/root.dump シングルモードの方がいいけど、そこまで神経質にならなくても良いと思います。 LVMのスナップショット機能を組み合わせてもいいと思う。 !!リストア ディスクを交換せずにデータを戻すだけの場合は、データリストア以外の手順は省略して良い。 手順 +パーティッション復元 +データのリストア +ラベル復元 +efi復元 +SELinux用の情報を付け直し !キーボードレイアウト設定 キーボードのレイアウトがおかしい場合 localectl set-keymap jp106 !パーティッションの復元 fdisk /dev/sda または gdisk /dev/sda または /sbin/sfdisk /dev/hda < hda.info でパーティッションを作る。 !LVM復元 VG、LVを同じ名前で再作成 [[LVM]] 基本的に lvm pvcreate <デバイス> lvm vgcreate lvm lvcreate --size --name を使う。 !フォーマット UEFI用のファイルシステムをFAT32で作成 mkfs.vfat -v -c -F32 -s2 -n ラベル -i <> /dev/sda1 -i はUUIDを指定する。ハイフンは不要。 UUIDを再作成する場合は -i は不要。 XFSのフォーマット mkfs.xfs -f -m uuid=<> -L ラベル /dev/sda2 ラベルの指定やUUIDを再作成する場合 mkfs.xfs /dev/sda2 mkfs.xfs /dev/mapper/centos-root !UUID設定(フォーマット時に指定しなかった場合) 基本的にフォーマット時に指定する。 以下のコマンドで再設定できるが、フォーマット後にUUIDを変更すると以下のUEFIの再設定をしても起動できないことがある。 xfs_admin -U <> !ラベル復元(フォーマット時に指定しなかった場合) [[ファイルシステムのラベル変更]] XFS xfs_admin -L