需求

对正在运行的生产服务器进行在线不停机扩容卷大小,在这个过程中,不影响已有的数据,不会对已有的磁盘做格式化,只单纯增加容量。

大致分为以下三个步骤:

  • 扩容使用中的卷Size;
  • 扩容分区;
  • 扩容文件系统;
[root@ip-172-31-19-192 ~]# lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk 
└─xvda1 202:1    0  100G  0 part /

调整卷大小

进入控制台,选择EC2 - 存储 -操作 - 修改卷
AWS EC2 在线扩容磁盘
AWS EC2 在线扩容磁盘
AWS EC2 在线扩容磁盘
AWS EC2 在线扩容磁盘

登陆实例调整大小

查看当前卷(磁盘)容量

使用lsblk命令查看当前磁盘的大小,发现已经成功扩容到200G了。

[root@ip-172-XX-XX-XXX ~]# lsblk 
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  200G  0 disk 
└─xvda1 202:1    0  200G  0 part /

调整分区大小

[root@ip-172-XX-XX-XX ~]# growpart /dev/xvda 1
CHANGED: partition=1 start=2048 old: size=209713119 end=209715167 new: size=419428319 end=419430367

扩容文件系统

xfs文件系统使用xfs_growfs扩容磁盘的sizeext文件系统的磁盘使用resize2fs

[root@ip-172-XX-XX-XXX ~]# xfs_growfs -d /
meta-data=/dev/xvda1             isize=512    agcount=51, agsize=524224 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=26214139, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 26214139 to 52428539
[root@ip-172-XX-XXX ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           1.9G  193M  1.7G  11% /run
tmpfs           1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/xvda1      200G   91G  110G  46% /
tmpfs           379M     0  379M   0% /run/user/1000

参考资料

Extend a Linux file system after resizing a volume

文章目录