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)
image
LVM的LV代替了传统磁盘管理方式中的PV,使磁盘空间的扩展和压缩变得容易。最明显的优势是LV中的空间可以来自于多个不同的PV。

传统磁盘扩容(非LVM)

扩容前提:可用空间紧挨着被扩充分区结束扇区的位置

  • fdisk -l找到要扩容的磁盘和分区情况,我要对/dev/sda1扩容
    image
  • fdisk /dev/sda修改磁盘分区,输入m显示帮助信息
    image
  • 输入d删除要扩容的分区,只有一个分区时会直接删除,多个分区时按提示输入分区号
    image
  • 输入n新建分区
  • 输入p选择主分区或者输入e选择扩展分区,一般选择p,注意linux系统中主分区最多只能有4个,建立4个主分区后将无法再新增分区
  • 回车输入默认的第一个和最后一个扇区号
  • 其他提示输入y
    image
  • 输入w保存修改
  • 使用partprobe重新侦测分区,可能报错,这个时候需要重启系统
  • 调整文件系统,ext2,ext3,ext4系统使用resize2fs命令,xfs系统使用xfs_growfs,通过mount命令可以查看文件系统的类型
    image
    image
  • 通过df-h命令检查分区是否已经扩容
    image

LVM扩容(新增分区)

  • 假设要操作的磁盘为/dev/sda,使用fdisk /dev/sdan命令创建新分区,步骤和传统磁盘扩容中描述的一致
  • 使用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系统磁盘扩容那些事的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程