Linux 虛擬機器擴充套件磁碟空間

tian1982tian發表於2012-05-19

Linux 虛擬機器擴充套件磁碟空間

    昨天,伺服器上的虛擬機器磁碟空間使用率達到100%了,真實麻煩,有什麼辦法將其擴充套件呢。具體方法如下、

VMware7.0安裝目錄下有一個命令列工具vmware-vdiskmanager.exe 程式,可用來修改虛擬機器硬碟的大小。方法如下:
1. 關閉虛擬機器;啟動Windows下的命令提示符介面
2. 命令進入VMware的安裝目錄(如:F:\VMware),輸入“vmware-vdiskmanager”後按Enter鍵,可顯示關於該命令的說明
3. 執行如下命令:
   vmware-vdiskmanager -x  30Gb "g:\project\Red Hat Enterprise Linux 5 64-bit.vmdk"  回車執行
引數-x表示要擴充套件虛擬機器硬碟空間;
緊隨其後的數字指要擴充套件的大小(如30Gb,表示磁碟總量,包含原來的磁碟容量);最後是要操作的虛擬機器Linux的具體檔案;
若路徑名中有空格,必須以雙引號括起來。
等待大約幾分鐘,執行完畢,退出命令提示符視窗,重啟VMware,這時虛擬機器硬碟空間已變成20GB了。這個過程中,已安裝的Linux系統不會被破壞。
如果原來的虛擬機器硬碟已被分成了多個分割槽,那麼在通過 vmware-vdiskmanager.exe擴大了硬碟空間後,還需要在虛擬機器系統中將增加的分割槽劃分、格式化。
4. 啟動虛擬機器系統,用root登入(後續所有步驟都應以root使用者身份登入操作),在 命令列用fdisk -l檢視。由於這裡是直接修改了原始空間大小,因此可以看到/dev/sda空間改變為21.4GB。如果是從VMware選單裡增加虛擬硬碟,則會多出一個/dev/sd?,這裡的?代表硬碟編號,第一個硬碟編號為a即sda,第二個就是sdb,第三個是sdc,以此類推,一般來說,如果以前沒有增加過硬碟,那麼原來的硬碟就是sda,通過VMware選單增加的虛擬硬碟編號就是sdb。如果新增的第二塊硬碟是IDE硬碟,就應該看到hdb,如果是SCSI硬碟,看到的就應該是sdb。
hawkzy:~ # fdisk -l
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          95      763056   82  Linux swap / Solaris
/dev/sda2   *          96         868     6209122+  83  Linux
5. 使用fdisk /dev/sda進入選單項,m是列出選單,p是列出分割槽表,n是增加分割槽,w是儲存並推出。由於系統已經有了2個主分割槽,因此將這次新增的空間劃分為擴充套件分割槽,再將擴充套件分割槽重新分割槽。由於這裡擴充套件分割槽只有10G,因此10G劃為一個區。
hawkzy:~ # fdisk /dev/sda
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
 
Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Selected partition 4
First cylinder (1959-2610, default 1959):
Using default value 1959
Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):
Using default value 2610
 
Command (m for help): p
 
Disk /dev/sda: 30GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          95      763056   82  Linux swap / Solaris
/dev/sda2   *          96         868     6209122+  83  Linux
/dev/sda3             869        1958     8755425   83  Linux
 
Command (m for help): n
First cylinder (1959-2610, default 1959):
Using default value 1959
Last cylinder or +size or +sizeM or +sizeK (1959-2610, default 2610):
Using default value 2610
 
Command (m for help): p
 
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00067588
/dev/sda1               1          95      763056   82  Linux swap / Solaris
/dev/sda2   *          96         868     6209122+  83  Linux
/dev/sda3             869        1958     8755425   5   Extended
/dev/sda4             869        1958     8755425   83  Linux
 
Command (m for help): w
 
6. 用mkfs命令將其格式化為ext3格式。
mkfs.ext3 /dev/sda5
7.增加資料夾/opt/sda5。這裡增加的資料夾是為了掛載新增加的分割槽。
mkdir -p /opt/sda5
8.修改檔案/etc/fstab,掛載/dev/sda5到/opt/sda5下
先備份:
hawkzy:~ # cp /etc/fstab /etc/fstab.bak
9.       重啟init 6
檢視:
hawkzy@hawkzy:~> df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              6111520   5433528    367536  94% /
udev                    648032        60    647972   1% /dev
/dev/sda3              8617868   7008780   1171320  86% /home
/dev/sda4              5154852    141440   4751556   3% /opt/sda5
 
現在掛載已經成功。但是,由於系統空間小的問題並沒有解決(/dev/sda1空間僅餘下6%),因此還需要進一步修改配置。
10.備份/usr資料夾下的檔案到/opt/sda5下
經過分析/dev/sda2下/usr資料夾非常大,佔據3.5G空間,為了釋放系統空間,這裡考慮將用新增加的分割槽作為/usr的映象。而/opt/sda5掛載的/dev/sda5,空間有5G,足夠使用了。
拷貝/usr下的所有檔案到/opt/sda5下:
cp -r /usr/* /opt/sda5/
11.重新修改/etc/fstab檔案,掛載/dev/sda5到/usr目錄下
這一步修改檔案重啟後才能生效。但是修改完後暫時不要重啟。
/dev/sda5            /usr                ext3       defaults              1 1
12.保留/usr資料夾,但是刪除/usr下的所有檔案,為掛載做準備。
cd /usr
rm -rf *
刪除完後重啟。重啟後用命令觀察是否掛載成功,正常情況下應該能夠順利完成。如果掛載失敗,應修改檔案/etc/fstab並且用命令mount重新掛載:
mount /dev/sda4  /usr
hawkzy@hawkzy:~> df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              6111520   2780952   3020112  48% /
udev                    648032        60    647972   1% /dev
/dev/sda3              8617868   7011912   1168188  86% /home
/dev/sda4              5154852   4675196    217800  96% /usr
 
此時,已經將根目錄的/dev/sda1分割槽的空間擴充了

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16400082/viewspace-730211/,如需轉載,請註明出處,否則將追究法律責任。

相關文章