ext4和xfs檔案系統的擴容和收縮
阿新 • • 發佈:2020-12-26
1. LVM邏輯卷管理
2. ext4檔案系統
2.1 擴容CentOS6的根檔案系統(ext4)
根檔案系統在 /dev/VolGroup/lv_root 邏輯捲上,檔案系統型別為ext4,大小為10G,現在要將其擴容成20G。
1)調整分割槽型別為8e
# 調整分割槽型別為LVM,也就是8e型別 fdisk /dev/sdb # 選定分割槽後使用 t 選項,然後選擇8e型別 # 通知核心重讀分割槽表 partx -a /dev/sdb # 檢視 cat /proc/partitions lsblk
2)進行擴容
# 1. 建立pv pvcreate /dev/sdb7 # 2. 對根 / 所在的vg進行擴容,將/dev/sdb7這個pv新增到VolGroup這個vg中去 vgextend VolGroup /dev/sdb7 # 3. 對根 / 所在的lv進行擴容 # 先通過vgdisplay命令檢視對應vg中空閒的pe數量,然後再將這些空閒的pe新增到lv中去 lvextend -l +2194 /dev/VolGroup/lv_root # 4. 擴容檔案系統 resize2fs /dev/VolGroup/lv_root # 自動擴容,將可分配的空間全部分配完 # 或者擴容成指定的大小 resize2fs /dev/VolGroup/lv_root 15G # 5. 檢視是否擴容成功 df -hT
- 注意:LV擴容前最好先解除安裝掛載的裝置,然後再使用 lvextend 進行擴容,這裡因為是對根檔案系統進行擴容,故而沒有解除安裝
2.2 收縮ext4檔案系統
/dev/sdb6 和 /dev/sdb4 一共分割槽大小為5G,分割槽型別為8e,它們被新增到了卷組VolGroup中,並做成 lv_mnt 邏輯卷掛載在了 /mnt 目錄。
現在要將 lv_mnt 縮小成3G,並且不能損壞其資料
# 1. 解除安裝裝置 umount /mnt # 2. 進行磁碟檢查 e2fsck -f /dev/VolGroup/lv_mnt # 3. 收縮檔案系統 resize2fs /dev/VolGroup/lv_mnt 3G # 4. 收縮LV lvreduce -L -2G /dev/VolGroup/lv_mnt # 5. 將PE移動到空閒的地方 ### 檢視哪些PV上有空閒的PE pvdisplay | grep 'PV Name\| Free' ### 將PE移動到有空閒PE的PV上 pvmove /dev/sdb6:0-99 /dev/sdb4 # 6. 從VG中移除PV vgreduce VolGroup /dev/sdb6 # 7. 移除該PV pvremove /dev/sdb6
3. xfs檔案系統
3.1 擴容CentOS7的根檔案系統(xfs)
# 1. 與CentOS6一樣,先要建立一個8e格式磁碟分割槽 fdisk /dev/sdb # 2. 建立PV pvcreate /dev/sdb5 # 3. 將pv新增到根所在的VG中 vgextend centos /dev/sdb5 # 4. 擴容LV
# 特別注意:在擴容LV之前最好要先解除安裝裝置,這裡沒有解除安裝是因為擴容的根檔案系統
lvextend -l +2048 /dev/centos/root # 5. 擴容xfs檔案系統 xfs_growfs /dev/centos/root # 6. 檢視是否擴容成功 df -hT
3.2 收縮xfs檔案系統
xfs檔案系統只能擴容而無法收縮,如果要想收縮,可以先備份,之後再進行減容重建,再恢復資料。
1)備份
# xfsdump的方式備份 xfsdump -f /data/home.img /home -f 備份儲存的位置 # cp直接複製檔案的方式備份 cp -aR /home /data/home
2)減容重建
# 1. 解除安裝home目錄 umount /home/ # 2. 刪除 lv_home ### 刪除之前要備份或者將PE移動到空閒的PV中 lvremove /dev/centos/home # 3. 擴容根所在的的 lv lvresize -L 20G /dev/centos/root # 4. 擴容根檔案系統 xfs_growfs /dev/centos/root # 5. 重建home的LV lvcreate -L 1G -n home centos # 6. 格式化並掛載 mkfs.xfs /dev/centos/home mount /dev/centos/home /home # 7. 還原資料 xfsrestore -f /data/home.img /home
- 注意:儘量避免對重要資料所在的檔案系統做收縮操作