张红尘的博客 张红尘的博客

纵你阅人何其多,始终无人恰似我

目录
Linux磁盘扩容root分区操作小记
/    

Linux磁盘扩容root分区操作小记

Linux磁盘扩容root分区操作小记

前言

Linux磁盘扩容是在管理和维护Linux系统中常见的任务之一。本文旨在记录扩容Linux根分区的操作步骤以及相应注意事项。所述操作基于AlmaLinux 9.2,但理论上适用于其他基于REHL生态的发行版。

AlmaLinux是一个由CentOS分支出来的发行版,它继承了CentOS在企业级Linux操作系统领域的优秀传统。与CentOS相似,AlmaLinux提供了稳定、可靠的性能和广泛的软件兼容性。在本文中,我们将探索如何在AlmaLinux上进行磁盘扩容操作。

此外,RockLinux也是与AlmaLinux有关系的发行版。RockLinux可被视为AlmaLinux的近亲兄弟,它们共享相似的源代码和目标。而AnolisOS是国内社区充分支持的发行版之一,它兼容CentOS,并且在国内社区中拥有广泛的用户群体。

因此,AlmaLinux、RockLinux和AnolisOS可以被视为CentOS停止维护后的替代选择。

操作步骤以及说明

1.查看磁盘占用情况

使用df -lh命令查看磁盘占用情况。

[root@znas /]# df -lh
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root   70G  5.4G   65G    8% /
/dev/mapper/almalinux-home  398G  2.9G  395G    1% /home
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   52K  761M    1% /run/user/42
tmpfs                       762M   36K  762M    1% /run/user/0

2.解挂home文件夹

上面的df命令已经展示了/home目录是硬件目录下的almalinux-home。

/dev/mapper/almalinux-home  398G  2.9G  395G    1% /home

解挂删除home目录前请先备份目录参考操作记录的cp命令

  1. 使用umount /home/命令解挂 /home目录
  2. 使用 lvremove /dev/mapper/almalinux-home删除
[root@znas /]# umount /home/
[root@znas /]# lvremove /dev/mapper/almalinux-home
Do you really want to remove active logical volume almalinux/home? [y/n]: y
  Logical volume "home" successfully removed.

3.扩展逻辑卷和扩大文件系统

使用lvextend -L +200G /dev/mapper/almalinux-root命令意思在almalinux-root逻辑卷空间原有的70G基础上在增加200G,即almalinux-root最终大小为270G这里扩展的是磁盘大小。
然后使用xfs_growfs命令的作用就是对ext4文件系统进行扩容。

[root@znas /]# lvextend -L +200G /dev/mapper/almalinux-root
  Size of logical volume almalinux/root changed from 70.00 GiB (17920 extents) to 270.00 GiB (69120 extents).
  Logical volume almalinux/root successfully resized.
[root@znas /]# xfs_growfs /dev/mapper/almalinux-root
meta-data=/dev/mapper/almalinux-root isize=512    agcount=4, agsize=4587520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=18350080, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=8960, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 18350080 to 70778880

4.查看硬盘剩余大小

  • VG:卷组
  • PV:物理卷
  • LV:逻辑卷
  • VSize:总大小
  • VFree:剩余大小
[root@znas /]# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  almalinux   1   2   0 wz--n- 475.35g 197.54g

5.重建home目录

  1. 使用lvcreate命令创建home逻辑卷
  2. 使用mkfs.xfs命令格式化almalinux-home文件系统
  3. 使用mount /dev/mapper/almalinux-home /home 将文件系统重新挂载到/home
[root@znas /]# lvcreate -n home -L 197.5G almalinux
  Logical volume "home" created.
[root@znas mapper]# mkfs.xfs /dev/mapper/almalinux-home
meta-data=/dev/mapper/almalinux-home isize=512    agcount=4, agsize=12943360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=51773440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=25280, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.
[root@znas mapper]# mount /dev/mapper/almalinux-home /home

6.误区

有些习惯只用root账号的操作者,会把所有磁盘空间都分配给root,第五步就不重建home分区了。这样的后果就是系统重启后起不来。一直卡在检测home分区这一步半天起不来。我就是中了这个误区,发现起不来连接显示器后才发现这个问题强制进入了系统但是因为异常问题导致root分区变成了只读模式,需要mount -o remount,rw /解除只读模式。但是磁盘空间已经全部分配给root分区了。没有多余的空间建立home分区。本身我对Linux就停留在了简单的命令,这次的分区都是翻书百度了好久,于是乎没想到的解决方案就直接充装大法好。

