Linux下調整根目錄和home目錄的空間大小教程

當安裝完 Linux 操作系統,發現磁盤分區大小錯誤,或者後期使用過程發現 /home 還剩餘很多空間,/ 下空間不足,需要將 /home 下空間重新分配給 /目錄下,方法如下:

1、查看分區空間和格式

[root@mongodb-1 ~]# df -hT
文件系統 類型 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root xfs 50G 49G 1.4G 98% /
devtmpfs devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs tmpfs 5.8G 602M 5.3G 11% /run
tmpfs tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 153M 862M 16% /boot
/dev/mapper/centos-home xfs 44G 36M 44G 1% /home
tmpfs tmpfs 1.2G 0 1.2G 0% /run/user/0

這裏我想要將 /home 的空閒空間分給 / 目錄一部分

可以看到 /home 分區是 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 命令重新格式化才能掛載上,這樣的話這個邏輯分區上原來的數據就丟失了。如果有重要文件,那這種方案就不能採用了~~~

這裏我的 /home 下是沒有數據的,所以仍然可以使用此方法。

2、卸載 /home 分區

[root@mongodb-1 /]# umount /home

查看分區

[root@mongodb-1 /]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 50G 49G 1.4G 98% /
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs 5.8G 602M 5.3G 11% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 1.2G 0 1.2G 0% /run/user/0

卸載成功

3、將 /home 分區減小40G(根據自己實際情況設定大小) :

[root@mongodb-1 /]# lvreduce -L -40G /dev/mapper/centos-home
WARNING: Reducing active logical volume to < 3.12 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce centos/home? [y/n]: y
Size of logical volume centos/home changed from <43.12 GiB (11038 extents) to < 3.12 GiB (798 extents).
Logical volume centos/home successfully resized.

因爲 xfs文件系統不能執行分區減小的調整!所以這裏我們要執行格式化操作,

[root@mongodb-1 /]# mkfs.xfs /dev/mapper/centos-home -f
meta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=204288 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=817152, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

重新掛載 /home 分區:

mount /dev/mapper/centos-home /home/

驗證:

[root@mongodb-1 /]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 50G 49G 1.4G 98% /
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs 5.8G 602M 5.3G 11% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 1.2G 0 1.2G 0% /run/user/0
/dev/mapper/centos-home 3.2G 33M 3.1G 2% /home

4、查看剩餘空間:

[root@mongodb-1 /]# vgdisplay
— Volume group —
VG Name centos
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 3
Open LV 3
Max PV 0
Cur PV 1
Act PV 1
VG Size <99.00 GiB
PE Size 4.00 MiB
Total PE 25343
Alloc PE / Size 15102 / 58.99 GiB
Free PE / Size 10241 / 40.00 GiB
VG UUID 0gGHwG-Sd0c-4L0f-LNYo-5dnB-8SrH-q76ctU
image.png

5、將上面空餘的 40G 分到 / 分區下

[root@mongodb-1 /]# lvextend -L +40G /dev/mapper/centos-root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 90.00 GiB (23040 extents).
Logical volume centos/root successfully resized.
[root@mongodb-1 /]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=3276800 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=13107200, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=6400, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 13107200 to 23592960

驗證:

[root@mongodb-1 /]# df -h
文件系統 容量 已用 可用 已用% 掛載點
/dev/mapper/centos-root 90G 49G 42G 55% /
devtmpfs 5.8G 0 5.8G 0% /dev
tmpfs 5.8G 0 5.8G 0% /dev/shm
tmpfs 5.8G 602M 5.3G 11% /run
tmpfs 5.8G 0 5.8G 0% /sys/fs/cgroup
/dev/sda1 1014M 153M 862M 16% /boot
tmpfs 1.2G 0 1.2G 0% /run/user/0
/dev/mapper/centos-home 3.2G 33M 3.1G 2% /home

調整分區完成。

常見問題:

(一)卸載 /home 分區提示:

umount: /home: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))

提示無法卸載,則是有進程佔用 /home,

解決:

1、有可能你在 /home 目錄下,跳出 /home 再執行卸載。

2、有進程使用 /home ,使用如下命令終止進程,再卸載。

fuser -m -k /home

(二)掛載 /home 分區提示:

[root@rbtnode1 ~]# xfs_growfs /dev/mapper/centos-home
xfs_growfs: /dev/mapper/centos-home is not a mounted XFS filesystem

解決:需要格式化 /home ,再掛載。

(三)resize2fs: Bad magic number in super-block 當嘗試打開 /dev/mapper/centos-root 時

找不到有效的文件系統超級塊.

[root@mongodb-1 /]# resize2fs -p /dev/mapper/centos-root
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block 當嘗試打開 /dev/mapper/centos-root 時

找不到有效的文件系統超級塊.
解決:

查看類型
在這裏插入圖片描述
xfs 系統需要 xfs_growfs 執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章