2
1

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 1 year has passed since last update.

複数Portable Storage上で構築したLVM論理ボリュームの移行方法

Last updated at Posted at 2024-04-03

はじめに

IBMではClassic環境の仮想サーバーで利用可能な補助ストレージとしてPortable Storage Volume(PSV)があります。このストレージは仮想サーバー上に最大3つまで取り付けることが可能です。

PSVの特徴として仮想サーバー上にアタッチしてあるものを別の仮想サーバーへ移行できるように切り離すことができます。
しかし、PSVを移行する際に複数PSVでLVM論理ボリュームを構築していた場合、そのままデタッチしてしまうと論理ボリューム情報が失われてしまう可能性があります。
そのため本記事ではPSV移行時にLVM論理ボリュームを保存し、移行先で再び構築する方法を記載します。

手順として以下の記事を参考に作成しました。

作業手順

本記事で実施した作業内容は以下の通りです。

  1. 論理ボリューム情報のエクスポート
  2. PSVの付け替え
  3. 論理ボリューム情報のインポート

使用する環境

本記事で使用する環境は以下の通りです。

  • PSV移行前/後の仮想サーバー:Virtual Server for Classic(東京リージョン, OS:CentOS, 2Core, 4GB)2台
  • LVM論理ボリューム構築済みのPSV:Portable SAN Storage10GB3台
    • 30GBのVolume Groupから15GB, 10GB, 4GBのLogical Volumeに分割

スクリーンショット 2024-04-01 9.30.08.png

本記事でのPV,LV,VGは以下の通りに名前をつけています。

  • Pysical Volume - PV1:xvdc, PV2:xvde, PV3:xvdf
  • Logical Volume - LV1:lv-15g, LV2:lv-10g, LV3:lv-5g
  • Volume Group - example-vg
デバイス一覧
$ sudo lsblk
xvda                  202:0    0  25G  0 disk
├─xvda1               202:1    0   1G  0 part /boot
└─xvda2               202:2    0  24G  0 part /
xvdb                  202:16   0   2G  0 disk
└─xvdb1               202:17   0   2G  0 part
xvdc                  202:32   0  10G  0 disk
└─example--vg-lv--15g 253:0    0  15G  0 lvm
xvde                  202:64   0  10G  0 disk
├─example--vg-lv--15g 253:0    0  15G  0 lvm
├─example--vg-lv--10g 253:1    0  10G  0 lvm  /mnt
└─example--vg-lv--4g  253:2    0   4G  0 lvm
xvdf                  202:80   0  10G  0 disk
└─example--vg-lv--10g 253:1    0  10G  0 lvm  /mnt
xvdh                  202:112  0  64M  0 disk 
portable storage一覧
$ pvs
  PV         VG         Fmt  Attr PSize   PFree
  /dev/xvdc  example-vg lvm2 a--  <10.00g       0
  /dev/xvde  example-vg lvm2 a--  <10.00g 1012.00m
  /dev/xvdf  example-vg lvm2 a--  <10.00g       0
logical volume一覧
$ lvs
  LV     VG         Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv-10g example-vg -wi-ao---- 10.00g
  lv-15g example-vg -wi-a----- 15.00g
  lv-4g  example-vg -wi-a-----  4.00g

また、LVM論理ボリューム内にテストの為テキストファイルを保存しておきます。

$ cat /mnt/sample.txt
hello

1. 論理ボリューム情報のエクスポート

移行前にまずはアンマウントを実施します。

$ umount /dev/example-vg/lv-10g
$ lsblk
NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda                  202:0    0  25G  0 disk
├─xvda1               202:1    0   1G  0 part /boot
└─xvda2               202:2    0  24G  0 part /
xvdb                  202:16   0   2G  0 disk
└─xvdb1               202:17   0   2G  0 part
xvdc                  202:32   0  10G  0 disk
└─example--vg-lv--15g 253:0    0  15G  0 lvm
xvde                  202:64   0  10G  0 disk
├─example--vg-lv--15g 253:0    0  15G  0 lvm
├─example--vg-lv--10g 253:1    0  10G  0 lvm
└─example--vg-lv--4g  253:2    0   4G  0 lvm
xvdf                  202:80   0  10G  0 disk
└─example--vg-lv--10g 253:1    0  10G  0 lvm
xvdh                  202:112  0  64M  0 disk

