virtualBox虛擬機器linux(CentOS)擴容(增加原先設定的大小 擴容至根目錄)
對於目前的網路開發者來說,比較好的搭檔就是Win7+VirtualBox+CentOS的組合,既可以發揮Linux強大的網路服務功能,也可以有效的隔離各項服務拖慢系統,影響系統的執行,對於新手來說可以減少配置錯誤帶來的損失,最主要的是方便移植,不同每次重灌系統,都要痛苦的安裝配置一大堆東西。
但如果當我們在虛擬機器中安裝和使用的時候,發現系統儲存不夠用,怎麼辦,使用VirtualBox 4 版本以上的可以方便、快速的擴容。
VirtualBox 中虛擬硬碟有幾種形式,VMDK,VDI,VHD,HDD等,
對於VMDK是VMware開發並使用的,同時也被SUN的xVM、QEMU、SUSE Studio、.NET DiscUtils支援,所以相容性會好些
VDI是Virtual Box 自己的處理格式,而且Virtual Box支援Windows和Linux,所以對於使用VirtualBox的使用者比較好
VHD是Windows專有的處理格式,HDD是Apple專有的處理格式,所以不會支援跨平臺,一般不會考慮。
我們這裡以如何給VMDK和VDI擴容為例,至於其它格式自己百度谷歌轉換吧
VDI
VDI擴容最簡單,一條命令:
-
<span style="font-size:14px;"><strong>VBoxManage modifyhd xxxx.vdi --resize 16000 //xxxx.vdi一般會於VirtualBox VMs裡</strong></span>
VMDK
如果是VMDK就要先轉換成VDI,然後再擴容
- VBoxManage clonehd "xxxx.vmdk" "cloned.vdi" --format vdi
- VBoxManage modifyhd "cloned.vdi" --resize 16000 //這裡的單位是M
- VBoxManage clonehd "cloned.vdi" "resized.vmdk" --format vmdk
能過
下面就是在開啟虛擬機器--選個系統--右擊--設定--儲存--控制器SATA--右邊的新增虛擬硬碟--選擇克隆的檔案就行了。
在虛擬機器開啟系統,通過df -h檢視發現,根目錄還是原樣,下面我們通過lVM來擴充套件分割槽。
LVM(Logic Volume Manager)邏輯卷管理,像RedHat系的預設分割槽管理方式,是建立在硬碟分割槽之上,檔案系統之下的邏輯層,用來解決在最初分割槽時未正確的評估和和分配分割槽容量,而造成系統分割槽不夠用。
想起某大神的一句話,計算機裡的任何問題,都可以通過加一層中間層來解決。
所以擴充套件分割槽就是幾行程式碼的事了.
sudo fdisk -l 檢視當前系統分割槽情況。可以看到我們已經建立的分割槽,sda1 sda2的什麼,也可以ls /dev/來檢視。如果有第二塊硬碟會看到sdb,
我這裡是只有一塊,且已經分了sda1和sda2.
下面建立將擴充套件的空間,建立新分割槽
- sudo mkfs.ext4 /dev/sda4 //將分割槽格式化為ext4格式
- sudo vgdisplay //主要是檢視卷組名,我這裡是VolGroup,記著下面要用
- sudo pvcreate /dev/sda4 //建立新物理卷
- sudo vgextend VolGroup /dev/sda4 //擴充套件到卷 組
- sudo lvextend -L +6.96 /dev/VolGroup/lv_root
- sudo lvextend /dev/VolGroup/lv_root /dev/sda4
- //兩個命令都可以,不過下面好些,不用計算,命令意思是擴充套件到邏輯分割槽
如果出現如下錯誤:
則
- sudo vgreduce --removemissing VolGroup 即可解決
最後
- sudo resize2fs /dev/VolGroup/lv_root //重新整理邏輯分割槽容量
- sudo df -h //會發現根分割槽,現在容量翻倍了。。。
sudo reboot //重啟系統,一切OK,我的虛擬機器又復活了。。。
PS:補充一些LVM的基本知識:
LVM中有PV、VG、LV分別表示物理卷、卷組、邏輯卷。
操作流程就是先是通過pvcreate將整個分割槽和硬碟建立為物理卷--》對家vgcreate建立卷組volgroup,並把pvcreate的物理卷加入--》然後通過lvcreate在卷組volgroup中建立我們需要的比如20G大小的邏輯卷-->利用mkfs格式化為相應該的格式比如ext4-->通過mount掛載,形成我們可以訪問的檔案系統。
如果要擴容----通過lvextend -L +xxG /dev/VolGroup/zzz之類的 增加容量
如果要壓縮----解除安裝掉邏輯卷--》e2fsck檢測剩餘的容量--》resizef2fs /dev/VolGroup/zzz xxM 減少xxM--》lvreduce -L xxM 將邏輯卷減少xxM
刪除命令 lvremove vgremove pvremove ,也是要先umount 同時要修改/etc/fstab中的掛載資訊,否則啟動不起來
原文出處:http://blog.csdn.net/king_of_fighter/article/details/17768201