AWS系统盘缩容

AWS支持EBS盘动态扩容,但不支持缩容。如果需要缩小系统盘,可以采用如下的方式。

 

1、创建一个新的小磁盘卷(new_small_volume)。

 

 

 


 

2、把新磁盘连接到要修改对服务器


 

 

 


 

3、运行lsblk查看磁盘信息(“list block”,即用于列出所有可用块设备的信息)

    NAME:这是块设备名

   MAJ:MIN:本栏显示主要和次要设备号

   RM:本栏显示设备是否可移动设备

  SIZE:本栏列出设备的容量大小信息

  RO:该项表明设备是否为只读

  TYPE:本栏显示块设备是否是磁盘或磁盘上的一个分区

   MOUNTPOINT:本栏指出设备挂载的挂载点

 


4、 mkfs -t ext4/dev/nvme1n1
(分区完成后,如果不格式化写入文件系统,则是不能正常使用的。所以我们需要使用 mkfs 命令即make file system进行格式化。
mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

  • device : 预备检查的硬盘分区,例如:/dev/sda1
  • -t : 给定档案系统的型式,Linux 的预设值为 ext2
  • -c : 在制做档案系统前,检查该partition 是否有坏轨
  • -l bad_blocks_file : 将有坏轨的block资料加到 bad_blocks_file 里面
  • block : 给定 block 的大小
  • mkfs 命令非常简单易用,不过是不能调整分区的默认参数的(比如块大小是 4096 Bytes),这些默认参数除非特殊清况,否则不需要调整。如果想要调整,就需要使用 mke2fs 命令重新格式化。命令格式如下:mke2fs [选项] 分区设备文件名)

 

5、mkdir /mnt/new-volume

6、mount /dev/nvme1n1 /mnt/new-volume 

7、rsync -axv / /mnt/new-volume/   

(remote synchronizetion  rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似ssh 带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷 贝。当然,rsync还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这又类 似cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。

rsync是不支持实时同步的,通常我们借助于inotify这个软件来实时监控文件变化,一旦inotify监控到文件变,则立即调用rsync进行同步。

8、grub2-install --root-directory=/mnt/new-volume/ --force /dev/nvme1n1  

 

9、umount /mnt/new-volume

10、blkid

 确认旧系统盘的uuid

11. fsck -f /dev/nvme1n1

12. tune2fs -U "运行blkid看到的旧系统盘uuid" /dev/nvme1n1  

13、e2label /dev/nvme0n1p1

14、e2label /dev/nvme1n1 /

15、退出登录,停止实例。

16、用实例id到卷中查找卷,并断开所有新旧卷,然后添加小的新卷/dev/sda1

17、启动实例,这时系统盘就是新的小磁盘。

 

注意: 1、第八步是centos的命令 grub2-install。 有的系统是grub-install命令

          2、第二步 mkfs -t ext4/dev/nvme1n1。  格式如果写xfs,后面会提示失败。

               原系统盘是xfs,新系统盘是ext4,也可以顺利完成,并且不需要修改/etc/fstab

 

 

 参考链接:

https://www.joe0.com/2021/09/27/how-to-reduce-the-size-of-aws-ebs-root-volume/

https://fitdevops.in/how-to-reduce-aws-ebs-root-volume-size/

 

posted @ 2022-04-30 00:00  diameter  阅读(845)  评论(0编辑  收藏  举报