VMware虛擬機中的ubuntu硬盤擴容


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM