LVMボリュームをマウントする方法は?


36

LinuxでLVM2ボリュームをマウントしようとしていますが、オンラインで表示されるすべての指示は、ボリュームグループをマウントするように言っています。

mkdir -p /mnt/VolGroup00/LogVol00

しかし、私はそれの名前を理解する方法を知りません。Palimpsestにドライブがありますが、それがすべての情報です。


findmntコマンドについて誰も言及していないことに驚いています。あなただけを行うことができfindmnt -l、あなたが欲しいものを手に入れるでしょう。そして、より良いバージョンのためにこれを試してください:findmnt -l | grep ' /dev/\S\+'
C0deDaedalus

悲しいことに、dd / rawイメージからLVMボリュームをマウントするためのソリューションは回答にありません。一部のソリューションがこのユースケースでも機能しているかどうかを確認するのは素晴らしいことです。
gies0r

回答:


52

Fedora 17からLVMにアクセスするために使用した手順は次のとおりです。Fedora17はほとんどの形式のLinuxで動作するはずです。

Fedora 17を起動します。

lvm2がインストールされていることを確認します。

$ sudo yum install lvm2

必要なモジュールをルートとしてロードします。

$ sudo modprobe dm-mod

システムでLVMボリュームをスキャンし、Fedoraボリューム(VolGroup00であることが判明したボリューム)を持つボリュームグループ名を出力で特定します。

$ sudo vgscan

ボリュームをアクティブにします。

$ sudo vgchange -ay VolGroup00

Fedoraのルートファイルシステム(LogVol00であることが判明したもの)がある論理ボリュームを見つけます。

$ sudo lvs

そのボリュームのマウントポイントを作成します。

$ sudo mkdir /mnt/fcroot

マウント:

$ sudo mount /dev/VolGroup00/LogVol00 /mnt/fcroot -o ro,user

完了したら、/ mnt / fcrootに移動してファイルをコピーし、別の場所に貼り付けます。


1
これを理解するのは簡単で、ubuntuで作業しました(もちろん、yumをapt-getに交換しました)。特に、他の回答ではカバーされていないアクティベーションが重要でした。これは、LVMを備えた古いドライブがあり、それを別の動作中のシステムに接続する場合の方法です。
パープル氏

3
この答えは受け入れられるべきです。vgscan、その後vgchange -a y'は必要な手順です。
ダニエル・ディニーズ

1
確かに、アクティベーションの部分は、機能させるために不可欠でした。
Zitrax 16

RedHat 7では、最初にpvscan --cacheを実行する必要がありました。それがなければ、vgscanは新しいボリュームグループを見ることさえできません。
ケビン・キーン

25

しばらく前にこの問題に直面したので、ブログに投稿しました

すべてのパーティションをリストし、入力します

linux:/ # lvmdiskscan

このようなリストを取得します

File descriptor 3 left open
File descriptor 4 left open
/dev/dm-0 [ 9.67 GB]
/dev/sda1 [ 78.41 MB]
/dev/dm-1 [ 6.44 GB]
/dev/sda2 [ 115.52 GB]
/dev/dm-2 [ 2.00 GB]
/dev/sda3 [ 18.11 GB] LVM physical volume
/dev/sda5 [ 15.33 GB]

に注意してください/dev/dm-x。これらは、LVMパーティションに対応するデバイスです。サイズにも注意してください。

次に、lvdisplayと入力して、使用可能なすべての論理ボリュームの詳細リストを表示します。

lvdisplay |more

LV Name /dev/system/home
VG Name system
LV UUID 1QP9XM-vlKi-umNO-CXvV-TnZN-RCLk-e1FDIr
LV Write Access read/write
LV Status available
# open 1
LV Size 9.67 GB
Current LE 2475
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0

— Logical volume —
LV Name /dev/system/root
VG Name system
LV UUID D1fKUJ-uU1C-jlVB-4imh-rrgy-FQu0-TC2Ssm
LV Write Access read/write
LV Status available
# open 1

LV Size 6.44 GB
Current LE 1649
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:1

— Logical volume —
LV Name /dev/system/swap
VG Name system
LV UUID w5LqIb-xvcr-Xsbk-y3wg-lT3i-LqdN-GFK8Mi
LV Write Access read/write
LV Status available
# open 0
LV Size 2.00 GB
Current LE 512
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:2

今、データの上記セットから、私たちは私のことを推論できる/homeサイズのパーティション、9.67ギガバイトは、LVグループとして利用可能である/dev/system/home/dev/dm-0

パーティションが利用できる場所がわかったので、次のようにmountコマンドを使用してマウントを続行できます。

mount /dev/dm-0 /home

これで、LVパーティションがマウントされました!


7

を実行すると、ボリューム名のリストを取得できますlvscan。出力は次のようになります

/dev/VG1/LV1
/dev/VG1/LV2
/dev/VG2/LV3

すなわち、中央にボリュームグループ名があり、最後に論理ボリュームがあります。それらのいずれかがPalimpsestディスクユーティリティの情報に対応しているかどうかを確認します。

また、既にマウントされているディスクのリスト(mount)と比較し、どのディスクが存在しないかを確認します。少し違って見えるかもしれません、例えば:

$ mount
/dev/mapper/VG1-LV1 is mounted on /usr
/dev/mapper/VG1-LV2 is mounted on /home

ボリュームグループと論理ボリュームが最後に表示される場所を確認できます。

適切なものが見つかったら、通常の方法でマウントします。

mount /dev/VG2/LV3 /mnt

3

guestmount(1)が最も簡単な方法です。

# guestmount -m /invalid/path  -a /path/to/block/device /mnt/
guestmount: '/invalid/path' could not be mounted.
guestmount: Did you mean to mount one of these filesystems?
(...)
guestmount:     /dev/vg0/root (ext4)
(...)

# guestmount -m /dev/vg0/root -a /path/to/block/device /mnt

http://libguestfs.org/guestmount.1.htmlも参照してください

guestmountUbuntu、libguestfs-toolsRHEL、および派生製品でパッケージ化。


2

これをマウントする別の方法が便利だと思いました:

DISK=mydisk

lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g'
LV_DISK=$(lvdisplay | grep $DISK | grep "LV Path" | sed 's/.* //g')

fdisk -l $LV_DISK
fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}'

OFFSET=$(fdisk -lu $LV_DISK | sed -n '/lv[0-9]p[1-3]/ p' | grep p1 | awk '{print $2}')
OFFSET=$((OFFSET * 512))

MOUNT=/mnt/$DISK
mkdir -p $MOUNT
mount -o loop,offset=$OFFSET $LV_DISK $MOUNT

1

次のコマンドを使用して、lvmの名前を表示できます。

lsblk

その名前は/ dev / mapper / dierctoryで見つけることができます。たとえば、次の方法で古いホームディレクトリをマウントできます。

mount /dev/mapper/rhel-home /mnt

0

これは、KVPMを使用してUIから実行できます。

マウントしたいグループを選択して、「mount fs」オプションをクリックするだけです。

ここに画像の説明を入力してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.