computerの日記

Cisco,SHELL,C,Qt,C++,Linux,ネットワーク,Windows Scriptなどの発言です

LVM ファイルシステムタイプのハードディスクをマウントする方法

今、/dev/sdd2 に LVM ファイルシステムタイプがあるとします。
/dev/sdd1 には、/boot が存在しており、こちらはマウントできます。
/dev/sdd2 を普通にマウントしようとしても、以下のようになり、マウントに失敗します。

 # mount /dev/sdd2 /mnt/sdd2

mount: /mnt/sdd2: 未知のファイルシステムタイプ 'LVM2_member' です.

 /dev/sdd を調べます。

 # fdisk -l /dev/sdd

ディスク /dev/sdd: 1.8 TiB, xxxxxx バイト, xxxxxx セクタ
単位: セクタ (1 * 512 = 512 バイト)
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / xxxxxx バイト
ディスクラベルのタイプ: dos
ディスク識別子: 0xxxxxxx

バイス 起動 開始位置 最後から セクタ サイズ Id タイプ
/dev/sdd1 * 2048 xxxxxx xxxxxx 500M 83 Linux
/dev/sdd2 xxxxxx xxxxxx xxxxxx 1.8T 8e Linux LVM

 では、この /dev/sdd2 をマウントしていきます。
まず、利用可能な volumne group を調査します。
以下のコマンドを実行します。

 # pvs

PV VG Fmt Attr PSize PFree
/dev/sda2 fedora lvm2 a-- <1.82t 0
/dev/sdd2 fedora lvm2 a-- <1.82t 4.00m

 実際に起動している OS の VolumeGroup 名前と、ハードディスクの Volume Group の名前が、”fedora" と同一名となっているので、ハードディスクの Volume Group の名前を別の名前にでもリネームしてみます。

UUID を調べます。

# vgdisplay

--- Volume group ---
VG Name fedora
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <1.82 TiB
PE Size 4.00 MiB
Total PE 476675
Alloc PE / Size 476675 / <1.82 TiB
Free PE / Size 0 / 0
VG UUID xxxxxxxxxxxxxxxxxx

--- Volume group ---
VG Name fedora
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <1.82 TiB
PE Size 4.00 MiB
Total PE 476806
Alloc PE / Size 476805 / <1.82 TiB
Free PE / Size 1 / 4.00 MiB
VG UUID xxxxxxxxxxxxxxxxxx ★<----これを使う

vgrename コマンドを使用して、ハードディスクの方の Volume Group 名をリネームします。

# vgrename xxxxxxxxxxxxxxxx fedora_old

Processing VG fedora because of matching UUID
xxxxxxxxxxxxxxxx
Volume group "xxxxxxxxxxxxxxxx" successfully
renamed to "fedora_old"

では、volume groupe をもう一度見てみます。

# pvs

PV VG Fmt Attr PSize PFree
/dev/sda2 fedora lvm2 a-- <1.82t 0
/dev/sdd2 fedora_old lvm2 a-- <1.82t 4.00m

 これで、fedora という名前の重複はなくなりました。
ハードディスクのほうは、fedora_old となりました。

では、マウントしていきます。

 # vgscan --mknodes

Reading volume groups from cache.
Found volume group "fedora" using metadata type lvm2
Found volume group "fedora_old" using metadata type lvm2

 ここで、lvscan をかけても、ハードディスクのほうは、inactive となっています。

 # lvscan

ACTIVE '/dev/fedora/swap' [<7.84 GiB] inherit
ACTIVE '/dev/fedora/home' [1.76 TiB] inherit
ACTIVE '/dev/fedora/root' [50.00 GiB] inherit
inactive '/dev/fedora_old/swap' [7.81 GiB] inherit
inactive '/dev/fedora_old/home' [1.76 TiB] inherit
inactive '/dev/fedora_old/root' [50.00 GiB] inherit

 ここで、mount コマンドを実行しても、マウントできません。

 # mount /dev/fedora_old/home /mnt/sdd2

mount: /mnt/sdd2: スペシャルデバイス /dev/fedora_old/home が存在しません.

 inactive となっているものを、有効化します。

 # vgchange -ay

3 logical volume(s) in volume group "fedora" now active
3 logical volume(s) in volume group "fedora_old" now active

 もう一度確認します。

 # lvscan

ACTIVE '/dev/fedora/swap' [<7.84 GiB] inherit
ACTIVE '/dev/fedora/home' [1.76 TiB] inherit
ACTIVE '/dev/fedora/root' [50.00 GiB] inherit
ACTIVE '/dev/fedora_old/swap' [7.81 GiB] inherit
ACTIVE '/dev/fedora_old/home' [1.76 TiB] inherit
ACTIVE '/dev/fedora_old/root' [50.00 GiB] inherit

 では、もう一度マウントしてみます。

 # mount /dev/fedora_old/home /mnt/sdd2

マウントできたようです。