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-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南