Linux如何给根目录扩容内存
第一种: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,方便快捷,而且,生产环境中也不会让你所有东西都放在根目录下,你只要加上一块硬盘,格式化后,随便挂载一个目录就能使用了,到时,要存的东西扔在挂载目录下就行。


Linux如何给根目录扩容内存的更多相关文章
- Linux磁盘LVM根目录扩容
LVM 的基本概念 物理卷 Physical Volume (PV):可以在上面建立卷组的媒介,可以是硬盘分区,也可以是硬盘本身或者回环文件(loopback file).物理卷包括一个特殊的 hea ...
- Centos7 LVM管理的逻辑卷根目录扩容和/var目录扩容
Centos7 LVM管理的逻辑卷根目录扩容 fdisk /dev/sdb #对新加磁盘进行分区操作pvcreate /dev/sdb1 #创建一个物理卷vgs #查看现有的卷组vgextend ce ...
- linux下对进程按照内存使用情况进行排序
linux下对进程按照内存使用情况进行排序的命令为:ps aux --sort -rss 详细解说参见 http://alvinalexander.com/linux/unix-linux-proce ...
- 浅析Linux下进程间通信:共享内存
浅析Linux下进程间通信:共享内存 共享内存允许两个或多个进程共享一给定的存储区.因为数据不需要在客户进程和服务器进程之间复制,所以它是最快的一种IPC.使用共享内存要注意的是,多个进程之间对一给定 ...
- 在 linux x86-32 模式下分析内存映射流程
前言 虚拟内存机制已经成为了现代操作系统所不可缺少的一部分, 不仅可以为每个程序提供独立的地址空间保证安全性,更可以通过和磁盘的内存交换来提高内存的使用效率.虚拟内存管理作为linux 上的重要组成部 ...
- Linux Kernel 释放后重用内存损坏漏洞
漏洞名称: Linux Kernel 释放后重用内存损坏漏洞 CNNVD编号: CNNVD-201307-305 发布时间: 2013-07-18 更新时间: 2013-07-18 危害等级: ...
- 编程获取linux的CPU使用的内存使用情况
Linux可用下top.ps命令检查当前的cpu.mem用法.下面简单的例子: 一.采用ps查看资源消耗的过程 ps -aux 当您查看进程信息,第三列是CPU入住. [root@localhost ...
- Linux 上 C 程序的内存布局
在仔细研究这个问题之前,我认为 C 程序在内存中只有代码段,堆和栈三部分构成.前几天面试被问到了这个问题,才发现自己的印象是不完全的. 在本文中通过解析析一个 C 程序中变量和函数的地址来分析 C 程 ...
- Ubuntu系统分配存储空间的建议以及给Ubuntu系统根目录扩容方法(从20GB追加100GB)
当初准备装双系统时,也思考了很久分配多少空间给Ubuntu16.04系统,查了许多资料,大多意思是‘/’目录总共给20GB,其他的给/home.网上资料推荐的大多跟这篇文章一样:https://blo ...
- linux下的CPU、内存、IO、网络的压力测试
linux下的CPU.内存.IO.网络的压力测试 要远程测试其实很简单了,把结果放到一个微服务里直接在web里查看就可以了,或者同步到其他服务器上 一.对CPU进行简单测试: 1.通过bc命令计算特 ...
随机推荐
- Android自动化无障碍服务开源库-Assists v3.0.0
Assists v3.0.0 Android无障碍服务(AccessibilityService)开发框架,快速开发复杂自动化任务.远程协助.监听等 Android无障碍服务能做什么 利用Androi ...
- Gitbook的安装和部署
安装 npm install gitbook-cli -g gitbook命令: gitbook init //初始化目录文件 gitbook help //列出gitbook所有的命令 gitboo ...
- c语言之位段
百度百科链接 示例: 1 struct CHAR 2 { 3 unsigned int ch : 8; //8位 4 unsigned int font : 6; //6位 5 unsigned in ...
- 对于 vue3.0 特性你有什么了解的吗?
Vue 3.0 的目标是让 Vue 核心变得更小.更快.更强大,因此 Vue 3.0 增加以下这些新特性: (1)监测机制的改变3.0 将带来基于代理 Proxy 的 observer 实现,提供全语 ...
- eclipse取消默认工作空间的两种方法
对于eclipse的默认的工作空间,如果不需要正常切换workspace的用户很方便,打开eclipse便自动进入默认的工作空间.而如果用户经常在多个workspace之间切换的话,启动eclipse ...
- ES6拼接数组与小程序本地存储
拼接数组 ES6扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] goodsList: [...goodsList, ...goods] 本地存储 // 把接口数据存入本地存储中 wx ...
- 解决方案 | tk.entry数字验证(输入框如何保证只能输入数字)
from tkinter import * root = Tk() # 创建文本框 entry = Entry(root) entry.pack() # 设置文本框只能输入数字 entry.confi ...
- apache ab.exe压力测试
ab.exe是一个性能检测工具,是apache server中的一个小组件,使用简单,方便 下载地址:http://files.cnblogs.com/files/gossip/ab.zip ...
- webpack4.15.1 学习笔记(五) — 生产环境构建
目录 生产环境构建 指定环境 生产环境构建 development和production的构建目标差异很大.dev中,需要具有实时重新加载或HMR能力的 source map 和 server.而在p ...
- 使用ES6中Class实现手写PromiseA+,完美通过官方872条用例
目录 Promise出现的原因 myPromise的实现要点 myPromise的实现 myPromise - 实现简单的同步 myPromise - 增加异步功能 myPromise - 链式调用( ...