LVM在vmware中增大linux的根分区

    技术2026-04-12  0

    近日在 vmware 中虚拟的 cent os 上安装 xen 时,安装过程进行了一个多小时后, make 说磁盘空间不够,异常退出了,令人深感郁闷。这个时候,只想到了两个解决方法:一,看看 vmware 能不能改变硬盘大小;二,用 vmware 给虚拟机操作系统添加一块硬盘。这两种方法都能增大硬盘容量,等增大硬盘容量后,再考虑如何改变分区大小。vmware 的图形界面上不能改变 guest 操作系统的硬盘大小。在命令行中进到 vmware 的安装目录,发现一个程序 vmware-vdiskmanager.exe ,它的 help 说明它可以做么这一点。在网上搜索了一下,真有使用这个工具更改磁盘容量的。于是:D:/Program Files/VMware/VMware Workstation>vmware-vdiskmanager.exe -x 10GB "e:/Cent OS/Cent OS.vmdk " 

    Grow: 100% done. Disk expansion completed successfully. WARNING: If the virtual disk is partitioned, you must use a third-party          utility in the virtual machine to expand the size of the          partitions . For more information, see:          http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647

    然后开始在网上找如何更改 linux 下分区的大小。边看网上的文档边实践,在这个过程持续了好几个小时,找到了不少关于 LVM 的文档,但同时也郁闷地发现,增加的硬盘容量在 guest 操作系统中根本看不到,连看都看不到,自然无法动手。只好用第二种方法,反正网上介绍 LVM 的文档也都是在新增一块硬盘的情况下扩展分区容量的。先用 vmware-vdiskmanager.exe 把增加的硬盘容量 shrink 回去。D:/Program Files/VMware/VMware Workstation>vmware-vdiskmanager.exe -k "e:/Cent OS/Cent OS.vmdk "现在,关闭 guest 操作系统。在 vmware 中, edit 虚拟机的设置,点击 add ,新增一块 SCSI 硬盘。重启。[root@jcwkyl ~]# cd /dev[root@jcwkyl dev]# ls sd * 

    sda sda1 sda2 sdb

    这个 sdb 就是新增的那块 SCSI 硬盘了。然后:[root@jcwkyl dev]# lvmlvm > pvcreate /dev/sdblvm > vgdisplay 

    --- Volume group --- VG Name               VolGroup00 System ID Format                lvm2 Metadata Areas        2 Metadata Sequence No 5 VG Access             read/write VG Status             resizable MAX LV                0 Cur LV                2 Open LV               2 Max PV                 0 Cur PV                2 Act PV                2 ……

    查看卷组的信息。然后:lvm > vgextend VolGroup00 /dev/sdb                  lvm > vgdisplay这个时候已经可以看到 VolGroup00 的容量变成了 10.84G 。lvm > pvdisplay 

    --- Physical volume --- PV Name               /dev/sda2 VG Name               VolGroup00 PV Size               5.90 GB / not usable 24.06 MB Allocatable            yes (but full) PE Size (KByte )       32768 Total PE              188 Free PE               0 Allocated PE          188 PV UUID               pCjs4H-Xygt-K332-rwkQ-sXwN-2LhC-MJkcw3 --- Physical volume --- PV Name               /dev/sdb VG Name               VolGroup00 PV Size               5.00 GB / not usable 32.00 MB Allocatable            yes PE Size (KByte )       32768 Total PE              159 Free PE               15 Allocated PE          144 PV UUID               5L1QpE-KO2j-2MYz-qN09-zXxR-1Pwj-SC5dlR

    lvm > lvdisplay 

    --- Logical volume --- LV Name                /dev/VolGroup00/LogVol00 VG Name                VolGroup00 LV UUID                2rLJVW-zMFE-dAQ9-eRiE-oRZE-gvhW-AkzpsJ LV Write Access        read/write LV Status              available # open                  1 LV Size                4.88 GB Current LE             300 Segments               2 Allocation             inherit Read ahead sectors     auto - currently set to     256 Block device           253:0 --- Logical volume --- LV Name                /dev/VolGroup00/LogVol01 VG Name                VolGroup00 LV UUID                Nx0PK2-Vb7Y-7YXe-Skd6-FCRD-xPI7-YJLjfZ LV Write Access        read/write LV Status              available # open                  1 LV Size                1.00 GB Current LE             32 Segments               1 Allocation             inherit Read ahead sectors     auto - currently set to     256 Block device           253:1  

    lvm > lvextend -L +4.5G /dev/VolGroup00/LogVol00一开始是 +5G 的,但是说空间不够,所以改成了 4.5G 。lvm > quit[root@jcwkyl dev]#e2fsck -f /dev/VolGroup00/LogVol00[root@jcwkyl dev]#resize2fs /dev/VolGroup00/LogVol00现在:[root@jcwkyl dev]# df -h 

    Filesystem              Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00                       9.1G 2.8G 5.9G 33% / /dev/sda1              99M   12M   82M 13 % /boot tmpfs                  189M     0 189M   0% /dev/shm

    上面输出冗长,因为第一次使用 LVM 比较新鲜,都贴上了。总的来说,用到的命令就是:为了使用 LVM 先初始化一块 physical volumn :pvcreate /dev/sdb然后把它加到卷组 (volumn group) 里去:vgextend vgextend VolGroup00 /dev/sdb其中卷组名是通过 vgdisplay 看到的。这些命令非常有用: fdisk , parted, mkfs.ext3, df , mount ,另外还有 /etc/fstab 文件。上面加入卷组成功后,扩展逻辑卷的容量,这个逻辑卷就是挂载到 / 上的分区,可以通过 mount 来看到:lvextend -L +4.5G /dev/VolGroup00/LogVol00最后是两条命令:e2fsck -f /dev/VolGroup00/LogVol00resize2fs /dev/VolGroup00/LogVol00

    最新回复(0)