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

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

gda all dha 開始 block 創建文件 新建 ger 描述

一、知識點掃盲
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、首先查看磁盤使用情況
技術分享圖片
我們從上圖可以看出,/home分區有865G磁盤,而根分區只有默認的50G。我們的目標就是讓865G的這一大快存儲移到根分區下。
2、備份/home中的用戶數據,並卸載home,同時刪除home邏輯卷
技術分享圖片

註意:umount /home 如果提示無法卸載,則是有進程占用/home,使用如下命令來終止占用進程:
yum install -y psmisc //安裝fuser
fuser -mu /home //執行這個命令可以看到占用/home分區的進程ID
kill -9 進程ID //kill -9刪除對應的進程
技術分享圖片
3、查看卷組可用空間
技術分享圖片
我們可以看見卷組可用空間是864G,就是剛才卸載的home分區的大小

4、新建一個卷home,fdisk格式化為8e格式,文件系統還是搞為xfs(同樣掛載到/home)
技術分享圖片
L表示大小,默認單位為M;n表示卷名;這裏的centos是CentOS7安裝系統的時候就默認建立好的卷組名

5、查看邏輯卷home
技術分享圖片
技術分享圖片
6、再次查看卷組空間大小

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

7、激活卷組centos,使得這個新建的home邏輯卷生效
技術分享圖片
8、新建的邏輯卷home上建立xfs文件系統

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

9、把這個新邏輯卷home掛到之前的文件夾/home中去
技術分享圖片

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

命令:mv /backup/* /home/

11、最後再把釋放出來多余的空間分配給root卷並xfs_growfs擴展文件系統
技術分享圖片

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

12、查看邏輯卷和卷組情況,這下root的空間就多達到864G,之前的是50G
技術分享圖片

13、再次激活下卷組centos
技術分享圖片

14、df -h查看,不使用xfs_growfs擴展文件系統,磁盤是不認得多的空間的
技術分享圖片

15、擴展root卷
技術分享圖片

16、再看root大小已經生效,800多G了
技術分享圖片

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