繁体   English   中英

如何更改AWS EBS卷文件系统类型

[英]How to change AWS EBS volume filesystem type

EBS卷作为ext4附加在/opt/apps 当前没有任何数据。 如何将文件系统类型更改为xfs并为/data分配新的安装点?

[centos@ip-10-24-xx-xxx ~]$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/xvda1     xfs       8.0G  1.4G  6.7G  17% /
devtmpfs       devtmpfs  7.3G     0  7.3G   0% /dev
tmpfs          tmpfs     7.2G     0  7.2G   0% /dev/shm
tmpfs          tmpfs     7.2G   17M  7.2G   1% /run
tmpfs          tmpfs     7.2G     0  7.2G   0% /sys/fs/cgroup
/dev/xvdb      ext4       99G   61M   94G   1% /opt/apps
tmpfs          tmpfs     1.5G     0  1.5G   0% /run/user/1000

这并非特定于AWS EBS。 Amazon为您提供了一个称为EBS的“磁盘”,该磁盘附加到/ dev / xvdb。 然后,随时将其挂载到任何位置(/ opt / apps或/ data),并使用所需的文件系统对其进行格式化。

此页面可以帮助您http://ask.xmodulo.com/create-mount-xfs-file-system-linux.html

看到您有两种选择来实现用例。

您可以将根卷转换为XFS或创建第二个卷。 就个人而言,我更喜欢后者,因为它提供了更大的灵活性。

选项1:将根卷转换为XFS

  1. 停止实例(不终止)(我们称其为实例A)
  2. 启动一个新实例(我们称其为实例B)
  3. 从实例A分离根卷并将其附加到实例B
  4. 创建第二个EBS卷,将其附加到实例B
  5. 将新的EBS卷格式化为XFS(如果尚未安装,请安装xfsprogs
  6. 将所有数据从第一个卷复制到新的卷(例如,使用rsync -aHAXxSP /source /target
  7. 从实例B分离新卷,并将其作为实例A的根卷附加
  8. 启动实例A
  9. 终止实例B(原始根卷应保持不变,一直保留直到您满意为止)。

将根卷附加到另一个实例的原因是要获得一致性,而使用该卷将很难做到这一点。

选项2:将数据移至第二个EBS卷

  1. 创建第二个EBS卷并将其附加到您的实例; 将其格式化为XFS并挂载
  2. 确定要移至新卷的目录(要考虑的目录包括:/ var / log,/ var / lib / mysql,/ var / www,/ var / spool / mail,/ var / vmail)
  3. 停止尽可能多的服务以删除写锁
  4. 使用lsof | grep /path/to/dir lsof | grep /path/to/dir检查剩余的写锁
  5. 将目录移到新的EBS卷
  6. 安装将新目录绑定到其旧位置(即mount -o bind /mnt/path/to/dir /orig/path/to/dir
  7. 对每个目录重复
  8. 启动您的服务以确保一切正常
  9. 编辑/etc/fstab文件以使挂载点永久存在; 例如: /mnt/path/to/dir /orig/path/to/dir bind defaults,noatime,bind 0 0

重新启动以确保所有内容都可以持续存在并正常运行。 您可能还需要考虑将根卷减小一点,因为希望从中删除所有数据后,根卷不应该增加(或更改)太多。

(需要指出的是,有可能使用util-linux-ng包含的fsfreeze冻结ext4文件系统)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM