Linux如何给根目次扩容内存

[复制链接]
发表于 2024-12-2 10:03:44 | 显示全部楼层 |阅读模式
第一种:LVM分区格式,就是用系统默认的主动分区格式

1.添加一块20G大小的nvme硬盘


2.启动后,查看硬盘是否已经被系统辨认


3.对/dev/nvme0n2进行分区,并设置分区属性

  1. fdisk /dev/nvme0n2
  2. # 然后输入
  3. n
  4. p
  5. enter
  6. enter
  7. enter
  8. t
  9. L
  10. 8e
  11. w
  12. # t:修改分区文件系统id,选择8e,与原有分区属性一致(lvm)
  13. # L:列举出所有Hex代码
复制代码



3.让系统辨认新增分区,然后创建物理卷

  1. # 输入partprobe让系统识别新增的分区
  2. partprobe
  3. # 创建物理卷
  4. pvcreate /dev/vdc1
  5. # 如果没有上述命令就需要安装这个软件包
  6. dnf -y install lvm2
  7. # 查看
  8. pvdisplay
复制代码


4.扩展卷组,扩展根分区

  1. 如果不知道系统自动给你分配的卷组的名称是什么,可以通过以下命令查看
  2. vgdisplay | grep -w "VG Name" | awk '{print $3}'
  3. # vgdisplay命令,会列出系统中存在的所有卷组的详细信息,grep -w "VG Name"是在输出信息中过滤出名为 “VG Name” 的行,awk '{print $3}'则是只打印该行的第三个单词,即卷组的名称。
  4. vgextend rl /dev/nvme0n2p1
  5. # 这个命令的作用是将一个物理卷(Physical Volume,PV)/dev/nvme0n2p1扩展到一个名为rl的卷组(Volume Group,VG)中
  6. lvresize -L +19.90G /dev/rl/root
  7. # 这个命令的作用是将名为/dev/rl/root的逻辑卷的大小增加 19.90 GB。该命令会把逻辑卷的大小调整为原来的大小加上指定的大小,因此这个卷会变得更大。
  8. # 此命令通过 -L 参数指定要增加的大小,+19.90G 表示要增加的大小为 19.90 GB。如果要缩小逻辑卷的大小,可以省略 + 号,例如 -L 10G 表示将逻辑卷调整为 10 GB。
  9. # /dev/rl/root指的是名为 rl 的卷组中的逻辑卷 root 指定这个逻辑卷是因为系统中可能有多个逻辑卷,我们需要指定要调整哪一个, root 这个逻辑卷通常是操作系统根目录(/)所在的逻辑卷,所以就给根目录扩容了20G
  10. xfs_growfs /dev/rl/root
  11. # 这个命令的作用是将文件系统大小扩展到逻辑卷 /dev/rl/root 的大小。
  12. # 在 Linux 系统中,逻辑卷是通过管理物理卷来分配的。逻辑卷中的文件系统可以在线扩容,即在不影响正在运行的系统的情况下增加文件系统的大小。逻辑卷的大小被扩展后,文件系统并没有跟着扩展,需要使用 xfs_growfs 命令单独对文件系统进行扩展。
  13. # xfs_growfs 命令用于扩展 XFS 文件系统的大小到逻辑卷的大小,即文件系统和逻辑卷大小保持一致。执行这个命令时,需要保证文件系统是挂载的状态,否则命令会执行失败。在这个命令中,/dev/rl/root 指定了要操作的逻辑卷的名称。
复制代码

5.查看硬盘大小



第二种,标准分区格式,及自定义的分区

标准分区(Standard Partition)是硬盘分区的一种范例,也称作根天职区(Primary Partition)。


1.添加一块40G大小的nvme硬盘


2.确认硬盘被辨认,调整分区大小,初始化

  1. # 该命令比lsblk查看到的硬盘信息更详细
  2. fdisk -l
  3. fdisk /dev/nvme0n2
  4. # 然后输入
  5. n
  6. p
  7. enter
  8. enter
  9. enter
  10. w
  11. mkfs.ext4 /dev/nvme0n2p1
复制代码



3.确认创建完毕后,新建挂载点,并使用 blkid 命令找到新创建分区的 UUID。

  1. # 创建一个名为新分区的目录作为挂载点
  2. mkdir /mnt/new_partition
  3. # 查找创建的分区的UUID
  4. blkid /dev/nvme0n2p1
复制代码

4.将分区挂载到挂载点,使用rsync 命令将原本的根目次下的全部数据复制到新的分区下。

  1. mount /dev/nvme0n2p1 /mnt/new_partition
  2. dnf -y install rsync
  3. rsync -avx / /mnt/new_partition
  4. # 上述命令中,-a 参数表示以递归方式同步文件夹,并保留完整的文件属性。-v 参数表示通过标准输出显示执行过程中的详细信息,-x 表示排除挂载点 /mnt/new_partition 的同步
复制代码
5.复制完成后,必要在根目次下创建一个old文件夹(名字自定义),并将原来的根(/)目次挂载到old文件夹

  1. mkdir /old
  2. mount --bind / /old
复制代码
6.将/mnt/new_partition挂载到根目次下

  1. mount --bind /mnt/new_partition/ /
复制代码
7.末了在/etc/fstab文件中写入内容,开机主动挂载

  1. vim /etc/fstab
  2. /dev/nvme0n2p1 /mnt/new_partition ext4 defaults 0 0
复制代码
这种方法只能帮你在你根目次容量不敷的情况下,迁移到一块大一点的硬盘上,固然也能起到扩容的作用,但是照旧发起使用LVM,方便快捷,而且,生产环境中也不会让你全部东西都放在根目次下,你只要加上一块硬盘,格式化后,随便挂载一个目次就能使用了,到时,要存的东西扔在挂载目次下就行。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-12 23:22 , Processed in 0.077638 second(s), 29 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表