前言
本文檔主要是介紹如何在ESXi上擴容安裝了Linux系統的虛擬機
操作環境
操作系統:Esxi 6.0.0
虛擬機操作系統:Linux version 3.10.0-327.3.1.el7.x86_64 ([email protected]) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Wed Dec 9 14:09:15 UTC 2015
當前硬盤大小:30GB
計劃硬盤擴容大小:20GB
Linux磁盤管理基礎知識介紹
物理卷(Physical Volume,PV):就是指硬盤分區,也可以是整個硬盤或已創建的軟RAID,是LVM的基本存儲設備。
卷組(Volume Group,VG):是由一個或多個物理卷所組成的存儲池,在卷組上能創建一個或多個邏輯卷。
邏輯卷(Logical Volume,LV):類似於非LVM系統中的硬盤分區,它建立在卷組之上,是一個標準的塊設備,在邏輯卷之上可以建立文件
系統。
可以做這樣一個設想來理解以上三者的關係:如果把PV比作地球的一個板塊,VG則是一個地球,因爲地球是由多個板塊組成的,那麼在地
球上劃分一個區域並標記爲亞洲,則亞洲就相當於一個LV。
在Linux中規定,每個硬盤設備最多隻能由4個主分區(其中包括一個擴展分區)構成任何一個擴展分區都要佔用一個主分區號碼,也就是在一個硬盤中,主分區和擴展分區一共最多是 4個。(Linux 下面每一個硬盤總共最多有 16 個分區)
操作步驟
1.確認分區類型
由於本方法只針對LVM類型的分區,故在擴容之前先通過以下命令檢查分區類型是否爲Linux LVM類型。
fdisk -l
如上圖所示,/dev/sda2 在system一欄中被標記爲Linux LVM類型,他們的Id是8e。8e代表Linux LVM, 83代表Linux Native分區。確認爲LVM之後,繼續我們的擴容工作。
下圖使用 df -h 命令,查看當前系統磁盤容量和使用情況,目前的大小大約有27GB,計劃擴展20GB,總容量達到47GB。我們打算把20GB的新磁盤擴展到 /dev/mapper/centos-root 這個目錄下面。
注:因爲LVM是邏輯卷磁盤管理程序,故/dev/mapper/centos-root 實際上是在/dev/sda2 上,所以在fdisk -l 中顯示的設備信息中只有/dev/sda2 的分區類型,而看不到/dev/mapper/centos-root 分區,因爲它只是邏輯上存在。所以需要確認分區類型的是/dev/sda2 而不是 /dev/mapper/centos-root,不要暈。。。
2.增加虛擬物理硬盤大小
使用vSphere Client 客戶端訪問vCenter,選中需要擴容的虛擬機(本文選中211),右鍵點擊該虛擬機,選擇“編輯設置”。跳出以下畫面
選擇“硬盤1”,將“磁盤置備”中的“30”GB,改爲“50”GB。
注:如果你的虛擬機的“編輯設置”中無法修改硬盤大小的時候(圖中“置備大小”後的值是灰色,無法修改),原因可能是你在這臺虛擬機上使用了快照功能。你只需要關閉虛擬機,右鍵點擊該虛擬機,選擇“快照”,再選擇“快照管理器”,然後將所有快照刪除,再開啓虛擬機,即可修改硬盤大小。
3.發現新磁盤
重啓虛擬機,使用 fdisk -l 查看是否系統識別到新增的磁盤空間。
如圖所示,磁盤大小從32.2GB,擴容到53.7GB。
4.給新磁盤分區
好了,新的磁盤被識別到了,現在需要給磁盤分區,讓系統能使用到這個新的磁盤空間。
我們現在要在磁盤 /dev/sda 上分區(注意:linux中一塊硬盤的主分區個數不能超過4個,目前sda1,sda2已經佔用了兩個分區名額,新增的分區應該爲第三個主分區,即sda3)。現在開始給磁盤 /dev/sda 分區。我們這裏使用的工具是fdisk。輸入以下命令:
fdisk /dev/sda
如果需要幫助,你可以輸入m獲取更多信息。
現在我們來創建新分區,輸入 n
再輸入p,代表我們現在要創建一個主分區
注:2 primary,0 extended,2 free表示目前我們這塊硬盤上有2個主分區,0個拓展分區,還可以再創建2個主分區。
輸入3,代表創建分區sda3
接下來指定起始扇區和Last扇區,只要敲兩下回車鍵,選擇默認值就好了。
至此,分區工作已完成。
現在要給新建分區指定分區類型了。
輸入t,再輸入3,表示選擇新建的sda3分區,最後輸入8e,代表選擇的是LVM類型。
大功告成,最後輸入w保存我們的配置結果吧。
可以用fdisk -l查看你新建的分區sda3.
5.新增邏輯卷LV
分區建好了,爲了讓之後的LVM可以使用到這個分區,我們需要在新的分區 /dev/sda3 上創建物理卷PV。
輸入以下命令:
pvcreate /dev/sda3
好吧,忘了和你說了,你需要重啓電腦現在。。。 reboot
或者如果你不想重啓電腦,也可以使用partprobe命令
再來一遍 pvcreate /dev/sda3
接下來,我們需要先確認卷組(VG),使用以下命令:
Vgdisplay
現在開始擴容VG大小,使用以下命令:
vgextend centos /dev/sda3
注: centos 是本機的VG Name,每個系統的名字不同,需要用vgdisplay提前查看。
注:如果磁盤容量不足,會有錯誤提示:”Could’t create temporary archive name. Volume group “centos” metadata archive failed. Internal error:Attemp to unlock unlocked VG #orhans”. 原因是因爲磁盤空間實在太小了,無法創建臨時文件來操作磁盤空間擴展。解決方法是,刪除一些系統中沒用的文件,再進行操作。
這時,可以使用pvscan 檢查當前系統的pv情況,看看 /dev/sda3上的PV是否建成了。
再接下來,我們需要增大邏輯捲了,這一步主要目的是把剛剛創建的新分區和新物理卷PV /dev/sda3擴展到當前的邏輯卷,讓系統能識別並且使用這個新空間。
首先先確認當前的邏輯卷組,使用以下命令:
lvdisplay
如圖,/dev/centos/root 是當前邏輯卷LV的掛載路徑。使用以下命令擴展改邏輯卷:
lvextend /dev/centos/root /dev/sda3
邏輯卷擴展成功!但是還沒完,最後,你需要告訴系統有這塊新領域,你可以使用了。輸入以下命令:
xfs_growfs /dev/centos/root
注:如果你使用的文件系統是ext,需要使用命令 resize2fs /dev/centos/root
使用df -TH 查看文件系統,一般centos 是xfs, unbuntu是ext3
最後檢查一下你的成果吧
df -h
完