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

來源:互聯網
上載者:User

近日在 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.