天天看點

Esxi上Linux虛拟機硬碟(LVM)擴容文檔

前言

本文檔主要是介紹如何在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

wKiom1ebEV-Ch8ZmAABTZmKnH-Y620.png-wh_50

如上圖所示,/dev/sda2 在system一欄中被标記為Linux LVM類型,他們的Id是8e。8e代表Linux LVM, 83代表Linux Native分區。确認為LVM之後,繼續我們的擴容工作。

下圖使用 df -h 指令,檢視目前系統磁盤容量和使用情況,目前的大小大約有27GB,計劃擴充20GB,總容量達到47GB。我們打算把20GB的新磁盤擴充到 /dev/mapper/centos-root 這個目錄下面。

wKioL1ebEafSYSzIAAAdGhdLCFg786.png-wh_50

注:因為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),右鍵點選該虛拟機,選擇“編輯設定”。跳出以下畫面

wKiom1ebEeqhQc-jAACUSa8elj8630.png-wh_50

選擇“硬碟1”,将“磁盤置備”中的“30”GB,改為“50”GB。

注:如果你的虛拟機的“編輯設定”中無法修改硬碟大小的時候(圖中“置備大小”後的值是灰色,無法修改),原因可能是你在這台虛拟機上使用了快照功能。你隻需要關閉虛拟機,右鍵點選該虛拟機,選擇“快照”,再選擇“快照管理器”,然後将所有快照删除,再開啟虛拟機,即可修改硬碟大小。

3.發現新磁盤

重新開機虛拟機,使用 fdisk -l 檢視是否系統識别到新增的磁盤空間。

wKioL1ebEinwHtZWAABkqT_1BFo782.png-wh_50

如圖所示,磁盤大小從32.2GB,擴容到53.7GB。

4.給新磁盤分區

好了,新的磁盤被識别到了,現在需要給磁盤分區,讓系統能使用到這個新的磁盤空間。

我們現在要在磁盤 /dev/sda 上分區(注意:linux中一塊硬碟的主分區個數不能超過4個,目前sda1,sda2已經占用了兩個分區名額,新增的分區應該為第三個主分區,即sda3)。現在開始給磁盤 /dev/sda 分區。我們這裡使用的工具是fdisk。輸入以下指令:

fdisk /dev/sda

wKioL1ebEpGRbvitAAAasHN34U4171.png-wh_50

如果需要幫助,你可以輸入m擷取更多資訊。

現在我們來建立新分區,輸入 n

wKiom1ebErXR0NgKAAAawAFVr2Q452.png-wh_50

再輸入p,代表我們現在要建立一個主分區

注:2 primary,0 extended,2 free表示目前我們這塊硬碟上有2個主分區,0個拓展分區,還可以再建立2個主分區。

wKiom1ebEt-AEBFQAAAJjDydpcs337.png-wh_50

輸入3,代表建立分區sda3

wKioL1ebEwfDQzdnAAAIJM3eCsY900.png-wh_50

接下來指定起始扇區和Last扇區,隻要敲兩下Enter鍵,選擇預設值就好了。

wKiom1ebEymjSCSMAAAeWN1QWl0907.png-wh_50

至此,分區工作已完成。

現在要給建立分區指定分區類型了。

輸入t,再輸入3,表示選擇建立的sda3分區,最後輸入8e,代表選擇的是LVM類型。

wKiom1ebE0rCnHNGAAAa1G9__Sc509.png-wh_50

大功告成,最後輸入w儲存我們的配置結果吧。

wKioL1ebE3DhO-CuAAAhjcbuhac668.png-wh_50

可以用fdisk -l檢視你建立的分區sda3.

wKioL1ebE5LT8oPWAABd9JDBTG0838.png-wh_50

5.新增邏輯卷LV

分區建好了,為了讓之後的LVM可以使用到這個分區,我們需要在新的分區 /dev/sda3 上建立實體卷PV。

輸入以下指令:

pvcreate /dev/sda3

wKiom1ebE7HRNEUSAAAI252mgYo404.png-wh_50

好吧,忘了和你說了,你需要重新開機電腦現在。。。 reboot

或者如果你不想重新開機電腦,也可以使用partprobe指令

wKiom1ebE9Sw_vo5AAAKCXkwCkE015.png-wh_50

再來一遍 pvcreate /dev/sda3

接下來,我們需要先确認卷組(VG),使用以下指令:

Vgdisplay

wKiom1ebFEXAaC8VAAAu4qnjqsg240.png-wh_50

現在開始擴容VG大小,使用以下指令:

vgextend centos /dev/sda3

wKioL1ebFGODZyH0AAAIypWAMus241.png-wh_50

注: 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是否建成了。

wKiom1ebFIWBsb_cAAAPtjjOD68394.png-wh_50

再接下來,我們需要增大邏輯卷了,這一步主要目的是把剛剛建立的新分區和新實體卷PV /dev/sda3擴充到目前的邏輯卷,讓系統能識别并且使用這個新空間。

首先先确認目前的邏輯卷組,使用以下指令:

lvdisplay

wKioL1ebFKjTdhNnAABYgpXSwnc322.png-wh_50

如圖,/dev/centos/root 是目前邏輯卷LV的挂載路徑。使用以下指令擴充改邏輯卷:

lvextend /dev/centos/root /dev/sda3

wKiom1ebFMnC3MOAAAARZ3hlkGI496.png-wh_50

邏輯卷擴充成功!但是還沒完,最後,你需要告訴系統有這塊新領域,你可以使用了。輸入以下指令:

xfs_growfs /dev/centos/root

wKioL1ebFOWA3wsTAAA0a2TNlT8067.png-wh_50

注:如果你使用的檔案系統是ext,需要使用指令 resize2fs /dev/centos/root

使用df -TH 檢視檔案系統,一般centos 是xfs, unbuntu是ext3

wKioL1ebFQqTHzddAAAcnX2W5cw535.png-wh_50

最後檢查一下你的成果吧

df -h

mkfs.xfs -f /dev/sdb1

echo '/dev/sdb1 /jk xfs defaults 0 0' >> /etc/fstab

轉載于:https://blog.51cto.com/szgb17/2176798

繼續閱讀