続いてVGであるexample-vgの不活性化をします。

$ vgchange -a n example-vg
  0 logical volume(s) in volume group "example-vg" now active
$ lvs
  LV     VG         Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv-10g example-vg -wi------- 10.00g
  lv-15g example-vg -wi------- 15.00g
  lv-4g  example-vg -wi-------  4.00g

lvsで確認するとAttrの項目のaがなくなっている(活性ではない)ことが確認できます。

そして、VG情報のエクスポートを実施します。

$ vgexport example-vg
  Volume group "example-vg" successfully exported
$ pvscan
  PV /dev/xvdc    is in exported VG example-vg [<10.00 GiB / 0    free]
  PV /dev/xvde    is in exported VG example-vg [<10.00 GiB / 1012.00 MiB free]
  PV /dev/xvdf    is in exported VG example-vg [<10.00 GiB / 0    free]

確認のため、pvscanを実施するとVGがエクスポートされていることが確認できます。

2. PVSの付け替え

VGのエクスポートが完了したため、次にPVSを移行先のサーバーに付け替えます。
IBM Cloudのポータル画面の仮想サーバーの画面からストレージポータブル・ストレージの右側のアクションメニューからスワップを選択します。

スクリーンショット_2024-04-01_9_22_43.png

スワップ先としてデバイス一覧が表示されるのでスワップしたいサーバーに対し、スワップボタンを選択します。

スクリーンショット_2024-04-01_9_21_10.png

数分待つとスワップが完了し、移行先のサーバーにportable storageが移行できていることが確認できます。

3. 論理ボリューム情報のインポート

最後に移行先のサーバーで論理ボリューム情報をインポートします。
はじめに移行先のサーバーでもLVMが認識できているかを確認します。

$ pvscan
  PV /dev/xvdc    is in exported VG example-vg [<10.00 GiB / 0    free]
  PV /dev/xvde    is in exported VG example-vg [<10.00 GiB / 1012.00 MiB free]
  PV /dev/xvdf    is in exported VG example-vg [<10.00 GiB / 0    free]
  Total: 3 [<29.99 GiB] / in use: 3 [<29.99 GiB] / in no VG: 0 [0   ]

VGのインポートを実行します。

$ vgimport example-vg
$ pvscan
  PV /dev/xvdc   VG example-vg   lvm2 [<10.00 GiB / 0    free]
  PV /dev/xvde   VG example-vg   lvm2 [<10.00 GiB / 1012.00 MiB free]
  PV /dev/xvdf   VG example-vg   lvm2 [<10.00 GiB / 0    free]
  Total: 3 [<29.99 GiB] / in use: 3 [<29.99 GiB] / in no VG: 0 [0   ]

VGの活性化を実施します。

$ lvchange --available y example-vg
$ lvscan 
  ACTIVE            '/dev/example-vg/lv-15g' [15.00 GiB] inherit
  ACTIVE            '/dev/example-vg/lv-10g' [10.00 GiB] inherit
  ACTIVE            '/dev/example-vg/lv-4g' [4.00 GiB] inherit

最後にマウントを実施し、保存したテキストファイルを確認します。

$ mount /dev/example-vg/lv-10g /mnt
$ lsblk
  NAME                  MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
  xvda                  202:0    0  25G  0 disk
  ├─xvda1               202:1    0   1G  0 part /boot
  └─xvda2               202:2    0  24G  0 part /
  xvdb                  202:16   0   2G  0 disk
  └─xvdb1               202:17   0   2G  0 part
  xvdc                  202:32   0  10G  0 disk
  └─example--vg-lv--15g 253:0    0  15G  0 lvm
  xvde                  202:64   0  10G  0 disk
  ├─example--vg-lv--15g 253:0    0  15G  0 lvm
  ├─example--vg-lv--10g 253:1    0  10G  0 lvm  /mnt
  └─example--vg-lv--4g  253:2    0   4G  0 lvm
  xvdf                  202:80   0  10G  0 disk
  └─example--vg-lv--10g 253:1    0  10G  0 lvm  /mnt
  xvdh                  202:112  0  64M  0 disk

$ cat /mnt/sample.txt
  hello

保存していたファイルが無事確認できました。
以上でLVM論理ボリュームの移行は完了です。

2
1
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?