首页 > 系统相关 >Linux如何给根目录扩容内存

Linux如何给根目录扩容内存

时间:2024-05-19 20:52:03浏览次数:25  
标签:逻辑 分区 dev 挂载 内存 Linux rl 根目录

第一种:LVM分区格式,就是用系统默认的自动分区格式

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

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

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

fdisk /dev/nvme0n2

# 然后输入
n
p
enter
enter
enter
t
L
8e
w

# t:修改分区文件系统id,选择8e,与原有分区属性一致(lvm)
# L:列举出所有Hex代码



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

# 输入partprobe让系统识别新增的分区

partprobe


# 创建物理卷

pvcreate /dev/vdc1


# 如果没有上述命令就需要安装这个软件包

dnf -y install lvm2


# 查看

pvdisplay


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

如果不知道系统自动给你分配的卷组的名称是什么,可以通过以下命令查看

vgdisplay | grep -w "VG Name" | awk '{print $3}'

# vgdisplay命令,会列出系统中存在的所有卷组的详细信息,grep -w "VG Name"是在输出信息中过滤出名为 “VG Name” 的行,awk '{print $3}'则是只打印该行的第三个单词,即卷组的名称。


vgextend rl /dev/nvme0n2p1 

# 这个命令的作用是将一个物理卷(Physical Volume,PV)/dev/nvme0n2p1扩展到一个名为rl的卷组(Volume Group,VG)中


lvresize -L +19.90G /dev/rl/root 

# 这个命令的作用是将名为/dev/rl/root的逻辑卷的大小增加 19.90 GB。该命令会把逻辑卷的大小调整为原来的大小加上指定的大小,因此这个卷会变得更大。

# 此命令通过 -L 参数指定要增加的大小,+19.90G 表示要增加的大小为 19.90 GB。如果要缩小逻辑卷的大小,可以省略 + 号,例如 -L 10G 表示将逻辑卷调整为 10 GB。

# /dev/rl/root指的是名为 rl 的卷组中的逻辑卷 root 指定这个逻辑卷是因为系统中可能有多个逻辑卷,我们需要指定要调整哪一个, root 这个逻辑卷通常是操作系统根目录(/)所在的逻辑卷,所以就给根目录扩容了20G


xfs_growfs /dev/rl/root

# 这个命令的作用是将文件系统大小扩展到逻辑卷 /dev/rl/root 的大小。

# 在 Linux 系统中,逻辑卷是通过管理物理卷来分配的。逻辑卷中的文件系统可以在线扩容,即在不影响正在运行的系统的情况下增加文件系统的大小。逻辑卷的大小被扩展后,文件系统并没有跟着扩展,需要使用 xfs_growfs 命令单独对文件系统进行扩展。

# xfs_growfs 命令用于扩展 XFS 文件系统的大小到逻辑卷的大小,即文件系统和逻辑卷大小保持一致。执行这个命令时,需要保证文件系统是挂载的状态,否则命令会执行失败。在这个命令中,/dev/rl/root 指定了要操作的逻辑卷的名称。

5.查看硬盘大小


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

标准分区(Standard Partition)是硬盘分区的一种类型,也称作基本分区(Primary Partition)。

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

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

# 该命令比lsblk查看到的硬盘信息更详细

fdisk -l

fdisk /dev/nvme0n2

# 然后输入
n
p
enter
enter
enter
w

mkfs.ext4 /dev/nvme0n2p1



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

# 创建一个名为新分区的目录作为挂载点

mkdir /mnt/new_partition


# 查找创建的分区的UUID

blkid /dev/nvme0n2p1

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

mount /dev/nvme0n2p1 /mnt/new_partition

dnf -y install rsync

rsync -avx / /mnt/new_partition
# 上述命令中,-a 参数表示以递归方式同步文件夹,并保留完整的文件属性。-v 参数表示通过标准输出显示执行过程中的详细信息,-x 表示排除挂载点 /mnt/new_partition 的同步

5.复制完成后,需要在根目录下创建一个old文件夹(名字自定义),并将原来的根(/)目录挂载到old文件夹

mkdir /old
mount --bind / /old

6.将/mnt/new_partition挂载到根目录下

mount --bind /mnt/new_partition/ /

7.最后在/etc/fstab文件中写入内容,开机自动挂载

vim /etc/fstab
/dev/nvme0n2p1 /mnt/new_partition ext4 defaults 0 0

