擴大VMware虛擬機中linux硬盤空間
來操作的。如果您的環境不是LVM的,可以考慮改成LVM的,否則后文無需再讀。具體執行過程將細細道來。
第一步、使用VMware工具擴容分配的硬盤空間
1、 vmware 提供一個命令行工具,在Windows下為vmware-vdiskmanager.exe位于 vmware 的安裝目錄下,比如 C:Program FilesVMwareVMware Workstationvmware-vdiskmanager.exe.
在Linux下有直接的vmware-vdiskmanager指令。
進行的操作:在 windows 下運行 CMD , 轉到 vmware 的安裝目錄,可執行vmware-vdiskmanager.exe;在Linux下,直接敲入vmware-vdiskmanager ,可執行該指令擴充使用的指令: vmware-vdiskmanager -x 16Gb myNewlinux.vmdk
說明:要擴容的系統這時不能在運行 ,參數 "-x" 表示要擴展虛擬機硬盤空間,緊隨其后的數字是要擴展到的大小 ,而非增加量 (本例為擴展到 16GB ,這是一個磁盤總量,包含了原先的磁盤容量 ) 。最后是指定要操作的虛擬機磁盤的具體文件,要是路徑名中有空格,必須以雙引號括起來。按回車鍵開始執行,執行完畢,退出命令提示符窗口,重啟 VMware ,會發現虛擬機硬盤空間已變成 16GB 了。
2、我們重啟虛擬機后,發現虛擬機的硬盤是變成 16GB 了,但進入 linux 系統后,用 "df -h"查看發現硬盤空間還是原先那么大。雖然已經擴大了磁盤,但是由于還沒有經過分區,指定文件系統,所以 linux 操作系統無法識別。其實就相當于你的硬盤雖然大了,但是你并沒有對其進行分區是一個道理。
第二步、使用Linux下的fdisk工具進行分區
首先,需要以root身份登錄系統。
fdisk 命令: fdisk -l : 打印當前的磁盤分區表,這時我們可以看到磁盤的總量的確增加到16GB 了,但是分區只有以前的那幾個原有的分區。
鍵入命令: fdisk /dev/sda “sda 就是經過擴容的硬盤,為 SCSI 硬盤, IDE 類型硬盤對應為 hda ,是對該硬盤進行操作 ”
鍵入: m “ 列出 fdisk 的幫助 ”
我們在這里是要添加一個新分區,即將擴容出來的那部分做成一個新分區,這樣才能被操作系統掛載識別。
鍵入: n ” 命令 n 用于添加新分區 "
此時, fdisk 會讓你選擇添加為邏輯分區呢(編號從 5 開始)還是主分區(編號 1 到 4 )。
選擇主分區吧,則鍵入 p ;選擇邏輯分區鍵入 l 。
我們選擇主分區于是:
鍵入: p " 選擇創建主分區 "
此時, fdisk 會讓你選擇主分區的編號,如果已經有了主分區 sda1 , sda2 ,那么編號就選3 ,即要創建的該分區為 sda3.
鍵入: 3
此時, fdisk 又會讓你選擇該分區的開始值這個就是分區的 Start 值( start cylinder );這里最好直接按回車,如果您輸入了一個非默認的數字,可能會造成空間浪費;
對于分區的 End 值(end cylinder),同樣直接按回車。這時候會顯示出你新建分區的柱面范圍和空間大小。
此時鍵入: w 表示" 保存所有并退出,分區劃分完畢 "
我們的新建分區/dev/sda3,卻不是LVM的。所以,接下來使用fdisk將其改成LVM的。
[root@CNGI-SIP6-BUPT ~]# fdisk /dev/sda Command (m for help): m Command (m for help): n //創建分區 Command action e extended p primary partition (1-4) p //創建主分區 Partition number (1-4): 3 //創建id號為3的分區 First cylinder (2611-5221, default 2611): 2611 //指定開始位置 Last cylinder or +size or +sizeM or +sizeK (2611-5221, default 5221): 5221 //結束位置 Command (m for help): t //改變分區系統id Partition number (1-4): 3 //指定分區號 Hex code (type L to list codes): 8e //指定要改成的id號,8e代表LVM。 Command (m for help): w |
我們現在還不能用這個分區 , 因為我們沒格式化。這時要重啟系統就能夠在 dev 下面看到 sda3 ,如果不重啟不能進行下面操作。
重啟后,在此查看fdisk -l
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 1044 8281507+ 8e Linux LVM
/dev/sda3 1045 2088 8385930 8e Linux LVM
可以看到/dev/sda3已支持LVM。
第三步、格式化該新添加的分區
鍵入:
mkfs -t ext3 /dev/sda3
或者
mkfs.ext3 /dev/sda3
運行mkfs.ext3 /dev/sdb3報錯“Could not stat /dev/sdb3”,但是這個分區肯定是存在的,剛剛 fdisk 加上去的,查了一下資料:
運行
partprobe
再執行mkfs.ext3 /dev/sdb4 ,就可以了
來格式化指定的分區,依次類推,現在的系統大部分都是 ext3 格式,如果你需要其它的,可以查看mkfs 的幫助。
到此為止,我們就新建了一個分區/dev/sda3,此時我們已經可以通過掛載,來使用這個新的空間。但是對于我,這并不能滿足我的需求,因為服務器的服務程序是在根目錄上的,目前根目錄空間已經使用完畢,所以能把新建的分區使用在更目錄上,分擔根目錄的空間,才能解決問題。
下面用到的理論是基于LVM的,如果不知道的話,建議稍微查些資料有助于理解。當然,一步步的跟我做,應該也沒有問題。
第四步、擴充根分區
接著,使用vgextend 命令加到lvm組里面去,做如下操作:
[root@CNGI-SIP6-BUPT ~]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LogVol00 VolGroup00 -wi-ao 3.97G LogVol01 VolGroup00 -wi-ao 3.91G [root@CNGI-SIP6-BUPT ~]# pvcreate /dev/sda3 Physical volume "/dev/sda3" successfully created [root@CNGI-SIP6-BUPT ~]# vgextend VolGroup00 /dev/sda3 (其中是當前需要擴充的lvm組名,可以通過df -h查看,例如我的是: /dev/mapper/VolGroup00-LogVol00) Volume group "VolGroup00" successfully extended You have new mail in /var/spool/mail/root [root@CNGI-SIP6-BUPT ~]# vgdisplay --- Volume group --- VG Name VolGroup00 System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 4 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 VG Size 15.84 GB PE Size 32.00 MB Total PE 507 Alloc PE / Size 252 / 7.88 GB Free PE / Size 255 / 7.97 GB VG UUID 3vSeag-Q74D-Gn1b-OHEq-zyH1-YgSO-ThhBCp [root@CNGI-SIP6-BUPT ~]# |
主要查看Free PE / Size 255 / 7.97 GB,說明我們最多可以有7.97G的擴充空間。
最后,給根分區增加空間
[root@CNGI-SIP6-BUPT ~]# lvextend -L +7.96G /dev/VolGroup00/LogVol00 /dev/sda3 Rounding up size to full physical extent 7.97 GB Extending logical volume LogVol00 to 11.94 GB Logical volume LogVol00 successfully resized [root@CNGI-SIP6-BUPT ~]# [root@CNGI-SIP6-BUPT ~]# vim /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 ~ |
邏輯卷現在使用的就是ext3的文件系統最后擴展一下文件系統,此處不需要卸載,就ok了
要先做fsck,檢查文件系統:e2fsck -f /dev/VolGroup00/LogVol00
告訴系統,分割區大小有調整了,以下以實際情況為主
[root@CNGI-SIP6-BUPT ~]# resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.39 (29-May-2006) Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required Performing an on-line resize of /dev/VolGroup00/LogVol00 to 3129344 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 3129344 blocks long. |
到此所有操作完畢,使用df -h來查看擴充后的空間大小。是不是如愿以償的增加了,成就感呼呼的~~
posted on 2014-04-01 11:08 順其自然EVO 閱讀(226) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄 、linux