Linux 将 /home 目录与 / 根目录磁盘合并

这篇具有很好参考价值的文章主要介绍了Linux 将 /home 目录与 / 根目录磁盘合并。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. Linux 下的 /home 目录与 / 目录

一般情况下进入 Linux 系统下的 / 目录,会看到如下目录列表。

[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

可以看到其中包含 home 目录,home 目录下将会为每个用户创建一个属于自己的用户目录,也称为用户自己的 “家目录”。更多根目录的信息可查看笔者的这篇博客 《Linux文件系统目录结构详解》。

2. 系统分区情况

在安装 Linux 操作系统过程中,常常可能会将 /home 目录与 / 目录挂载到不同的磁盘或不同的分区中,就会造成两者空间并不能公用,即当 /home 目录存满时,根目录富于的磁盘空间不能给 /home 使用;同样的,当 /home 目录分配的磁盘较大时,而根目录则常常会因为安装太多软件导致磁盘占满,而这时看着使用率只有 20%~50%/home 目录则分外眼红。

linux合并分区到根目录,学习过程中遇到的小问题,linux,运维,服务器

为了解决这样的尴尬情况,那么就将 /home 目录和 / 根目录的空间合并起来就皆大欢喜啦。

3. 合并 /home 和 / 目录

  • (1) 查看当前磁盘分配情况
[root@localhost /]# df -hT
文件系统            类型      容量  已用  可用 已用% 挂载点
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) 将当前 /home 目录备份,并删除 /home 分区
    进入 / 目录
[root@localhost /]# cd /

/home 目录备份

[root@localhost /]# tar -zcvf home.tar.gz /home

卸载 /home 目录

[root@localhost /]# umount /home

若提示 umount: /home: target is busy.,则说明有其他进程正在使用,确定主要程序已关闭的情况下还提示该信息,则执行下面步骤:

[root@localhost /]# fuser -m /dev/mapper/cl-home

该命令会打印出正在使用该磁盘的进程 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

然后从前往后逐个 kill 掉该进程 :