这种方法只能帮你在你根目录容量不够的情况下,迁移到一块大一点的硬盘上,虽然也能起到扩容的作用,但是还是建议使用LVM,方便快捷,而且,生产环境中也不会让你所有东西都放在根目录下,你只要加上一块硬盘,格式化后,随便挂载一个目录就能使用了,到时,要存的东西扔在挂载目录下就行。


标签:逻辑,分区,dev,挂载,内存,Linux,rl,根目录
From: https://www.cnblogs.com/xyc321/p/18200706

相关文章

  • linux配置nfs共享
     安装NFS服务器软件:确保您的远程主机上已经安装了NFS服务器软件。在大多数Linux发行版中,您可以使用包管理器来安装NFS服务器软件。例如,在基于Debian的系统上,您可以运行以下命令来安装NFS服务器软件:sudoapt-getinstallnfs-kernel-server配置NFS共享:编辑NFS服务器的配置文件以......
  • 嵌入式Linux中的LED驱动控制(以野火STM32MP157开发板为例)
    在嵌入式Linux系统中,由于从硬件到软件都是自己定制的,所以很多时候需要对自己定义的设备编写驱动程序。本例就以野火STM32MP157开发板为例,讨论如何控制开发板上三个LED的亮灭。先来看一下LED部分的电路原理图,如下所示。从上图中可以看到,三个RGB颜色的二极管采用共阳接法,因此在......
  • Redis内存回收与缓存问题
    内存回收:1.过期key处理通过expire命令给key设置ttlRedis本身是KV型数据库,所有数据都存在RedisDB结构体中,其中有两张哈希表dict:用于存放KV(这里K是K,V是V)expires:保存Redis中所有的设置了过期时间的KEY以及到期时间TTL(这里K是K,V是TTL)过期KEY有两种删除策略:惰性删除,有......
  • 《Linux程序设计》各章知识点梳理
    《Linux程序设计》各章知识点梳理第1章软件包的管理方式方面,Ubuntu、CentOS的差异如何添加一个新用户?useradduser1什么是Shell?Shell是系统的用户界面,提供了用户与内核进行监护操作的一种接口。它接受用户输入的命令并把它们送去内核去执行。实际上Shell是一个命令......
  • Linux公私钥登录
    因为我电脑是Win11,自带了ssh,所以我就一直在用powershell登录服务器,就懒得再用xshell了,不过下文件之类的有时还是要登我服务器是阿里云的,所以在阿里云密钥对设置那创建新的密钥和绑定此密钥,下载下来将密钥放在任意文件夹中,最好全路径英文,以防万一在C:\Users\username\.ssh下创......
  • IMX6ULL Linux内核网络驱动修改
    IMX6ULL网络驱动修改主要修改arch/arm/boot/dts/imx6ul-14x14-evk.dtsi设备树文件即可,修改方式和u-boot的设备树修改一致。硬件电路设备树修改需要修改的设备树位置:arch/arm/boot/dts/imx6ul-14x14-evk.dtsi增加复位引脚信息从上面的原理图可知网口1使用的复位引脚是GPIO......
  • linux:权限
    在使用windows系统时我们可以在文件资源管理器中找到用户目录,一般个人计算机只有一个用户,就是计算机拥有者,个人使用计算机也没有创建多个用户的需求场景,但是不妨碍它存在,不同用户的权限不同,比如有些目录的读写操作只有管理员才可以使用,而普通用户使用时会被拒绝,这就是......
  • ptrace attach 修改进程内存
    #include<stdio.h>#include<stdlib.h>#include<sys/ptrace.h>#include<stdint.h>#include<errno.h>#include<sys/wait.h>intmain(intargc,char*argv[]){ void*addr1; void*addr2; pid_tattack_pid=-1; if(......
  • [20240516]建立完善vim bccalc_linux.vim插件.txt
    [20240516]建立完善vimbccalc_linux.vim插件.txt--//同步对linux版本做了修改,我自己很少使用,没有测试.--//安装很简单的拷贝到plugin,目录.$catbccalc_linux.vim""calculateexpressionenteredoncommandlineandgiveanswer,e.g.:"":Calculatesin(3)+sin(4)^2......
  • [20240510]SQL语句存在问题与共享池内存分配.txt
    [20240510]SQL语句存在问题与共享池内存分配.txt--//五一前遇到的问题,生产系统应用程序升级,但是3个表忘记建立,而编写的程序可能存在问题,导致频繁调用这些根本不可能执行的sql--//语句.很奇怪的是应用前台根本不报错,真不知道开发如何写代码,难道没做例外处理以及记录吗?--//测......