一.现象

由于VMware的Linux虚拟化由于误操作测试导致系统启动不了,需要将系统中的数据拷贝出来,所以想到将VMware的vmdk磁盘文件挂载到另一个能用的系统中进行拷贝,但是由于创建的系统都是用默认的方式创建的,所以一般的系统盘都是由两个分区组成,例如/dev/sda,/dev/sda1用来存放启动项,而/dev/sda2是一个逻辑卷,通过LVM进行管理,由于故障系统的vg卷组名称和正常系统的一样,都是由/dev/VolGroup/lv_root、/dev/VolGroup/lv_home、/dev/VolGroup/lv_swap三部分组成的,由于逻辑卷的名字是一样的,所以这样导致将故障系统盘/dev/sdb挂载后,其中的逻辑卷部分不能挂载。

二.解决办法

1.查看磁盘情况

fdisk -l  //下面会看到所有硬盘的情况,sda是虚拟机自己的硬盘,sdb则是挂载上去的硬盘

 2.扫描所有卷组

vgscan  //扫描所有卷组,通过大小进行区分

3.显示出多有卷组信息

vgdisplay  //显示出多有卷组信息

4.重新命名挂载盘的卷组名

因为和虚拟机本身的卷组名是一样的所以LVM分区无法挂载,必须改名(要修改挂载盘的卷组名,这里要分编号哪个是挂载上去的),这里的类似于序列号的就是VG UUID,卷组名是一样的,只能靠VG UUID来修改卷组名。VG UUID根据情况进行修改,通过vgdisplay可以查看。

vgrename JTFVF9-ULu5-cHKu-T1p3-4HnB-Tk2p-BpjwHX vg01

 5.扫描lv逻辑卷

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

6.激此卷组

vgchange -ay /dev/vg01  #激活卷组

lvscan  #查看激活状态

 7.挂载磁盘

mkdir  /mnt/hdb  #创建挂载目录

mount  /dev/vg01/LogVol00 /mnt/hdb  挂载


#拷贝完数据之后

umount  /mnt/hdb  #卸载

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

注意:修改过卷组名的这个硬盘是不能再启动了,应为默认启动引导是引导到VolGroup00卷组的,所以修改过卷组名的硬盘要想仍能重新启动的话,必须把卷组名修改会默认的VolGroup00,但是在已经有VolGroup00卷组的虚拟机上是不能修改的!