linux系统磁盘扩容那些事
2021/11/25 7:12:32
本文主要是介绍linux系统磁盘扩容那些事,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景
以下场景我们经常会遇到:
- 我们在安装系统的时候可能没有合理的分配空间,导致某些分区空间吃紧,而另外一些空间基本使用不到;
- 由于业务量激增->数据量激增,磁盘空间被用光;
这种情况下重新调整磁盘分区就很有必要。但是系统的数据都是很宝贵的,调整空间的前提是保证当前数据不被破坏。
要求
扩容操作不影响系统已经存在的数据,最好不用重启系统。
相关概念
分区:磁盘上的区域划分,例如windows中常见的C,D,E盘
扩容:增加分区的大小
扇区(sector):读写磁盘上的数据的最小单位,一般是512bytes
xfs,ext2,ext3,ext4:linux系统中常见的文件系统格式,xfs可以通过xfs_growfs命令调整文件系统,但是只能增大,不能缩小;ext2,ext3,ext4格式的文件系统可以通过resize2fs命令调整大小,增大和缩小都支持
LVM:Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制。
PV:物理卷(Physical Volume)
VG:卷组(Volume Group)
LV:逻辑卷(Logical Volume)
PE:物理块(Physical Extent)
LE:逻辑块(Logical Extent)
LVM的LV代替了传统磁盘管理方式中的PV,使磁盘空间的扩展和压缩变得容易。最明显的优势是LV中的空间可以来自于多个不同的PV。
传统磁盘扩容(非LVM)
扩容前提:可用空间紧挨着被扩充分区结束扇区的位置
fdisk -l
找到要扩容的磁盘和分区情况,我要对/dev/sda1扩容
fdisk /dev/sda
修改磁盘分区,输入m
显示帮助信息
- 输入
d
删除要扩容的分区,只有一个分区时会直接删除,多个分区时按提示输入分区号
- 输入
n
新建分区 - 输入
p
选择主分区或者输入e
选择扩展分区,一般选择p
,注意linux系统中主分区最多只能有4个,建立4个主分区后将无法再新增分区 - 按
回车
输入默认的第一个和最后一个扇区号 - 其他提示输入
y
- 输入
w
保存修改 - 使用
partprobe
重新侦测分区,可能报错,这个时候需要重启系统 - 调整文件系统,ext2,ext3,ext4系统使用
resize2fs
命令,xfs系统使用xfs_growfs
,通过mount
命令可以查看文件系统的类型
- 通过
df-h
命令检查分区是否已经扩容
LVM扩容(新增分区)
- 假设要操作的磁盘为/dev/sda,使用
fdisk /dev/sda
的n
命令创建新分区,步骤和传统磁盘扩容中描述的一致 - 使用
partprobe
重新侦测分区,假设新增的分区为/dev/sda3 - 使用
pvcreate /dev/sda3
创建PV - 使用
pvdisplay
查看新创建的PV - 使用
vgdisplay
查看当前的VG信息 - 假设新增的PV要增加到名为centos的VG,执行
vg_extend centos /dev/sda3
- 使用
df -h
找到要增加的LV的名称,假设是/dev/mapper/centos-root - 使用
lvextend -l +100%FREE /dev/mapper/centos-root
将VG中的剩余空间全部添加到指定的LV,也可以使用lvextend -L +30G /dev/mapper/centos-root
增加指定的大小 - 调整文件系统,ext2,ext3,ext4系统使用
resize2fs
命令,xfs系统使用xfs_growfs
,通过mount
命令可以查看文件系统的类型,例如resize2fs /dev/mapper/centos-root
或者xfs_growfs /dev/mapper/centos-root
- 通过
df-h
命令检查分区是否已经扩容
LVM扩容(PV扩容)
新增分区的方式不是任何情况都适用的。例如某个磁盘当前已经有了4个主分区,此时如果再扩容则无法使用LVM(新增分区)的方式。此时可以将空间增加到特定的PV
扩容前提:可用空间紧挨着被扩充分区结束扇区的位置
- 假设要扩容的PV所在的分区为/dev/sda4
- 输入
d
,再根据提示输入4
删除要扩容的分区 - 输入
n
新建分区 - 输入
p
选择主分区或者输入e
选择扩展分区,主要需要与删除前的分区属性一致 - 按
回车
输入默认的第一个和最后一个扇区号 - 其他提示输入
y
- 输入
t
修改分区类型 - 输入
4
选择要修改的分区 - 输入
8e
将分区类型改为linux LVM - 输入
w
保存修改 - 使用
partprobe
重新侦测分区,可能报错,这个时候需要重启系统 - 输入
pvresize /dev/sda4
调整PV的大小 - 假设LV的名称为/dev/mapper/centos-root。调整文件系统,ext2,ext3,ext4系统使用
resize2fs
命令,xfs系统使用xfs_growfs
,通过mount
命令可以查看文件系统的类型,例如resize2fs /dev/mapper/centos-root
或者xfs_growfs /dev/mapper/centos-root
- 通过
df-h
命令检查分区是否已经扩容
这篇关于linux系统磁盘扩容那些事的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法