kpartx

lomount命令虽然非常方便,但是如果在挂载对象的磁盘映像中使用LVM,就无法使用该命令。要挂载LVM的磁盘映像,就需要使用kpartx命令。kpartx用于设备映射的分区表管理工具。

首先,不使用LVM的磁盘映像的挂接方式如下。


kpartx-av./x8664_domU_centos54.img……①

add map loop3p1:0 208782 linear/dev/loop3 63

add map loop3p2:0 20755980 linear/dev/loop3 208845

mount/dev/mapper/loop3p2/mnt……②

ls/mnt/

bin boot dev etc home lib lib64 lost+found media misc mnt net opt

proc root sbin selinux srv sys tmp usr var

umount/mnt/……③

kpartx-dv./x8664_domU_centos54.img……④

del devmap:loop3p1

del devmap:loop3p2

loop deleted:/dev/loop3


①使用kpartx命令的a选项将磁盘映像映射到设备。②磁盘映像内的2号分区表可以作为/dev/mapper/loop3p2使用,因此可以使用mount命令挂载。③卸载时使用umount命令来进行。最后④使用kpartx的d选项删除设备映射。

下列介绍的是挂接使用LVM的磁盘映像的情况。

kpartx - 图1

首先与前例相同,⑤使用kpartx的a选项将磁盘映像映射到设备。⑥使用vgscan命令检索LVM的卷组(volume group)。⑦使用vgchange命令启用卷组。⑧使用lvs命令确认逻辑卷,⑨使用mount命令将要挂接的逻辑卷挂接。这里指定的是在/dev下生成的逻辑卷的设备文件。⑩使用umount命令卸载后,[11]使用vgchange命令禁用卷[12]组,使用kpartx命令的d选项删除设备映射。

执行vgscan后,LVM的卷组名有时会检测出相同的名称。卷组在系统中必须是唯一的,因此如果存在相同的卷组名,需要使用vgrename命令更改卷组名。下面是使用vgrename命令更改卷组名的例子。通过vgdisplay检查VG UUID,使用vgrename来更改卷组名。操作结束后,再次使用vgrename命令将卷组名改回。


vgdisplay

—-Volume group—-

VG Name VolGroup

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 3

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 0

Max PV 0

Cur PV 1

Act PV 1

VG Size 2.50 GiB

PE Size 32.00 MiB

Total PE 80

Alloc PE/Size 80/2.50 GiB

Free PE/Size 0/0

VG UUID GvnrGk-xA3M-9M20-qIlX-zA94-IoQv-4JYKDM

—-Volume group—-

VG Name VolGroup

System ID

Format lvm2

Metadata Areas 1

Metadata Sequence No 3

VG Access read/write

VG Status resizable

MAX LV 0

Cur LV 2

Open LV 1

Max PV 0

Cur PV 1

Act PV 1

VG Size 2.50 GiB

PE Size 32.00 MiB

Total PE 80

Alloc PE/Size 80/2.50 GiB

Free PE/Size 0/0

VG UUID Z48bLY-U9wv-Xrwy-0ZV3-23b7-Zv8N-SUNswN

vgrename GvnrGk-xA3M-9M20-qIlX-zA94-IoQv-4JYKDM VolGroup_1

Volume group"VolGroup"successfully renamed to"VolGroup_1"

vgscan

Reading all physical volumes.This may take a while……

Found volume group"VolGroup_1"using metadata type lvm2

Found volume group"VolGroup"using metadata type lvm2

vgs

VG#PV#LV#SN Attr VSize VFree

VolGroup 1 2 0 wz—n-2.50g 0

VolGroup_1 1 2 0 wz—n-2.50g 0

vgchange-ay VolGroup_1

2 logical volume(s)in volume group"VolGroup_1"now active