操作记录全过程

[root@znas /]# cd home/
[root@znas home]# ls
zhang
[root@znas home]# cp zhang/ /data/zhang
cp: 未指定 -r;略过目录'zhang/'
[root@znas home]# cp -r zhang/ /data/zhang
[root@znas home]# cd /data/
[root@znas data]# ls
dockerimg  zhang
[root@znas data]# cd zhang/
[root@znas zhang]# ls
公共  模板  视频  图片  文档  下载  音乐  桌面
[root@znas zhang]# cd ../
[root@znas data]# cd../
-bash: cd../: 没有那个文件或目录
[root@znas data]# cd ../
[root@znas /]# df -lh
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root   70G  5.4G   65G    8% /
/dev/mapper/almalinux-home  398G  2.9G  395G    1% /home
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   52K  761M    1% /run/user/42
tmpfs                       762M   36K  762M    1% /run/user/0
[root@znas /]# umount /home/
[root@znas /]# lvremove /dev/mapper/almalinux-home
Do you really want to remove active logical volume almalinux/home? [y/n]: y
  Logical volume "home" successfully removed.
[root@znas /]# lvextend -L +200G /dev/mapper/almalinux-root
  Size of logical volume almalinux/root changed from 70.00 GiB (17920 extents) to 270.00 GiB (69120 extents).
  Logical volume almalinux/root successfully resized.
[root@znas /]# resize2fs /dev/mapper/almalinux-root
resize2fs 1.46.5 (30-Dec-2021)
resize2fs: 超级块中的幻数有错 尝试打开 /dev/mapper/almalinux-root 时
找不到有效的文件系统超级块。
[root@znas /]# xfs /dev/mapper/almalinux-root
bash: xfs: command not found...
[root@znas /]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root   70G  5.4G   65G    8% /
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   52K  761M    1% /run/user/42
tmpfs                       762M   36K  762M    1% /run/user/0
[root@znas /]# xfs_growfs /dev/mapper/almalinux-root
meta-data=/dev/mapper/almalinux-root isize=512    agcount=4, agsize=4587520 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=18350080, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=8960, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 18350080 to 70778880
[root@znas /]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root  270G  6.8G  264G    3% /
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   36K  762M    1% /run/user/0
[root@znas /]# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  almalinux   1   2   0 wz--n- 475.35g 197.54g
[root@znas /]# lvcreate -n home -L almalinux
  Size requires number argument.
  Invalid argument for --size: almalinux
  Error during parsing of command line.
[root@znas /]# lvcreate -n home -L 197.5G almalinux
  Logical volume "home" created.
[root@znas /]# cd /dev/mapper/
[root@znas mapper]# ls
almalinux-home  almalinux-root  almalinux-swap  control
[root@znas mapper]# mkfs.xfs /dev/mapper/almalinux-home
meta-data=/dev/mapper/almalinux-home isize=512    agcount=4, agsize=12943360 blk                                    s
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1
data     =                       bsize=4096   blocks=51773440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=25280, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
Discarding blocks...Done.
[root@znas mapper]# df -lh
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root  270G  6.8G  264G    3% /
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   36K  762M    1% /run/user/0
[root@znas mapper]# mount /dev/mapper/almalinux-home /home
[root@znas mapper]# df -lh
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                    4.0M     0  4.0M    0% /dev
tmpfs                       3.8G     0  3.8G    0% /dev/shm
tmpfs                       1.5G   18M  1.5G    2% /run
/dev/mapper/almalinux-root  270G  6.8G  264G    3% /
/dev/sda2                  1014M  291M  724M   29% /boot
/dev/sda1                   599M  7.1M  592M    2% /boot/efi
tmpfs                       762M   36K  762M    1% /run/user/0
/dev/mapper/almalinux-home  198G  1.5G  196G    1% /home
[root@znas mapper]# cd /data/
[root@znas data]# ls
dockerimg  zhang
[root@znas data]# mv zhang/ /home/
[root@znas data]# ls
dockerimg
[root@znas data]# cd /home/
[root@znas home]# ls
zhang
[root@znas home]#

参考文献

[1]鸟哥.鸟哥的Linux私房菜[M].人民邮电出版社,2010.


标题:Linux磁盘扩容root分区操作小记
作者:张红尘
地址:https://www.hcworld.xyz/articles/2023/07/05/1688490946800.html