目前的项目由于历史原因,ECS 上的 centos 内核版本还是 2.6 ,不能支持 在线扩容 磁盘,只能离线扩容。
扩容 ECS A 时,需要
1)把 A 上停机
2)卸载 A 上的云盘(系统盘)
3)挂载到 ECS B 上作为一个 数据盘
4)在 B 上修改 A的云盘的分区表时,有如下地方是 要注意:
如果用 fdisk 修改分区表时,
1)p 先打印旧分区表 的 start,
2)d 删除旧分区表
3)n 新建分区表时,看到的默认开始的 start 与 旧 start不同,如下图所示
就不要用 fdisk了,要改用 parted,
因为旧分区表是用 parted软件 建立的。
4)q 退出 fdisk,注意:这时 分区表没有被修改(fdisk 要显式用 w 才会写入分区表)
yum 安装 parted后,
要注意,parted 中 使用 rm 1 删除分区时,已经写入了 分区表,要小心操作。(我操作前已经用 dd 命令备份了分区表,dd if=/dev/vdb of=/tmp/db3mbr.bak bs=512 count=1)
最后还用要 fdisk 把这个 分区设置为 可以 boot,parted 也可以。不然后操作系统 是不能开机启动的。( PS: 也可以在 parted 中使用命令 set 1 boot on 达到同样的目的)
后面的 e2fsck 和 resize2fs 命令就不说了,网上的文章都有说。
lsblk 命令前后的对比可以看出已经成功扩容了。
最后,把这个云盘从 B 卸载,再挂载回 A,把 A 开机就可以了。