CentOS7がBIOSブートでLVM(xfs)が使用されている場合のバックアップ・リストア手順

CentOS7がBIOSブートでLVM(xfs)が使用されている場合のバックアップ・リストアを試してみました。

参考サイト:
CentOS7 dump/restore を使用して空のHDDに復旧させるまで
https://qiita.com/souta1003/items/7642cf723f6d6efbe9a1

Linux システムバックアップリストア(xfs dump restoreおよびUEFI)
https://chidipy.jpn.com/server/other/xfs_efi_backuprestore.html

構成:
バックアップ置き場のNFSサーバ:Windows7でhaneWIN NFS Serverを使用(192.168.0.192)
バックアップ対象VM:CentOS7(LVM,xfs)(192.168.0.47)
リストア対象VM:新規VM(192.168.0.48)

バックアップを取得したVMとは別の空VMにリストアします。

haneWIN NFS Serverの設定

Exports設定

E:\nfs -name:nfs -maproot:0 -range 192.168.0.0 192.168.0.47 192.168.0.48

Linux側手順

マウントポイントの作成
mkdir /mnt/backup

NFSマウント(v3)
mount -t nfs -o vers=3 192.168.0.192:/nfs /mnt/backup

ボリューム構成情報のバックアップ
下記コマンドで取得して端末にDLして下さい。

LANG=C fdisk -l > /tmp/hostname_fdisk.txt
LANG=C df -T > /tmp/hostname_df.txt
LANG=C pvdisplay > /tmp/hostname_pv.txt
LANG=C vgdisplay > /tmp/hostname_vg.txt
LANG=C lvdisplay > /tmp/hostname_lv.txt

-rw-r–r– 1 root root 716 Oct 5 15:12 centos7-02_df.txt
-rw-r–r– 1 root root 809 Oct 5 15:12 centos7-02_fdisk.txt
-rw-r–r– 1 root root 576 Oct 5 15:12 centos7-02_lv.txt
-rw-r–r– 1 root root 730 Oct 5 15:12 centos7-02_pv.txt
-rw-r–r– 1 root root 629 Oct 5 15:12 centos7-02_vg.txt

Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/mapper/VGroup1-root xfs 12457984 1823788 10634196 15% /
devtmpfs devtmpfs 1928632 0 1928632 0% /dev
tmpfs tmpfs 1940320 0 1940320 0% /dev/shm
tmpfs tmpfs 1940320 8808 1931512 1% /run
tmpfs tmpfs 1940320 0 1940320 0% /sys/fs/cgroup
/dev/sda1 xfs 303780 177364 126416 59% /boot
tmpfs tmpfs 388068 0 388068 0% /run/user/0
192.168.0.192:/nfs nfs 1953512448 700775328 1252737120 36% /mnt/backup

fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000d531f

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 616447 307200 83 Linux
/dev/sda2 616448 25559039 12471296 8e Linux LVM
/dev/sda3 25559040 33751039 4096000 82 Linux swap / Solaris
/dev/sda4 33751040 41943039 4096000 8e Linux LVM

Disk /dev/mapper/VGroup1-root: 12.8 GB, 12767461376 bytes, 24936448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

pvdisplay

— Physical volume —
PV Name /dev/sda2
VG Name VGroup1
PV Size 11.89 GiB / not usable 3.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 3044
Free PE 0
Allocated PE 3044
PV UUID Fq0oM8-TSnI-yFif-RmXi-882p-xA3g-OqTOsF

— Physical volume —
PV Name /dev/sda4
VG Name VGroup1
PV Size <3.91 GiB / not usable 4.00 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 999
Free PE 999
Allocated PE 0
PV UUID bMHn2Y-mKAH-moGv-vrPU-ybeL-r1Fz-M3oHIP

vgdisplay

— Volume group —
VG Name VGroup1
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 15.79 GiB
PE Size 4.00 MiB
Total PE 4043
Alloc PE / Size 3044 / 11.89 GiB
Free PE / Size 999 / 3.90 GiB
VG UUID KEJfVw-qjz5-wDC2-WtbE-eCFM-5ugO-C0t3zT

