Amazon linux XFS 文件系统 EBS 根卷缩容实践

Amazon linux XFS 文件系统 EBS 根卷缩容实践

💡 原文中文,约5500字,阅读约需13分钟。
📝

内容提要

本文介绍了如何在 Amazon Linux 2023 上将 XFS 文件系统的 EBS 根卷从 100GB 缩容至 50GB。缩容过程复杂,主要步骤包括创建快照、挂载卷、使用 dd 命令拷贝启动分区、更新分区表、创建新文件系统以及备份和恢复数据。最后,替换原始根卷并验证缩容是否成功。

🎯

关键要点

  • 客户在使用 AWS EC2 实例时,可能需要对 EBS 卷进行缩容,根卷缩容较为复杂。
  • XFS 文件系统的根卷无法直接缩容,需要备份并恢复到新卷。
  • 本文介绍了如何将 100GB 的 XFS 文件系统 EBS 根卷缩容至 50GB。
  • 启动 EC2 实例并为根卷创建快照,确保快照描述信息清晰。
  • 创建新卷时,确保可用区与 EC2 实例一致。
  • 启动临时 EC2 实例,创建两个 EBS 卷,一个用于备份,另一个为目标大小。
  • 挂载旧 EBS 根卷到临时 EC2 实例,并记录分区信息。
  • 使用 dd 命令拷贝 boot 启动分区到新根卷。
  • 使用 gdisk 工具更新新根卷的分区表,创建正确大小的新数据分区。
  • 在新根卷的首个数据分区创建 XFS 文件系统。
  • 备份旧根卷的数据分区,并将其恢复到新根卷。
  • 更新新根卷的数据分区的 UUID 和 LABEL 信息。
  • 从临时 EC2 实例分离新根卷,替换原始 EC2 实例的旧根卷。
  • 验证缩容是否成功,确保根卷显示为 50GB。
  • 如果需要缩容多个实例,可以考虑自动化操作,使用 CLI 命令或 SSM 自动化运行手册。
➡️

继续阅读