1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AzureのRHEL8VMのディスク バックアップからのファイル回復方法について

Last updated at Posted at 2021-10-20

AzureのRHEL8VMのディスク バックアップからのファイル回復方法について

RHEL8のVMでOSディスク バックアップからファイルを復元したい時、同じVMからデータにアクセスする方法について説明します。

Microsoft MarketplaceRHEL8のイメージはLVMを使用して、構成は以下の通りです。

NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   64G  0 disk
├─sda1              8:1    0  500M  0 part /boot
├─sda2              8:2    0   63G  0 part
│ ├─rootvg-tmplv  253:0    0    2G  0 lvm  /tmp
│ ├─rootvg-usrlv  253:1    0   10G  0 lvm  /usr
│ ├─rootvg-homelv 253:2    0    1G  0 lvm  /home
│ ├─rootvg-varlv  253:3    0    8G  0 lvm  /var
│ └─rootvg-rootlv 253:4    0    2G  0 lvm  /
├─sda14             8:14   0    4M  0 part
└─sda15             8:15   0  495M  0 part /boot/efi

最初にディスク バックアップをVMに接続します。
元のOSディスクとディスク バックアップの構成が同じため、VGも同じです。
そのため以下のWARNINGが表示されます。ディスク バックアップ(/dev/sdd2)のVGのUUIDが元のディスク(/dev/sdb2)と同じとのことです。

# vgs
  WARNING: Not using device /dev/sdd2 for PV PdWL55-qIlK-A96n-2XJ9-D8bd-Svkk-FCMH8B.
  WARNING: PV PdWL55-qIlK-A96n-2XJ9-D8bd-Svkk-FCMH8B prefers device /dev/sda2 because device is used by LV.
  VG     #PV #LV #SN Attr   VSize   VFree
  rootvg   1   5   0 wz--n- <63.02g <40.02g

バックアップのVGを使うにはバックアップのVGをインポートする必要があります。VGをインポートするとVGの名前とUUIDが変わります。名前は指定できますので、rootvg_newにします。

# vgimportclone -n rootvg_new /dev/sdd2
  WARNING: Not using device /dev/sdd2 for PV PdWL55-qIlK-A96n-2XJ9-D8bd-Svkk-FCMH8B.
  WARNING: PV PdWL55-qIlK-A96n-2XJ9-D8bd-Svkk-FCMH8B prefers device /dev/sdb2 because device is used by LV.
# vgchange -ay rootvg_new
  5 logical volume(s) in volume group "rootvg_new" now active
# vgs
  VG         #PV #LV #SN Attr   VSize   VFree
  rootvg       1   5   0 wz--n- <63.02g <40.02g
  rootvg_new   1   5   0 wz--n- <63.02g <40.02g

バックアップVG(rootvg_new)をアクティブにしてボリュームは使用できます。
しかし、ファイルシステムをマウントするとまたエラーが発生します。

# mkdir /backup
# mount /dev/rootvg_new/rootlv /backup
mount: /backup: wrong fs type, bad option, bad superblock on /dev/mapper/rootvg_new-rootlv, missing codepage or helper program, or other error.

これはXFSファイルシステムもUUIDを使用しているからです。

元のVG(rootvg)とバックアップのVG(rootvg_new)のXFSファイルシステムのUUIDが同じということが問題です。

# blkid /dev/rootvg*/rootlv
/dev/rootvg_new/rootlv: UUID="9c542500-f63c-43ca-bdb9-90b000ecb9eb" BLOCK_SIZE="4096" TYPE="xfs"
/dev/rootvg/rootlv: UUID="9c542500-f63c-43ca-bdb9-90b000ecb9eb" BLOCK_SIZE="4096" TYPE="xfs"

その問題の解決方法は二つあります。

一つはマウントする時にnouuidオプションを使うことです。

# mount -o nouuid /dev/rootvg_new/rootlv /backup
# cat /backup/etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)

もう一つはコピーのファイルシステムのUUIDを変更することです。

# xfs_repair -L /dev/rootvg_new/rootlv
Phase 1 - find and verify superblock...
..
done
# xfs_admin -U $(uuidgen) /dev/rootvg_new/rootlv
Clearing log and setting UUID
writing all SBs
new UUID = d000e632-25c5-4cb2-a02e-40acf021bfe2
# mount /dev/rootvg_new/rootlv /backup
# cat /backup/etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)

どちらの方法を使ってもコピーのファイルシステムをマウントでき、ディスク バックアップのファイルをアクセスできます。

以上です。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?