1、背景描述
如上圖所示,根路徑“/”所在的檔案系統已沒有可用的磁碟空間,需要擴容磁碟。
df -h
2、VirtualBox操作
2.1、檢視當前虛擬磁碟的大小
如上圖所示,點選開啟選中的虛擬機器的 Settings 介面。
如上圖所示,當前虛擬機器的虛擬磁碟大小為 8GB 。
2.2、修改虛擬磁碟的大小
如上圖所示,點選“File”->“Virtual Media Manager”,進入虛擬磁碟管理介面。
如上圖所示,選中虛擬機器,即可修改該虛擬機器的虛擬磁碟大小。
如上圖所示,本例將虛擬磁碟大小修改為 16GB 。
注意:需要先關閉虛擬機器,才能修改虛擬磁碟的大小。
2.3、檢視修改效果
如上圖所示,當前虛擬機器的虛擬磁碟大小已被修改為 16GB 。
注意:雖然虛擬磁碟大小已被修改為 16GB ,但是在 CentOS 作業系統中還沒分配使用。
3、CentOS操作
3.1、磁碟分割槽階段
3.1.1、檢視磁碟分割槽狀態
如上圖所示,磁碟 /dev/sda 有 16G 的大小,/dev/sda1 和 /dev/sda2 兩個分割槽一共只用了 8G ,因此還剩餘 8G 可用。
lsblk -p
3.1.2、建立新分割槽
fdisk /dev/sda
如上圖所示,輸入“n”,建立一個新分割槽(new)。
如上圖所示,輸入“p”,設定分割槽型別為主分割槽(primary)。
注意:一個磁碟最多可以分成四個分割槽,分割槽的型別有“主要分割槽”和“擴充套件分割槽”。
“擴充套件分割槽”最多隻能有一個,一般建議將第四個分割槽設定為“擴充套件分割槽”,前三個分割槽設定為“主要分割槽”。
結合 3.1.1 節可知,目前已有 /dev/sda1 和 /dev/sda2 兩個分割槽,即將建立的是第三個分割槽,因此分割槽型別設定為主分割槽比較合適。
如上圖所示,輸入“3”,設定分割槽號。
如上圖所示,直接回車,使用預設的起始扇區。
如上圖所示,直接回車,使用預設的結束扇區。
如上圖所示,輸入“w”,儲存退出。
提示:輸入順序為“n”->“p”->“3(或回車)”->“回車”->“回車”->“w”
注意:如果輸錯了,可以輸入“q”,不儲存退出,重新再來一遍。
此外,有部分文章有修改 system id 為 8e 的步驟,這一步驟只是為了讓某些 LVM 檢測指令能檢測到這個分割槽,實際上省略這一操作也是可以的。
3.1.3、更新分割槽表資訊
如上圖所示,使用 partprobe 命令可以更新分割槽表資訊,讓系統識別到新建立的分割槽。
雖然使用 reboot 命令重啟系統也能更新分割槽表,讓系統識別到新建立的分割槽,但不推薦這樣操作。
partprobe -s
3.1.4、再次檢視磁碟分割槽狀態
如上圖所示,新分割槽 /dev/sda3 已建立成功,大小為 8G 。
lsblk -p
3.2、PV物理卷階段
3.2.1、檢視PV物理卷狀態
如上圖所示,目前只有基於 /dev/sda2 分割槽建立的物理卷,大小為 7G 。
pvdisplay
3.2.2、建立新PV物理卷
如上圖所示,將 /dev/sda3 新分割槽,建立為一個新的物理卷。
pvcreate 新分割槽名稱
3.2.3、再次檢視PV物理卷狀態
如上圖所示,基於 /dev/sda3 分割槽,成功建立了一個新的物理卷。
pvdisplay
注意:此時 /dev/sda2 物理卷的 VG Name 的值為 centos ,表示該物理卷屬於名稱為 centos 的卷組。
而 /dev/sda3 物理卷的 VG Name 的值為空 ,表示該物理卷還不屬於任何卷組。
3.3、VG卷組階段
3.3.1、檢視VG卷組狀態
如上圖所示,目前只有一個名稱為 centos 的卷組,大小為 7G 。
結合 3.2.3 節可知,該卷組只包括大小為 7G 的 /dev/sda2 物理卷。
vgdisplay
3.3.2、擴容VG卷組
如上圖所示,將新建立的 /dev/sda3 物理卷加入到 centos 卷組,從而完成 centos 卷組的擴容。
vgextend 卷組名稱 新物理卷名稱
注意:如果執行擴容VG的命令時,報錯“Couldn't create temporary archive name”;
說明磁碟已經一點空間都沒有了,需要先刪除(或轉移)一些不重要的檔案(例如日誌檔案之類)才能繼續。
3.3.3、再次檢視VG卷組狀態
如上圖所示,centos 卷組已成功擴容為 15G 。
結合 3.2.3 節可知,該卷組包括了大小為 7G 的 /dev/sda2 物理卷,以及大小為 8G 的 /dev/sda3 物理卷。
3.4、LV邏輯卷階段
3.4.1、檢視LV邏輯卷狀態
如上圖所示,要擴容的掛載點“/”所對應的檔案系統為“/dev/mapper/centos-root”。
df -h
如上圖所示,檔案系統“/dev/mapper/centos-root”所對應的邏輯卷路徑為“/dev/centos/root”。
該邏輯卷大小約為 6G ,且屬於 centos 卷組。
lvdisplay 檔案系統名稱
注意:雖然邏輯卷的名稱為“root”,但是要對邏輯捲進行操作,需要使用邏輯卷的路徑“/dev/centos/root”。
邏輯卷路徑的格式為:/dev/卷組名稱/邏輯卷名稱
3.4.2、擴容邏輯卷
如上圖所示,將 centos 卷組擴容所得到的物理卷空間,分配給 /dev/centos/root 邏輯卷,從而完成 /dev/centos/root 邏輯卷的擴容。
lvextend 邏輯卷路徑 卷組擴容所得到的物理卷
3.4.3、再次檢視LV邏輯卷狀態
如上圖所示, /dev/centos/root 邏輯卷已成功擴容多了 8G 。
lvdisplay 檔案系統名稱
3.5、檔案系統階段
3.5.1、檢視檔案系統狀態
如上圖所示,此時 /dev/centos/root 邏輯卷的擴容空間,還沒有同步到 /dev/mapper/centos-root 檔案系統。
此外,可以看到 /dev/mapper/centos-root 檔案系統的型別為 xfs ,因此可以使用 xfs_growfs 命令來完成檔案系統的擴容。
df -hT
3.5.2、擴容檔案系統
xfs_growfs 檔案系統名稱
3.5.3、再次檢視檔案系統狀態
如上圖所示,要擴容的掛載點“/”所對應的檔案系統“/dev/mapper/centos-root”,已成功擴容了 8G 。
df -hT
本文參考
【1】【行萬路明於省】【VirtualBox擴容教程】【CSDN】【2022-10-26】
【2】【jianmuzi】【掛載點擴容-Linux-CentOS7】【部落格園】【2022-09-10】
【3】【A ?Charis】【使用LVM方式擴容磁碟報錯:Couldn‘t create temporary archive name.】【CSDN】【2023-10-11】
【4】【careybobo】【virtualbox 虛擬機器 如何擴容 /dev/mapper/centos-root】【CSDN】【 2024-02-06】
【5】【蠟筆小新兒】【VirtualBox和VMware虛擬機器centos(/dev/mapper/centos-root)磁碟擴容(親測有效)】【CSDN】【2020-05-31】
【6】【知其黑、受其白】【virtualbox 擴充套件動態磁碟 Centos7擴容】【CSDN】【 2023-03-17】
【7】【鳥哥】【7.3 磁碟的分割、格式化、檢驗與掛載】【鳥哥的 Linux 私房菜】【2017-09-04】
【8】【鳥哥】【14.3 邏輯捲軸管理員 (Logical Volume Manager)】【鳥哥的 Linux 私房菜】【2015-07-28】
【9】【鳥哥】【2.2 磁碟分割】【鳥哥的 Linux 私房菜】【2015-04-28】