[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 掉前几个(35 个)基本其它的也就都相继消失了。
然后再执行 umount home,就可以成功卸载 /home 目录的挂载了。

[root@localhost /]# umount /home

再将 /home 目录的磁盘分区移除:

[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) 扩展 / 根目录
    使用 lvextend 命令将 / 目录所在的物理分区扩容:
[root@localhost /]# lvextend -L +379G /dev/cl/root

[注]:这里的增加的容量应该不能超过之前 /home 挂载点的大小,一般选择全部分配过去。
执行 xfs_growfs 命令扩展 xfs

[root@localhost /]# xfs_growfs /dev/cl/root

4. 恢复 /home 目录原有内容

将之前打包备份的 /home 目录重新解压出来

[root@localhost /]# tar -zxvf home.tar.gz

这时候查看 home 目录已经恢复到原来的样子了

[root@localhost /]# ll home

5. 删除 /etc/fstab 中 /home 的启动挂载点

打开并修改 /etc/fstab 文件,将开机自动挂载的 /home 节点删除,注意这一步很关键,如若未删除,则会导致开机自动进入救援模式(emergency mode),不过也不是没有办法,在救援模式中,输入 root 密码,进入救援模式,再修改 /etc/fstab 文件保存退出也可以,但何必留此后患,自找麻烦呢。

[root@localhost ~]# vim /etc/fstab

home 挂载点注释或删除,保存并退出即可。

#
# /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. 查看新的磁盘分配情况

再次查看磁盘分配和使用情况,就已经发现,没有了 /home 目录的占用,而在 / 目录下增加了 /home 原有的磁盘空间。文章来源地址https://www.toymoban.com/news/detail-718146.html

[root@localhost /]# df -hT
文件系统            类型      容量  已用  可用 已用% 挂载点
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

到了这里,关于Linux 将 /home 目录与 / 根目录磁盘合并的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu20.04根目录/home目录扩容(双系统,亲测有效)

    sudo apt update   sudo apt install gparted         安装完成后输入: sudo gparted         如图所示:         1. 找到你要扩容的根目录/home目录(会发现名称右边有个钥匙,表示现在无法对其进行操作)         2. 扩容要求1:只能将待扩容磁盘相邻的空间扩容给他 (如果不相邻

    2024年02月03日
    浏览(63)
  • Centos7根目录扩容方法(添加一块磁盘扩容根目录)

    摘要: 业务服务器扩容磁盘,一般用户都比较喜欢把新增的磁盘容量扩容到原业务上的一个目录上,也就是说扩容业务目录的容量,其次情况下,同一目录下,无法挂载多个,不然会覆盖之前的挂载,所以要以卷组分方式来解决扩容。 目标: 业务服务器新增一块硬盘硬盘,

    2024年02月08日
    浏览(73)
  • linux系统根目录动态扩容

    前提:虚拟机系统根目录占用40GB,创建vm时磁盘大小给120GB 1. 将剩余空间分区 2. 创建pv 3.vg(centos)扩容

    2024年02月07日
    浏览(64)
  • Linux查看目录下的文件及根目录文件的解释

    在Linux操作系统当中,文件名不区分后缀,但经常使用后缀来帮助用户区分文件。 语法结构:ls 路径 列出指定目录下的内容,该命令在没有指定要列出哪个选项和参数的时候,默认为列出当前目录下的内容,一本都有默认的(注:默认的情况下不区分文件和目录,注意,在

    2024年02月09日
    浏览(67)
  • VM增加磁盘并挂载到根目录

    首先要关闭虚拟机,否则增加按钮不可见。        9 vm添加磁盘完毕。 1、lsblk 查看硬盘挂载情况,sdb为新挂载的磁盘。 2、 fdisk -l 查看挂载之前的分区情况 红框内是新添加的磁盘。 3、为新硬盘创建分区 fdisk /dev/sdb 终端会提示: Command (m for help):输入:n 依次输入p 和

    2024年02月07日
    浏览(93)
  • linux 给根目录扩容(lvm CentOS 7.6 )

    问题:Linux系统挂载到根目录的磁盘空间满了,如何扩容?  用命令:lsblk 可以查看磁盘和分区情况,可以发现磁盘vda下面的还有大部分空间没有使用。 1、使用 fdisk -l 查看硬盘序号,并用 fdisk 对硬盘操作,格式化成lvm的格式 (用命令lsblk可以看到,挂载到根目录的分区是lv

    2024年02月08日
    浏览(69)
  • Linux 根目录爆满 解决(/dev/mapper/centos-root 100%问题)

    首先df -h 发现/dev/mapper/centos-root 为100%。 会导致数据库sys登不上去。 提示: ORA-09945: Unable to initialize the audit trail file Linux-x86_64 Error: 28: No space left on device 然后需要查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间 du -h -x --max-depth=1 将该两个文件夹下不需要

    2024年02月12日
    浏览(50)
  • 动态扩容Linux根目录 (解决/dev/mapper/centos-root 占用了过高问题)

    $ sudo df -h 可以看到,这里home目录空闲的空间还很大,因此,我们将home的空间分给根目录一些。 2. 扩容根目录的思路如下: 将/home文件夹备份,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后新建/home目录,并恢复/home文件夹下的内容

    2024年02月14日
    浏览(58)
  • linux磁盘扩容:新增磁盘、原磁盘扩容、home/root分区扩容

    ​         linux使用中经常遇到磁盘空间不足,需要对磁盘进行扩容。根据自己的经验进行归纳整理,多种场景,帮助需要者和备查 本文执行的命令,均在centos7 环境下运行的,其他环境思路和相似,命令基本一致。 分区情况说明: sda是单独的一块磁盘总大小50G, sda1、sd

    2024年02月12日
    浏览(42)
  • Linux将磁盘空闲空间转移到其他目录下(home目录转移到root目录下)

    目录 1、查看分区 2、备份home分区文件 (重要) 3、卸载/home 4、删除/home所在的lv 5、扩展/root所在的lv(我这里还扩展了、dev/sr0) 6、扩展/root文件系统。 7、重新创建home lv 创建时计算好剩余的磁盘容量,建议比剩余小1G左右) 8、创建文件系统 9、挂载home 10、home文件恢复 ​

    2024年02月02日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包