概要
記事の目的
5~6年ぶりにdump/restoreコマンドを利用したシステムバックアップ/リストアを実装する事になったため、検証機で手順を確認した際の作業メモ。
環境
- CentOS 7.3
- ディスク構成は初期インストールのデフォルト(LVM利用)
- バックアップ先はNFSサーバ(/mntにマウントしている)I
-
- ※NFSサーバ自身の設定は省略)
環境確認
バックアップ対象の環境を確認する。
1.sfdiskの結果を確認し、NFSサーバに結果を保存する。
sfdisk
[root@centos7-test ~]# sfdisk -d /dev/sda
# partition table of /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, Id=83, bootable
/dev/sda2 : start= 2099200, size= 39843840, Id=8e
/dev/sda3 : start= 0, size= 0, Id= 0
/dev/sda4 : start= 0, size= 0, Id= 0`
[root@centos7-test ~]# sfdisk -d /dev/sda > /mnt/sfdisk_dump.txt
2.UUIDの情報を出力する
blkid
[root@centos7-test ~]# blkid
/dev/mapper/cl-root: UUID="691942dd-aee2-4577-a1c7-5d4c1d8e7019" TYPE="xfs"
/dev/sda2: UUID="8SYMJe-OfPR-fYqX-ir9k-FKmM-HeL8-L7FUHu" TYPE="LVM2_member"
/dev/sda1: UUID="32066488-6586-4913-8cf7-bbcfd737f657" TYPE="xfs"
/dev/mapper/cl-swap: UUID="16ae2de8-cbfc-4ee2-a60a-c0493ebd7b03" TYPE="swap"
[root@centos7-test ~]# blkid > /mnt/blkid.txt
3.fstabの情報を記録する
こちらも念のため記録する
fstab
[root@centos7-test ~]# cat /mnt/fstab.txt
#
# /etc/fstab
# Created by anaconda on Fri Apr 7 23:48:59 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=32066488-6586-4913-8cf7-bbcfd737f657 /boot xfs defaults 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
cat /etc/fstab > /mnt/fstab.txt
4.NW設定の情報を記録する
nmtui
[root@centos7-test ~]# nmcli c
名前 UUID タイプ デバイス
ens33 60a09814-af79-47a5-ae0d-13343cece826 802-3-ethernet ens33
[root@centos7-test ~]#
[root@centos7-test ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.73.128 netmask 255.255.255.0 broadcast 192.168.73.255
inet6 fe80::acce:30a:aeae:c827 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:b3:ba:8d txqueuelen 1000 (Ethernet)
RX packets 141292 bytes 176581363 (168.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14162 bytes 1055357 (1.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
- LVMの情報を確認する
LVMの設定を確認する。
LVM
[root@centos7-test ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 cl lvm2 a-- 19.00g 0
[root@centos7-test ~]# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- 19.00g 0
[root@centos7-test ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- 17.00g
swap cl -wi-ao---- 2.00g
[root@centos7-test ~]# lvdisplay
--- Logical volume ---
LV Path /dev/cl/swap
LV Name swap
VG Name cl
LV UUID KIw9TR-esGm-xTWI-Kgcl-TbKe-2jx6-BMRJu4
LV Write Access read/write
LV Creation host, time centos7-test, 2017-04-07 23:48:59 +0900
LV Status available
# open 2
LV Size 2.00 GiB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:1
--- Logical volume ---
LV Path /dev/cl/root
LV Name root
VG Name cl
LV UUID 4nARO4-DXwy-d8w0-UbnN-X49G-4RdC-nJZcec
LV Write Access read/write
LV Creation host, time centos7-test, 2017-04-07 23:48:59 +0900
LV Status available
# open 1
LV Size 17.00 GiB
Current LE 4351
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
- LVMのバックアップ
LVMの定義をエクスポートする
lvm2
[root@centos7-test ~]# vgcfgbackup -f /mnt/lvm_cfg.txt
Volume group "cl" successfully backed up.
バックアップの取得
[root@centos7-test ~]# df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/cl-root 17811456 1537508 16273948 9% /
devtmpfs 488964 0 488964 0% /dev
tmpfs 499968 0 499968 0% /dev/shm
tmpfs 499968 13120 486848 3% /run
tmpfs 499968 0 499968 0% /sys/fs/cgroup
/dev/sda1 1038336 169684 868652 17% /boot
192.168.73.129:/home 18555904 3954176 14601728 22% /mnt
tmpfs 99996 0 99996 0% /run/user/0
→ tmpfsは無視して、boot(/dev/sda1) /dev/mapper/cl-root(/)をバックアップする。
本来であればシングルユーザモードに落としてdumpを実行するべきだが
バックアップ対象にDBサーバ等はいないので、このまま実行する。
dumpの実行
[root@centos7-test ~]# xfsdump -l0 - /dev/sda1 | gzip -9 > /mnt/sda1.dump
[root@centos7-test ~]# xfsdump -l0 - /dev/mapper/cl-root | gzip -9 > /mnt/cl-root.dump
#リストア
リストア前にせっかくなので rm -rf / を実行して正常に起動できない状態に
してからリストア操作を実行。
- レスキューモードでサーバを起動する
- IPアドレスを付与する
nmcli c mod ens33 ipv4.method manual ipv4.address "192.168.73.128/24" ipv4.gateway "GWIPADDR"
3. ディスクパーティションの作成
# sfdisk /dev/sda < /mnt/sfdisk_dump.txt
4. 物理ボリュームの作成
UUIDには/mnt/lvm_cfg.txtファイルの中を確認しUUIDを入力する。
# pvcreate --uuid 8SYMJe-OfPR-fYqX-ir9k-FKmM-HeL8-L7FUHu --restorefile /mnt/lvm_cfg.txt
5.LVM構成のリストア
vgcfgrestore -f /mnt/lvm_cfg.txt cl
vgchange -ay cl
6.ファイルシステムの作成
■bootパーティション
mkfs.xfs -f /dev/sda1
xfs_admin -U 32066488-6586-4913-8cf7-bbcfd737f657 /dev/sda1
■/パーティション(LVM)
mkfs.xfs -f /dev/mapper/cl-root
■swap
mkswap -U KIw9TR-esGm-xTWI-Kgcl-TbKe-2jx6-BMRJu4 /dev/mapper/cl-swap
7. restore
mkdir /mnt/boot
mkdir /mnt/root
mount /dev/sda1 /mnt/boot
mount /dev/mapper/cl-root /mnt/root
zcat /mnt/sda1.dump | xfsrestore - /mnt/boot
zcat /mnt/cl-root.dump | xfsrestore - /mnt/root
8.ブートローダーの導入
grub2-install --boot-directory /mnt/boot /dev/sda
9.サーバの再起動
サーバの再起動を実行し、正常に起動されることを確認する。