💡
原文中文,约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 自动化运行手册。
❓
延伸问答
如何在 Amazon Linux 上缩容 XFS 文件系统的 EBS 根卷?
首先,创建快照并启动临时 EC2 实例,挂载旧根卷,使用 dd 命令拷贝启动分区,更新分区表,创建新文件系统,备份和恢复数据,最后替换原始根卷。
为什么 XFS 文件系统的根卷不能直接缩容?
因为 XFS 文件系统不支持直接缩容,需要通过备份和恢复到新卷的方式实现。
在缩容过程中需要注意哪些关键步骤?
关键步骤包括创建快照、挂载旧卷、使用 dd 命令拷贝、更新分区表、创建新文件系统和验证缩容成功。
如何验证 EBS 根卷缩容是否成功?
通过 lsblk 命令检查根卷的大小,确保显示为目标大小,例如 50GB。
缩容多个实例时有什么建议?
可以考虑自动化操作,使用 CLI 命令或 SSM 自动化运行手册来简化过程。
在缩容过程中如何处理 UUID 和 LABEL 信息?
在更新新根卷的数据分区时,需要将 UUID 和 LABEL 信息更新为与旧根卷匹配的值。
➡️