1. 程式人生 > >去繁化簡解決CentOS下調整home和根分割槽大小的方法

去繁化簡解決CentOS下調整home和根分割槽大小的方法

一、知識點掃盲
Cent0S 7預設啟用LVM2(Logical Volume Manager),把機器的一塊硬碟分為兩個區sda1和sda2,其中分割槽sda1作為系統盤/boot掛載,少量空間;sda2作為一個物理卷並且完全作為邏輯卷組VG(Volume Group)centos,在這個邏輯卷組centos中建立三個邏輯卷LV(Logical Volume)root和home還有swap,分別掛載到根目錄/和/home以及swap。而兩個分割槽sda1和sda2上都建立了檔案系統XFS,檔案系統XFS作為RedHat的預設檔案系統也有它的考慮,成為繼ext3,ext4之後的主流檔案系統。
幾個概念的關係:M個物理硬碟HD或者物理硬碟中的分割槽一起組建為一個邏輯卷組VG及儲存池,在卷組VG中建立N個邏輯卷LV,在一個邏輯卷LV中建立檔案系統比如xfs。物理硬碟/分割槽、邏輯卷有最小基本定址單元,CentOS7預設的大小為4MB,二者一一對應,類似於連結或者變數引用,但是一個二者關係並非一直不變,因為物理硬碟可能發生變化而邏輯卷自動調整。建立卷組和邏輯卷,會類似於建立分割槽一樣在磁碟開始位置寫入卷的資訊VGDA(卷組描述符區域,Volume Group Descriptor Area)用於識別。邏輯卷的好處在於遮蔽物理底層支撐,可自由擴充套件變更,而不用擔心硬碟或者分割槽的物理空間侷限,也就不會存在為了擴充套件分割槽大小而去備份/擴充套件分割槽重新格式化硬碟等問題
二、生產環境的煩惱
博主要求IDC機房給重灌系統。每次要求的好好地,裝系統的時候別預設分配磁碟,可是萬惡的IDC機房每次都偏偏不聽,估計是偷懶,懶得管那麼多事,每次都是採用預設的分配磁碟。CentOS 7預設安裝時/home佔用太多空間,根目錄相較而言就小得多(只有50G),而OpenStack安裝以及儲存的東西都在根目錄下。上傳幾個映象說不定就把你的根目錄空間耗盡。不像其他檔案系統ext3,ext4或者reiserfs等,有命令(resize2fs,resize_reiserfs)直接支援縮小檔案系統的大小,預設安裝的xfs支援擴充套件增大但是不支援縮小空間!我相信凡是和公司IDC機房打過交道的都會心裡暗暗怒罵,但是呢,生氣歸生氣,磁碟的分配問題我們還是要解決,那麼今天博主就給大家帶來磁碟的乾坤大挪移之法。
三、乾坤大挪移操作步驟
1、首先檢視磁碟使用情況
去繁化簡解決CentOS下調整home和根分割槽大小的方法


我們從上圖可以看出,/home分割槽有865G磁碟,而根分割槽只有預設的50G。我們的目標就是讓865G的這一大快儲存移到根分割槽下。
2、備份/home中的使用者資料,並解除安裝home,同時刪除home邏輯卷
去繁化簡解決CentOS下調整home和根分割槽大小的方法

注意:umount /home 如果提示無法解除安裝,則是有程序佔用/home,使用如下命令來終止佔用程序:
yum install -y psmisc //安裝fuser
fuser -mu /home //執行這個命令可以看到佔用/home分割槽的程序ID
kill -9 程序ID //kill -9刪除對應的程序
去繁化簡解決CentOS下調整home和根分割槽大小的方法
3、檢視卷組可用空間
去繁化簡解決CentOS下調整home和根分割槽大小的方法
我們可以看見卷組可用空間是864G,就是剛才解除安裝的home分割槽的大小
4、新建一個卷home,fdisk格式化為8e格式,檔案系統還是搞為xfs(同樣掛載到/home)
去繁化簡解決CentOS下調整home和根分割槽大小的方法


L表示大小,預設單位為M;n表示卷名;這裡的centos是CentOS7安裝系統的時候就預設建立好的卷組名

5、檢視邏輯卷home
去繁化簡解決CentOS下調整home和根分割槽大小的方法
6、再次檢視卷組空間大小

命令:vgdisplay //我們可以看到Free PE / Size這裡的數字變成814.50GiB

7、啟用卷組centos,使得這個新建的home邏輯卷生效
去繁化簡解決CentOS下調整home和根分割槽大小的方法
8、新建的邏輯卷home上建立xfs檔案系統

命令:mkfs -t xfs /dev/centos/home

9、把這個新邏輯卷home掛到之前的資料夾/home中去
去繁化簡解決CentOS下調整home和根分割槽大小的方法

10、再把之前拷出來的東西拷回新建的/home中,不用重啟

命令:mv /backup/* /home/

11、最後再把釋放出來多餘的空間分配給root卷並xfs_growfs擴充套件檔案系統
去繁化簡解決CentOS下調整home和根分割槽大小的方法

把剩下的814G現在分配給root卷,剩下那點渣渣空間讓它閒著;+號表示在原來的基礎上額外增加,不要“+”則是設定為具體額度

12、檢視邏輯卷和卷組情況,這下root的空間就多達到864G,之前的是50G
去繁化簡解決CentOS下調整home和根分割槽大小的方法

13、再次啟用下卷組centos
去繁化簡解決CentOS下調整home和根分割槽大小的方法

14、df -h檢視,不使用xfs_growfs擴充套件檔案系統,磁碟是不認得多的空間的
去繁化簡解決CentOS下調整home和根分割槽大小的方法

15、擴充套件root卷
去繁化簡解決CentOS下調整home和根分割槽大小的方法

16、再看root大小已經生效,800多G了
去繁化簡解決CentOS下調整home和根分割槽大小的方法