一、背景
“linux 使用中經常遇到磁盤空間不足,需要對磁盤進行擴容。根據自己的經驗進行歸納整理,多種場景,幫助需要者和備查
本文執行的命令,均在 centos7 環境下運行的,其他環境思路和相似,命令基本一致。
分區情況說明
“sda 是單獨的一塊磁盤總大小 50G,sda1、sda2 是兩個分區,sda2 下面有三個邏輯分區 centos-root 、centos-home、centos-[swap](df 命令時可以看到的掛載點);
centos-root對應的掛載點是 根目錄
centos-home 對應的掛載點是 /home
卷組名稱為 centos (通過pvdisplay 查看)
二、場景
“擴容磁盤不顯示擴容后的磁盤或者磁盤大小兩種情況:
情況一:修改原來磁盤大小
情況二:新增磁盤
場景一:將 centos-home 分區移動到根分區 centos-root
由于分區時,centos-home 分區空間非常大,centos-root 分區非常小,需要刪除 centos-home 分區,擴容到 centos-root 分區
操作思路
1.先備份 / home 下文件
2.卸載(umount) /home (注意:卸載不掉時,請將所有使用 / home 的進程關閉
3.從邏輯卷中刪除(lvremove) home 分區
4.擴展:將騰出的空間擴展(lvextend)到 centos-root 分區下
5.使擴展生效(xfs_growfs)
6.注釋掉 fstab 中的啟動掛載項
7.恢復備份數據到 / home 下
詳細代碼如下:
說明:
思路是一樣的,如果是其他分區,請修改里面的分區目錄即可
場景二:新增磁盤擴容到根目錄或者 home 下
“磁盤空間不足,新增加了一塊硬盤的場景。此處舉例新增的一塊磁盤名稱為**/dev/sdb**
操作思路
1.查看磁盤情況(lsblk、fdisk -l、pvdisplay)
2.創建物理卷(pvcreate)
3.將磁盤擴展到卷組(vgextend)
4.擴展邏輯分區(lvextend)
5.使擴展生效(xfs_growfs)
6.查看(df -H)
場景三:在原始磁盤上增加空間(常在虛擬化環境中)
虛擬化或者超融合環境中、或者 VMware 虛擬機中;磁盤空間不足,增加了已有磁盤的大小的場景,把增加的空間擴容到根目錄或者 centos-home 下。
“操作思路(括號中是用到的命令):
方法一:fdisk 進行分區,操作步驟與場景二基本一樣,多了一步分區
1.查看磁盤情況(lsblk、fdisk -l、pvdisplay)
2.創建分區(fdisk 磁盤名稱)
3.創建物理卷(pvcreate)
4.將磁盤擴展到卷組(vgextend)
5.擴展邏輯分區(lvextend)
6.使擴展生效(xfs_growfs)
7.查看(df -H)
方法二:用 parted 命令調整大小
1.查看磁盤情況(parted_/dev/sda print free_)
2.分配剩余的可用空間(parted /dev/sda resizepart 2 100%)
3.刷新物理卷(pvresize /dev/sda2)
4.擴展邏輯分區(lvextend)
5.使擴展生效(xfs_growfs)
6.查看(df -H)
方法一:fdisk 進行分區,操作步驟與場景二基本一樣,多了一步分區
方法二:用 parted 命令調整大小
舉例:系統只有一個磁盤,2 個分區:需要將新擴容的磁盤空間擴容到分區 2 上,下圖中 number 為 2 的,實際上對應的是 / dev/sda2
方法二:用parted命令進行操作
三、總結
“自己在工作中遇到磁盤擴容的問題進行了匯總。按照我的命令可以一步一步執行,如果還想進行了解更深,需要了解什么是物理卷(pv)、邏輯卷、邏輯分組、邏輯分區等等。