1、通過vm的UI界面進行擴容基本上是不行的,至少在我的版本上是這樣,各種灰色按鈕,各種出錯;並且,界面擴容失敗后若打不開虛擬機,不要慌,只要你擴容之前的那個硬盤文件(我的是ubuntu64.vmdk,全編一個android項目后39G)還在,基本上是可以恢復的,一定要有耐心喲。另外,如果不是服務器級的硬盤,就不要使用快照了,感覺這個功能很坑爹,非常吃硬盤不說,關鍵是當它吃完你的硬盤后,你想刪除快照,對不起,您的硬盤已滿,請預留70G空間再刪除。於是你這時只有一種選擇,就是刪掉整個虛擬機。ps:不要試圖暴力刪除快照,如:刪快照到一半時取消,這樣會照成你的虛擬機永遠進不去也恢復不了,這會使得你在刪除整個虛擬機之前喪失備份關鍵數據的唯一機會。筆者經歷了災難性的數據損失,完全是血的教訓。
下面是使用命令行工具擴容。使用vmware提供的命令行工具vmware-vdiskmanager.exe,在windows下運行cmd,轉到vmware安裝目錄,vmware-vdiskmanager.exe 可以查看幫助。輸入如下命令擴容:vmware-vdiskmanager -x 160Gb "D:\VMware\WinXP\myUbuntu.vmdk"。注:此時要擴容的系統不能在運行,參數 -x表示要擴展虛擬機的硬盤空間,緊隨其后的數字是要擴展到的大小。最后是制定要操作的虛擬機磁盤的具體文件。要是路徑名中有空格,必須以雙括號括起來。

2、重啟虛擬機,發現虛擬機的硬盤是變成50G了,但進入Ubuntu系統后,用df -ah查看發現硬盤還是原先那么大。接下來要分區、指定文件系統,ubuntu才能識別。
3、分區。以root權限進ubuntu,
fdisk -l,打印當前磁盤分區表,這時我們可以看到磁盤總量的確增加到了前面設置的大小,但是分區還是只有那幾個原有的分區。
fdisk /dev/sda ,sda就是經過擴容的SCSI硬盤,IDE類型的硬盤對應為hda,這個命令告知下面對該硬盤進行操作。
m,列出幫助
n,添加新分區
p,創建主分區
3,或直接回車選擇默認分區號,應該也是3。
直接回車,采用默認Start值,此處不選擇默認值會浪費空間
再回車,采用默認End值
注意!!此時注意看清end - start的大小,如果只有很小的一段空間,需要再添加一個分區,按上述步驟執行,N,P,回車
v,檢查為分配磁盤大小,若是只有幾M或更小則成功。
w,保存並退出,分區完畢
重啟ubuntu
4、格式化新添加的分區:
mkfs -t ext3 /dev/sda3
5、掛載該分區:
手動掛載:sudo mount /dev/sda3 /mnt/sda3 表示將該新分區掛載到/mnt/sda3/這個目錄下。注,手動掛載的信息記錄在/etc/mtab
或者開機自動掛載,修改文件:gedit /etc/fstab,添加一行
/dev/sda3 /mnt/sda3 ext3 defaults, 0 1
到此便可以使用新分區了,df -ah查看結果
6、使用新分區
現在,硬盤中多出來的這80G空間,只有在/dev/sda3下才能用,在其它地方,使用的依然是system分區——也就是原來的那80G。但我要在其它地方存文件怎么辦呢,可以用link來解決——把新分區中的內容映射到某個舊分區上,這樣占用的新分區的空間,看起來確是存在舊分區某個你需要的位置。
命令例子:
mv /source/juice /mnt/sda3/source
ln -s /mnt/sda3/source/juice /source
這樣,就可以像原來那樣在/source/juice下做任何操作了,而它們實際發生在/mnt/sda3/source/juice下。
//-------------------------------------------------------------------------------------------------------------
若fdisk -l 指令顯示出當前分區中有extended類型的大容量分區, 如:
[root@edes02 ~]# fdisk -l
Disk /dev/sda: 1979.1 GB, 1979119894528 bytes
255 heads, 63 sectors/track, 240614 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: 0x2135c370
Device Boot Start End Blocks Id System
/dev/sda1 1 5 40131 de Dell Utility
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 6 267 2097152 c W95 FAT32 (LBA)
Partition 2 does not end on cylinder boundary.
/dev/sda3 267 330 512000 83 Linux
Partition 3 does not end on cylinder boundary.
/dev/sda4 330 240615 1930084160 5 Extended
Partition 4 does not end on cylinder boundary.
則可用以下命令直接擴容:
lvextend -L +100G /dev/mapper/VolGroup-lv_root
/dev/mapper/VolGroup-lv_root
其中/dev/mapper/VolGroup-lv_root是我的主分區
擴容成功提示:
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 4, new_desc_blocks = 35
Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 144179200 (4k) blocks.
The filesystem on /dev/mapper/VolGroup-lv_root is now 144179200 blocks long.
現在查看分區:
[root@edes02 ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 542G 27G 488G 6% /
tmpfs 16G 26M 16G 1% /dev/shm
/dev/sda3 485M 40M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 79G 29G 46G 39% /home
