1. Linux 下的 /home 目錄與 / 目錄
一般情況下進(jìn)入 Linux
系統(tǒng)下的 /
目錄,會(huì)看到如下目錄列表。
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
可以看到其中包含 home
目錄,home
目錄下將會(huì)為每個(gè)用戶創(chuàng)建一個(gè)屬于自己的用戶目錄,也稱為用戶自己的 “家目錄”。更多根目錄的信息可查看筆者的這篇博客 《Linux文件系統(tǒng)目錄結(jié)構(gòu)詳解》。
2. 系統(tǒng)分區(qū)情況
在安裝 Linux
操作系統(tǒng)過程中,常常可能會(huì)將 /home
目錄與 /
目錄掛載到不同的磁盤或不同的分區(qū)中,就會(huì)造成兩者空間并不能公用,即當(dāng) /home
目錄存滿時(shí),根目錄富于的磁盤空間不能給 /home
使用;同樣的,當(dāng) /home
目錄分配的磁盤較大時(shí),而根目錄則常常會(huì)因?yàn)榘惭b太多軟件導(dǎo)致磁盤占滿,而這時(shí)看著使用率只有 20%~50%
的 /home
目錄則分外眼紅。
為了解決這樣的尷尬情況,那么就將 /home
目錄和 /
根目錄的空間合并起來就皆大歡喜啦。
3. 合并 /home 和 / 目錄
- (1) 查看當(dāng)前磁盤分配情況
[root@localhost /]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
devtmpfs devtmpfs 63G 0 63G 0% /dev
tmpfs tmpfs 63G 0 63G 0% /dev/shm
tmpfs tmpfs 63G 18M 63G 1% /run
tmpfs tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 70G 4.9G 66G 7% /
/dev/nvme0n1p2 xfs 1020M 256M 765M 26% /boot
/dev/mapper/cl-home xfs 379G 2.7G 376G 1% /home
/dev/nvme0n1p1 vfat 599M 7.3M 592M 2% /boot/efi
tmpfs tmpfs 13G 56K 13G 1% /run/user/1000
這里需要注意的是,/home
目錄的總空間大小,筆者這里的是 379 G
。
-
(2) 將當(dāng)前
/home
目錄備份,并刪除/home
分區(qū)
進(jìn)入/
目錄
[root@localhost /]# cd /
將 /home
目錄備份
[root@localhost /]# tar -zcvf home.tar.gz /home
卸載 /home
目錄
[root@localhost /]# umount /home
若提示 umount: /home: target is busy.
,則說明有其他進(jìn)程正在使用,確定主要程序已關(guān)閉的情況下還提示該信息,則執(zhí)行下面步驟:
[root@localhost /]# fuser -m /dev/mapper/cl-home
該命令會(huì)打印出正在使用該磁盤的進(jìn)程 ID
,如下
/dev/dm-2: 2876m 2889c 2892c 2944c 2949cm 2983c 2988c 3042cm 3047c 3050c 3140cm 3226c 3230cm 3231cm 3233c 3235c 3247c 3253cm 3257cm 3264cm 3274c 3289cm 3297c 3302c 3306c 3311c 3317cm 3319c 3320c 3321c 3322cm 3329cm 3333cm 3335cm 3337c 3343cm 3346cm 3348cm 3349c 3352cm 3354cm 3359cm 3362cm 3365cm 3410cm 3418cm 3422cm 3423cm 3426c 3435cm 3476cm 3495c 3501c 3514cm 3531cm 3590c 4003cm 4041c 4051cm 4065c
然后從前往后逐個(gè) kill
掉該進(jìn)程 :
[root@localhost /]# kill -9 2876
[root@localhost /]# fuser -m /dev/mapper/cl-home
/dev/dm-2: 2889c 2892c 2944c 2949cm 2983c 2988c 3042cm 3047c 3050c 3140cm 3226c 3230cm 3231cm 3233c 3235c 3247c 3253cm 3257cm 3264cm 3274c 3289cm 3297c 3302c 3306c 3311c 3317cm 3319c 3320c 3321c 3322cm 3329cm 3333cm 3335cm 3337c 3343cm 3346cm 3348cm 3349c 3352cm 3354cm 3359cm 3362cm 3365cm 3410cm 3418cm 3422cm 3423cm 3426c 3435cm 3476cm 3495c 3501c 3514cm 3531cm 3590c 4003cm 4041c 4051cm 4065c 7826m
[root@localhost /]# kill -9 2889
[root@localhost /]# fuser -m /dev/mapper/cl-home
/dev/dm-2: 2892c 2944c 2983c 2988c 3042cm 3047c 3247c 3253cm 3257cm 3264cm 3274c 3289cm 3297c 3302c 3306c 3311c 3418cm 3435cm 3476cm 3501c 3514cm 3531cm 4041c 4051cm 4065c
[root@localhost /]# kill -9 2889
[root@localhost /]# fuser -m /dev/mapper/cl-home
/dev/dm-2: 2892c 2944c 2983c 2988c 3042cm 3047c 3247c 3253cm 3257cm 3264cm 3274c 3289cm 3297c 3302c 3306c 3311c 3418cm 3435cm 3476cm 3501c 3514cm 3531cm 4041c 4051cm 4065c
[root@localhost /]# kill -9 2892
[root@localhost /]# fuser -m /dev/mapper/cl-home
/dev/dm-2: 2944c 2983c 2988c 3042cm 3047c 3247c 3253cm 3257cm 3264cm 3274c 3289cm 3297c 3302c 3306c 3311c 3418cm 3435cm 3476cm 3501c 3514cm 3531cm 4041c 4051cm 4065c
[root@localhost /]# kill -9 2944
[root@localhost /]# fuser -m /dev/mapper/cl-home
基本上 kill
掉前幾個(gè)(3
或 5
個(gè))基本其它的也就都相繼消失了。
然后再執(zhí)行 umount home
,就可以成功卸載 /home
目錄的掛載了。
[root@localhost /]# umount /home
再將 /home
目錄的磁盤分區(qū)移除:
[root@localhost /]# lvremove /dev/cl/home
Do you really want to remove active logical volume cl/home? [y/n]: y
Logical volume "home" successfully removed.
-
(3) 擴(kuò)展
/
根目錄
使用lvextend
命令將/
目錄所在的物理分區(qū)擴(kuò)容:
[root@localhost /]# lvextend -L +379G /dev/cl/root
[注]:這里的增加的容量應(yīng)該不能超過之前 /home 掛載點(diǎn)的大小,一般選擇全部分配過去。
執(zhí)行 xfs_growfs
命令擴(kuò)展 xfs
[root@localhost /]# xfs_growfs /dev/cl/root
4. 恢復(fù) /home 目錄原有內(nèi)容
將之前打包備份的 /home
目錄重新解壓出來
[root@localhost /]# tar -zxvf home.tar.gz
這時(shí)候查看 home
目錄已經(jīng)恢復(fù)到原來的樣子了
[root@localhost /]# ll home
5. 刪除 /etc/fstab 中 /home 的啟動(dòng)掛載點(diǎn)
打開并修改 /etc/fstab
文件,將開機(jī)自動(dòng)掛載的 /home
節(jié)點(diǎn)刪除,注意這一步很關(guān)鍵,如若未刪除,則會(huì)導(dǎo)致開機(jī)自動(dòng)進(jìn)入救援模式(emergency mode)
,不過也不是沒有辦法,在救援模式中,輸入 root
密碼,進(jìn)入救援模式,再修改 /etc/fstab
文件保存退出也可以,但何必留此后患,自找麻煩呢。
[root@localhost ~]# vim /etc/fstab
將 home
掛載點(diǎn)注釋或刪除,保存并退出即可。文章來源:http://www.zghlxwxcb.cn/news/detail-718146.html
#
# /etc/fstab
# Created by anaconda on Fri Jan 1 04:35:40 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root / xfs defaults 0 0
UUID=bbcc2133-84d1-4b8c-aca4-064f18929e67 /boot xfs defaults 0 0
UUID=699D-E50D /boot/efi vfat umask=0077,shortname=winnt 0 2
#/dev/mapper/cl-home /home xfs defaults 0 0
/dev/mapper/cl-swap none swap defaults 0 0
6. 查看新的磁盤分配情況
再次查看磁盤分配和使用情況,就已經(jīng)發(fā)現(xiàn),沒有了 /home
目錄的占用,而在 /
目錄下增加了 /home
原有的磁盤空間。文章來源地址http://www.zghlxwxcb.cn/news/detail-718146.html
[root@localhost /]# df -hT
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
devtmpfs devtmpfs 63G 0 63G 0% /dev
tmpfs tmpfs 63G 0 63G 0% /dev/shm
tmpfs tmpfs 63G 18M 63G 1% /run
tmpfs tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/mapper/cl-root xfs 448G 7.6G 441G 2% /
/dev/nvme0n1p2 xfs 1020M 256M 765M 26% /boot
/dev/nvme0n1p1 vfat 599M 7.3M 592M 2% /boot/efi
tmpfs tmpfs 13G 0 13G 0% /run/user/0
tmpfs tmpfs 13G 0 13G 0% /run/user/42
完
到了這里,關(guān)于Linux 將 /home 目錄與 / 根目錄磁盤合并的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!