如何掛載另一個lvm硬盤

由於測試導致系統啓動不了,需要將系統中的數據拷貝出來,所以想到將磁盤掛載到另一個能用的系統中進行拷貝,但是由於創建的系統都是用默認的方式創建的,所以一般的系統盤都是由兩個分區組成,例如/dev/sda,/dev/sda1用來存放啓動項,而/dev/sda2是一個邏輯卷,都是由/dev/VolGroup/lv_root、/dev/VolGroup/lv_home、/dev/VolGroup/lv_swap三部分組成的,由於邏輯卷的名字是一樣的,所以這樣導致將系統盤/dev/sdb掛載後,其中的邏輯卷部分不能掛載。

解決方法:

下面介紹分區格式爲爲Linux LVM的虛擬機掛載另一塊的Linux LVM硬盤的方法:

在Hyper-V上添加要掛載的硬盤,開啓虛擬機,啓動好以後

#fdisk -l //下面會看到所有硬盤的情況,sda是虛擬機自己的硬盤,sdb則是掛載上去的硬盤

複製代碼
[root@localhost ~]# fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000c4715

Device Boot Start End Blocks Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 64 121602 976248832 8e Linux LVM

Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_swap: 8338 MB, 8338276352 bytes
255 heads, 63 sectors/track, 1013 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/mapper/VolGroup-lv_home: 937.6 GB, 937649242112 bytes
255 heads, 63 sectors/track, 113996 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/sdb: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ec679

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 64 512000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 64 14594 116707328 8e Linux LVM
複製代碼
#vgscan //掃描所有卷組

[root@localhost ~]# vgscan
Reading all physical volumes. This may take a while...
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
Found volume group "VolGroup" using metadata type lvm2
Found volume group "VolGroup" using metadata type lvm2
#vgdisplay //顯示出多有卷組信息

複製代碼
[root@localhost ~]# vgdisplay
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
WARNING: Duplicate VG name VolGroup: Existing JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX (created here) takes precedence over FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ
--- Volume group ---
VG Name VolGroup
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 111.30 GiB
PE Size 4.00 MiB
Total PE 28492
Alloc PE / Size 28492 / 111.30 GiB
Free PE / Size 0 / 0
VG UUID JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX

WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
--- Volume group ---
VG Name VolGroup
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 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 931.02 GiB
PE Size 4.00 MiB
Total PE 238341
Alloc PE / Size 238341 / 931.02 GiB
Free PE / Size 0 / 0
VG UUID FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ
複製代碼
(主要是通過大小來區分的)

[root@localhost ~]# vgrename JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX vg01
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
WARNING: Duplicate VG name VolGroup: Existing FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ (created here) takes precedence over JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX
WARNING: Duplicate VG name VolGroup: Existing JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX (created here) takes precedence over FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ
Volume group "VolGroup" successfully renamed to "vg01"
//重新命名掛載盤的卷組名,因爲和虛擬機本身的卷組名是一樣的所以LVM分區無法掛載,必須改名(要修改掛載盤的卷組名,這裏要分編號哪個是掛載上去的),這裏的類似於序列號的就是VG UUID,卷組名是一樣的,只能靠VG UUID來修改卷組名

看到最下面Volume group "VolGroup00" successfully renamed to "vg01"則說明改名成功

#vgdisplay //可以看到已經有一個改名爲vg01

複製代碼
[root@localhost ~]# vgdisplay
--- Volume group ---
VG Name vg01
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
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 111.30 GiB
PE Size 4.00 MiB
Total PE 28492
Alloc PE / Size 28492 / 111.30 GiB
Free PE / Size 0 / 0
VG UUID JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX

--- Volume group ---
VG Name VolGroup
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 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 931.02 GiB
PE Size 4.00 MiB
Total PE 238341
Alloc PE / Size 238341 / 931.02 GiB
Free PE / Size 0 / 0
VG UUID FKsJuO-7348-hHqs-MKVq-WLMl-2Sbh-0oh8NZ
複製代碼
#lvscan //看到上面兩個是掛在上去的磁盤,沒有激活

複製代碼
[root@localhost ~]# lvscan
inactive '/dev/vg01/lv_root' [50.00 GiB] inherit
inactive '/dev/vg01/lv_home' [53.45 GiB] inherit
inactive '/dev/vg01/lv_swap' [7.85 GiB] inherit
ACTIVE '/dev/VolGroup/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/VolGroup/lv_home' [873.25 GiB] inherit
ACTIVE '/dev/VolGroup/lv_swap' [7.77 GiB] inherit
可以看到下面ACTIVE是正在使用的系統盤,而上面是需要拷貝出來的系統盤
複製代碼
#vgchange -ay /dev/vg01 //激此卷組

[root@localhost ~]# vgchange -ay /dev/vg01
3 logical volume(s) in volume group "vg01" now active
#lvscan //看下vg01的卷組是否被激活

複製代碼
[root@localhost ~]# lvscan
ACTIVE '/dev/vg01/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/vg01/lv_home' [53.45 GiB] inherit
ACTIVE '/dev/vg01/lv_swap' [7.85 GiB] inherit
ACTIVE '/dev/VolGroup/lv_root' [50.00 GiB] inherit
ACTIVE '/dev/VolGroup/lv_home' [873.25 GiB] inherit
ACTIVE '/dev/VolGroup/lv_swap' [7.77 GiB] inherit
複製代碼
#mkdir /mnt/hdb //新建一個文件夾用來作爲掛載點

#mount /dev/vg01/邏輯卷名(比如LogVol00) /mnt/hdb //掛載vg01/LogVol00

使用完以後要卸載

#umount /mnt/hdb

#vgchange -an /dev/vg01 去除激活的LVM分區

修改過卷組名的這個硬盤是不能再啓動了,應爲默認啓動引導是引導到VolGroup00卷組的,所以修改過卷組名的硬盤要想仍能重新啓動的話,必須把卷組名修改會默認的VolGroup00

但是在已經有VolGroup00卷組的虛擬機上是不能修改的!這裏我們單獨建立一個分區格式不是Linux LVM格式的虛擬機來掛載硬盤,其格式爲ext3的(顯示爲Linux)

#fdisk -l //查看是否識別掛上的硬盤

#vgscan //掃描卷組

#lvscan //查看要改名的卷組是否被激活,要是被激活的話則不能修改卷組名,如果直接修改的話會提示報錯

#vgchange -an /dev/VolGroup00 //如果上一步驟是激活狀態,則需用此命令修改爲不激 活狀態

#lvscan //查看是否修改爲不激活狀態

#vgrename vg01 VolGroup00 //修改爲不激活狀態則可以修改卷組名

在ext3格式分區的虛擬機上直接掛載Linux LVM分區的硬盤的方法如下:

#fdisk -l //查看是否識別掛上的硬盤

#vgscan //掃描卷組

#vgdisplay //顯示所有卷組

#lvscan //查看掛載的磁盤的卷組是否處於激活的狀態

#vgchange -ay /dev/VolGroup00 //如上步看到沒有激活,則執行此命令

#mkdir /mnt/hdb //創建掛載點的文件夾

#mount /dev/VolGroup00/LogVol00 /mnt/hdb // 掛載,掛載後則可以訪問/mnt/hdb

#umount /mnt/hdb //卸載磁盤

#vgchange -an /dev/VolGroup00 //去除掛載磁盤卷組的激活狀態

補充如果要設置開機自動加載LVM分區:

vim /etc/fstab

加入

/dev/vg110/LogVol01 /wwwroot/ ext4 defaults 0 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章