• 使用LVM在vmware中增大linux的根分区


    近日在 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:\C
    ent 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 O
    S\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]# lvm
    lvm > pvcreate /dev/sdb
    lvm > 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/LogVol00
    resize2fs /dev/VolGroup00/LogVol00


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jcwkyl/archive/2009/07/25/4380290.aspx

  • 相关阅读:
    FusionCharts数据展示成饼状图、柱状图和折线图
    Js获取request中的对象的属相值
    在grid结果集中实现全选或全不选某些特定的行
    JQuery的一些基础知识
    查询的数据插入不到临时表中的原因
    Javascript获取页面表格中的数据
    ajax实现菜单联动显示信息(当选择单位的时候,动态关联出人员信息)
    form表单只提交数据而不进行页面跳转的解决方案
    NotSupportedException-无法将类型“System.DateTime”强制转换为类型“System.Object”
    LINQ to SQL语句
  • 原文地址:https://www.cnblogs.com/joeblackzqq/p/2002013.html
Copyright © 2020-2023  润新知