我有一个 50 GB 的 EBS 卷,我想将其减少到 20 GB。操作系统是 centos 7,有 XFS 文件系统。我已按照此操作关联 但它更具体到 ext4 和 Ubuntu,有人能告诉我如何处理 XFS 文件系统类型吗
答案1
您可能能够更改 XFS 文件系统大小,但不能减小 EBS 卷的大小。
您需要创建一个新的 EBS 卷,将其附加到您的实例,在新 EBS 卷上创建一个文件系统,然后将文件从旧 EBS 卷复制(迁移)到新 EBS 卷。
答案2
以下是(不是很基础的)有关如何执行此操作的说明:
- 启动一个 ec2 实例,它将是您的“Dupe”服务器。mX.large 就足够了。一旦您可以连接到它,就将其关闭,因为您需要安装一些卷。
- 创建一个 EBS 卷作为“新”卷。我建议在 AWS 控制台中标记新卷和旧卷。
- 关闭要缩小的 EC2 实例“TooBig”。希望您能在 5-10 分钟内完成此操作。根据您的卷大小,此过程不应超过此时间。
- 将卷“Old”从“TooBig”中分离。
- 将卷“Old”附加到“Dupe”
- 将卷“New”附加到“Dupe”。
- 启动“Dupe”。您需要检查卷是否按此顺序安装。如果不是,则必须修改附加的脚本。
-> /dev/nvme0n1p1(这是您的“Dupe”启动分区)
-> /dev/nvme1n1p1(这应该是您的“旧”EBS)
-> /dev/nvme2n1p1(这应该是您的“新”EBS)
运行blkid
以获取所有块 ID。您需要将它们添加到以下脚本中。
“blkidold” 是您的“旧”EBS 的块 ID。
#!/bin/bash
fdisk /dev/nvme2n1
sleep 1
mkfs.xfs /dev/nvme2n1p1
mount -o ro /dev/nvme1n1p1 /mnt/nvme1n1p1
mount /dev/nvme2n1p1 /mnt/nvme2n1p1
xfsdump -l0 -J - /mnt/nvme1n1p1 | xfsrestore -J - /mnt/nvme2n1p1
umount /mnt/*
xfs_admin -U blkidold /dev/nvme1n1p1
xfs_admin -U blkidold /dev/nvme2n1p1
chroot / grub2-install /dev/nvme2n1
- 停止重复。分离“旧”和“新”
- 将“新”附加到“太大”
你现在可以走了。