由于部分Linux操作系统版本较旧,无法使用growpart等工具在线扩容时,这种情况下需要手动扩容Linux系统盘。本文主要针对MBR分区系统盘的手动扩容方式进行介绍https://help.aliyun.com/zh/ecs/how-to-manually-resize-a-linux-system-disk-when-automatic-resizing-fails?spm=a2c6h.13066369.question.11.4e7dbf2byXzx4n
Linux系统进行系统盘的扩容一般有以下几种方法:
使用resize2fs命令扩容文件系统。该命令可以在线扩容文件系统,不需要重启系统。但是需要保证文件系统没有挂载,且有可用空间。
使用lvextend命令扩展逻辑卷。该命令可以在线扩展逻辑卷,不需要重启系统。但是需要保证逻辑卷所在的物理卷有足够的可用空间。
添加新的硬盘或分区,并将其格式化为文件系统,然后将其挂载到系统中。这种方法需要重启系统才能生效。
重新划分磁盘分区,将空闲空间分配给系统盘。这种方法需要备份数据,因为涉及到磁盘分区的调整。
1、登录阿里云ECS控制台,找到需要扩容的ECS实例,并选择系统盘所在的位置和类型。
2、确定需要扩容的容量,并点击“确定”进行支付。
3、等待系统自动执行扩容操作。根据所选的实例类型和系统盘类型,扩容时间可能会有所不同。
4、等待扩容完成后,重启ECS实例,使新的系统盘容量生效。
阿里云ECS Linux系统的系统盘扩容需要遵循以下步骤:
登录阿里云ECS控制台,选择要进行扩容的实例。
在实例列表页面,找到要扩容的实例,点击“更多”按钮,选择“磁盘扩容”。
在弹出的窗口中,选择要扩容的磁盘类型和容量,点击“确定”按钮。
等待扩容完成。扩容完成后,需要重启实例才能使新的磁盘容量生效。
重启实例后,登录到实例上,执行以下命令来格式化新的磁盘分区并挂载到相应的目录下:
复制
bash
fdisk /dev/vdb
mkfs.ext4 /dev/vdb1
mount /dev/vdb1 /mnt
复制
其中,/dev/vdb
是新的磁盘设备名称,/dev/vdb1
是新的分区名称,/mnt
是挂载目录。
其中,/mnt2是原来的挂载目录。
卸载原来的分区并挂载新的分区到原来的目录下:
bash
复制
umount /mnt
mount /dev/vdb1 /mnt
现在,新的磁盘容量已经生效,并且数据已经迁移到新的分区中。
示例环境以Centos7.X系统为例,且分区为MBR格式分区,系统盘容量小于2T。分区以/dev/vda为例。
1、登录机器,执行blkid命令查看当前文件系统类型,确认为MBR格式分区。
2、执行以下命令,查看当前分区状态。
fdisk -lu
系统显示类似如下,重点关注分区起始位置,删除后新建分区时,起始位置需要与原分区一致,否则重启会异常。
3、执行以下命令,进行扩容操作,根据提示选择对应选项。
fdisk -u /dev/vda
系统显示类似如下,保存分区信息时,会出现警告信息,由于系统盘分区是busy状态,重新读取分区表会失败。
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/vda: 47.2 GB, 47244640256 bytes, 92274688 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0008d73a
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 83884031 41940992 83 Linux
Command (m for help): d
Selected partition 1
Partition 1 is deleted
Command (m for help): n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-92274687, default 2048):
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-92274687, default 92274687):
Using default value 92274687
Partition 1 of type Linux and of size 44 GiB is set
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
4、重启实例,启动后执行以下命令,进行扩容。
resize2fs /dev/vda1
5、执行以下命令,确认已经扩容成功。
df -h
——参考来源于阿里云官方文档。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。