lvdisplay
— Logical volume —
LV Path /dev/VGroup1/root
LV Name root
VG Name VGroup1
LV UUID UEedsN-13Sw-xROj-zf1Q-w690-gr1R-zgfwca
LV Write Access read/write
LV Creation host, time centos7-02, 2019-09-29 16:50:13 +0900
LV Status available
# open 1
LV Size 11.89 GiB
Current LE 3044
Segments 1
Allocation inherit
Read ahead sectors auto

  • currently set to 8192
    Block device 253:0

xfsdumpの実行
ファイルシステムがxfsの場合はxfsdump/restoreコマンドを使用します。

sync
xfsdump -l 0 – /dev/sda1 | gzip -c > /mnt/backup/boot.dump.gz (bootのパーティション)
xfsdump -l 0 – /dev/mapper/VGroup1-root | gzip -c > /mnt/backup/root.dump.gz (rootのバーティション)

リストア対象のVMを新規作成

インストールCDからブートする(rescueモード)

TroubleShooting -> Rescue a CentOS system を選択

ファイルシステムを/mnt/sysiamge以下にマウントするか?を聞かれるが、マウントしない。「skip:3」を選択

キーボードを日本語配列にする

localectl set-keymap jp106

ネットワークデバイス名の確認
nmcli d

ネットワーク設定
ip a add 192.168.0.48/24 dev ens192

ディスクのvgが有効化されていないので有効化する
lvm vgchange -ay

パーティションの作成
fdisk /dev/sda

n
p
1
2048
616447
w

fdisk /dev/sda
n
p
2
616448
25559039
t
2
8e

n
p
3
25559040
33751039
t
3
82

n
p
4
33751040
41943039
t
4
8e

w

ファイルシステム作成(bootパーティション)
mkfs.xfs /dev/sda1

LVMの作成
PVの作成
pvcreate /dev/sda2
pvcreate /dev/sda4

VGの作成
vgcreate VGroup1 /dev/sda2 /dev/sda4

LVの作成
lvcreate –name root –size 11.89GB VGroup1

ファイルシステム作成(rootパーティション)
mkfs.xfs /dev/VGroup1/root

swap領域作成
mkswap /dev/sda3

バックアップイメージを置いたNFS領域をマウント
/backup 以下にバックアップイメージを置いたNFS領域をマウント

mkdir /backup
mount -t nfs -o rsize=8192,wsize=8192,intr 192.168.0.192:/nfs /backup
↑NG

mount -t nfs -o vers=3 192.168.0.192:/nfs /backup
↑NG

mount -o nolock 192.168.0.192:/nfs /backup
↑OK

リストア
mkdir /restore

mount -t xfs /dev/VGroup1/root /restore
cd /restore
gzip -dc /backup/root.dump.gz | xfsrestore – ./

mount -t xfs /dev/sda1 /restore/boot
cd /restore/boot
gzip -dc /backup/boot.dump.gz | xfsrestore – ./

sync
sync
sync

設定変更
パーティション
UUID確認
blkid /dev/sda1
blkid /dev/sda2
blkid /dev/sda3
blikd /dev/sda4

vi /restore/etc/fstab

ネットワークインターフェース確認
nmcli connection show

設定変更
vi /restore/etc/sysconfig/network-scripts/ifcfg-ens192

ブート設定準備
mount -t proc proc /restore/proc
mount –bind /dev /restore/dev
mount -t sysfs sysfs /restore/sys

リストア先パスにchrootする
chroot /restore

grub.cfgの修正
grub2ブート設定(/boot/grub2/grub.cfg)にも、古いパーティションへのUUIDが定義されているので再作成し直す必要があります。
直接編集は推奨されていないので、専用のコマンドを使用。

grub2-mkconfig -o /boot/grub2/grub.cfg

mbrにブートローダのインストール
grub2-install /dev/sda

sync
sync
sync

chroot終了
exit

レスキューモードを終了
exit

再起動が始まり、OSが起動します。

Comments are closed.