LoginSignup
20
19

More than 5 years have passed since last update.

CentOS7.3 でのxfsdump/xfsrestoreコマンドを利用したシステムバックアップ(LVM環境)

Last updated at Posted at 2017-04-08

概要

記事の目的

 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
  1. 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
  1. 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 / を実行して正常に起動できない状態に
してからリストア操作を実行。

  1. レスキューモードでサーバを起動する
  2. 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.サーバの再起動
サーバの再起動を実行し、正常に起動されることを確認する。

20
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
19