今天主要介紹我在使用pvcreate, vgcreate,lvextend等命令拓展分區的時候,發現出現了找不到邏輯塊的問題,最後問題是現在的文件格式是xfs,resize2fs命令是讀取不了的,故而查找到了需要使用xfs_growfs。下面介紹下xfs_growfs及擴展的過程。
下面問題記錄基于centos7.3系統演示。
當我們在安裝系統的時候,由于沒有合理分配分區空間,在後續維護過程中,發現有些分區空間不夠使用,而有的分區空間卻有很多剩餘空間。如果這些分區在裝系統的時候使用了lvm(前提是這些分區要是lvm邏輯卷分區),那麼就可以輕松進行擴容或縮容!不同文件系統類型所對應的創建、檢查、調整命令不同,下面就針對xfs和ext2/3/4文件系統的lvm分區空間的擴容和縮容的操作做一記錄:
特别注意的是:
resize2fs命令 針對的是ext2、ext3、ext4文件系統
xfs_growfs命令 針對的是xfs文件系統
1)ext2/ext3/ext4文件系統的調整命令是resize2fs(增大和減小都支持)
lvextend -L 120G /dev/mapper/centos-home //增大至120G lvextend -L 20G /dev/mapper/centos-home //增加20G lvreduce -L 50G /dev/mapper/centos-home //減小至50G lvreduce -L -8G /dev/mapper/centos-home //減小8G resize2fs /dev/mapper/centos-home //執行調整
2)xfs文件系統的調整命令是xfs_growfs(隻支持增大)
lvextend -L 120G /dev/mapper/centos-home //增大至120G lvextend -L 20G /dev/mapper/centos-home //增加20G xfs_growfs /dev/mapper/centos-home //執行調整
就是說:xfs文件系統隻支持增大分區空間的情況,不支持減小的情況(切記!!!!!)。
硬要減小的話,隻能在減小後将邏輯分區重新通過mkfs.xfs命令重新格式化才能挂載上,這樣的話這個邏輯分區上原來的數據就丢失了。
下面簡單介紹下問題發生的過程:
1、查看磁盤情況
查看磁盤發現根目錄很小,打算做個擴容
2、分區
這裡因為/dev/sdb是本身就有的,但是沒有加進去,所以我直接拿來擴容了。
3、創建物理卷
這裡創建物理卷/dev/sdb1
4、擴展
這裡實際上漏了一步,要先加進邏輯卷,也就是vgextend,然後lvextend擴展後再resize2fs生效。
這裡可以發現發現resize2fs失效了。
5、xfs_growfs生效
# xfs_growfs /dev/mapper/cl-root
由于CentOS6和CentOS7在默認根文件系統的文件系統格式存在差異,需要判斷是否為xfs,如果是xfs則應該使用xfs_growfs而不是一味的使用resize2fs。
6、檢查是否擴展成功
可以看到已增加為30G。
通過上面的過程記錄主要帶大家熟悉一下磁盤擴容的思路和了解一下xfs_growfs和resize2fs之間的區别,也做個備忘。大家有空可以自己測試一下。後面會分享更多Linux方面内容,感興趣的朋友可以關注下!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!