xfs與ext文件系統不同,對其進行擴容與縮減部分命令不同。下面是簡介與詳細步驟
文字描述
說明:linux文件系統格式轉換需要清除數據,同windows一樣
*****xfs文件系統格式下
說明:
1、任何分區只可以擴展,不可以縮減
2、想要縮減,需要備份重建
減少home等可卸載的文件系統
正常登陸系統,備份home,刪除home,創建home,還原home
減少var等不可卸載的文件系統
需要進入救援模式
先正常登陸系統,備份var;再進入救援模式,刪除var,創建var;再正常登陸系統,還原var
還原之前,無法使用ssh工具登陸,需要在本機服務器上執行還原
減少root
無法實現,刪除根分區無法恢復
*****ext文件系統格式下
說明
1、不是根分區都可是在線擴容和縮小
2、根分區是可以在線擴容,但不可以在線縮小
3、根分區縮小需要進入救援模式
ext系列文件系統 可擴展可收縮
1、縮小home等可卸載文件系統,移到root
2、縮小var等不可卸載文件系統,移到root
2、縮小root,移到home
查看文件系統格式
cat /etc/fstab
*****xfs文件系統格式下******
說明:因xfs文件系統,只能擴展無法收縮,要收縮需要采用備份重建方式。
如果要收縮的文件系統很大且很重要,請謹慎使用該方法。
一、減少home等可卸載的文件系統,移到root或者其他
1、備份home目錄 xfsdump -f /root/home.img /home
如果xfsdump無法使用,安裝xfsdump,yum -y install xfsdump
或者使用cp -R /home /root
2、卸載home目錄 umount /home
如果提示 umount: /home: device is busy,則使用fuser命令查看process ID,
如fuser -cu /home 或者fuser -mv /home
使用fuser -ck /home 命令kill所有進程或者使用kill -9 進程id1,進程id2.... 命令殺死進程
如果fuser無法使用,安裝yum -y install psmisc
3、刪除home邏輯卷(確認數據已備份)
df -hT
lvremove /dev/mapper/centos_lfm-home
4、擴展root邏輯卷
lvresize -L +10G /dev/mapper/centos_lfm-root
5、拓展文件系統根目錄
xfs_growfs /dev/mapper/centos_lfm-root 或者xfs_growfs /
6、重新創建home邏輯卷並格式化
lvcrete -L 1G -n home centos_lfm
格式化home mkfs.xfs /dev/mapper/centos_lfm-home ,如果無法格式化,加參數-f
7、掛載home
掛載前需要修改/etc/fstab,因本次邏輯卷和掛載點名稱都不變,所有無需修改/etc//fstab
掛載home mount /home
查看df -hT
注:如果文件系統類型等改變,需要修改配置文件/etc/fstab
8、還原並查看原文件
xfsrestore -f /root/home.img /home
ll /home
注:使用系統自帶的xfs_metadump無法備份,待測
二、減少var等不可卸載的文件系統,移到root或者其他
0、var目錄無法卸載,root用戶一直在占用,想要減少var邏輯卷,需要進救援模式
1、備份var目錄
xfsdump /root/var.img /var
2、進入救援模式
插入系統光盤,在系統啟動時按下ESC鍵,進入啟動項菜單,選擇從光盤啟動
選擇光盤啟動
或者按F2鍵進入bios,然后選擇啟動順序
選擇跳過shell,即不加載systemshell
3、刪除var邏輯卷
查看
刪除var lvremove /dev/centos_lfm/var
4、擴展root邏輯卷
lvresize -L +1G /dev/centos_lfm/root
5、創建var邏輯卷
lvcreate -L 1G -n var centos_lfm
6、退出救援模式,重啟進入啟動項管理,修改啟動項順序
重啟reboot
修改啟動項,退出保存
7、擴展根目錄文件系統
xfs_growfs /dev/mapper/centos_lfm-root 或者 xfs_growfs /
8、格式化var邏輯卷
mkfs.xfs -f /dev/mapper/centos_lfm-var
9、掛載var,因系統啟動,自動掛載,此步省略
掛載前需要修改/etc/fstab,因本次邏輯卷和掛載點名稱都不變,所有無需修改/etc//fstab
9、還原var並查看原文件,
xfsrestore -f /root/var.img /var
注:在還原var前,無法使用遠程ssh,需要在本機服務器上執行還原后才可以使用
三、減少root
無法實現,刪除根分區無法恢復
*****ext文件系統格式下
說明
1、不是根分區都可是在線擴容和縮小
2、根分區是可以在線擴容,但不可以在線縮小
3、根分區縮小需要進入救援模式
一、縮小home等可卸載邏輯卷,移到root
1、查看磁盤情況,卸載home目錄,
df -Th
umount /home
如果無法卸載,使用fuser命令查看占用目錄的進程並結束進程,
查看/home進程占用 fuser -mv /home,
結束所有占用/home的進程 fuser -ck /home
2、調整分區大小
resize2fs -p /dev/mapper/centos_lfm2-home 1G
如果提示先執行下面這條命令,則去執行
e2fsck -f /dev/mapper/centos_lfm2-home
3、掛載/home,查看磁盤情況
mount /home
df -h
4、設置空閑空間
使用lvreduce命令用於減少lvm邏輯卷占用空間的大小。可能會刪除邏輯卷上已有的數據,所以在操作前必須進行確
認。
lvreduce -L -1G /dev/mapper/centos_lfm2-home
lvreduce -L -1G表示當前文件系統減少1G,
lvreduce -L 1G表示設置當前文件系統為1G
注:設置后的文件系統大小不能小於已存放在此目錄下文件的大小,否則會丟失數據
可以使用vgdiskplay查看剩余的空閑空間
5、把空閑空間添加到根目錄下
lvextend -L +0.98G /dev/mapper/centos_lfm2-root
resize2fs -p /dev/mapper/centos_lfm2-root
df -Th
注意:vgdisplay顯示空閑空間大小為1G,實際可使用小於1G
二、縮小var等不可卸載邏輯卷,移到root
1、var目錄進程一直占用,殺不死,修改var目錄大小需要進入救援模式
2、不要讓系統根掛載到/mnt/sysimage上,選擇跳過"skip"
3、查看邏輯卷
lvscan
4、在修改邏輯卷大小前,需要激活此卷
lvchange -ay /dev/centos_lfm2/var
5、縮小文件系統
在執行resize2fs /dev/centos_lfm2/var前需要還行
強行修復 e2fsck -f /dev/centos_lfm2/var
6、縮小lvm,產生空閑空間
lvreduce -L 1G /dev/centos_lfm2/var
7、查看空閑空間並將其添加到/root
vgdisplay
lvchange -ay /dev/centos_lfm2/root
lvextend -L +0.98G /dev/centos_lfm2/root
resize2fs -p /dev/mapper/centos_lfm2-root
df -Th
注意:vgdisplay顯示空閑空間大小為1G,實際可使用小於1G
二、縮小root,移到home
1、修改root目錄大小需要進入救援模式
2、不要讓系統根掛載到/mnt/sysimage上,選擇跳過"skip"
3、查看邏輯卷
lvscan
4、在修改邏輯卷大小前,需要激活此卷
lvchange -ay /dev/centos_lfm2/root
5、縮小文件系統
resize2fs /dev/centos_lfm2/root 10G
在執行此命令前可能還需要還執行
強行修復 e2fsck -f /dev/centos_lfm2/root
6、縮小lvm,產生空閑空間
lvreduce -L 1G /dev/centos_lfm2/root
7、查看空閑空間並將其添加到/root
vgdisplay
lvchange -ay /dev/centos_lfm2/home
lvextend -L +0.98G /dev/centos_lfm2/home
resize2fs -p /dev/mapper/centos_lfm2-home
df -Th
注意:vgdisplay顯示空閑空間大小為1G,實際可使用小於1G