amazon-web-services - EBS 卷大小调整注意事项
问题描述
在我的一个运行 Ubuntu 16.04 的 AWS 实例上,我在 1TB ext4 EBS 卷上有一个 MySQL 副本数据库。我计划将其增加到 2TB。在我使用 resize2fs 命令增加卷大小和扩展文件系统之前,我需要采取任何预防措施吗?是否存在数据损坏的可能性?如果是这样,创建此卷的 EBS 快照是否明智?
解决方案
我需要采取任何预防措施吗?
您不需要采取任何不寻常的预防措施——只需标准的最佳实践,例如维护备份和制定经过测试的恢复计划。任何事情都可能随时出错,即使你坐着什么也不做。
重要的
在修改包含有价值数据的卷之前,最好创建卷的快照,以防您需要回滚更改。
https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-modify-volume.html
但这并不表示该操作特别危险。有趣的是,我从来没有遇到过复杂的情况,并且偶尔会调整 EBS 卷的大小,然后调整它在实时、主、生产数据库下的文件系统。
是否存在数据损坏的可能性?
无论您在做什么,数据损坏的可能性始终存在……但这似乎是一种安全的操作。额外的空间立即可用,并且没有 I/O 冻结或中断。
如果是这样,创建此卷的 EBS 快照是否明智?
如上所述,是的。
对稍后出现错误的担忧是有道理的,但 EBS 会维护内部一致性检查,如果这无法帮助避免进一步扰乱数据,则会禁用卷,以便您可以进行受控的恢复和修复操作。
如果 EBS 完美地存储了被实例上的某些东西破坏的数据,这将无济于事,例如可能是由 resize2fs 中的缺陷引起的,但它似乎是一个可靠的实用程序。它不会移动您现有的数据——它只是根据需要充实文件系统结构,以便文件系统使用已可用的整个可用空间。
推荐阅读
- r - 为什么从 Twitter 挖掘的数据在保存到数据帧后表现不同?
- flutter - 如何确定地图列表是否包含特定的键值?
- flutter - 主页加载时如何从 Firestore 获取数据?
- python - 为什么Django中模型方法的返回值没有显示在模板中?
- apache - NiFi 定制处理器在一段时间后不会发布数据到下一个处理器
- c# - 使用 XPath 或 XSLT 从 XML 中排除特定元素
- youtube - YouTube Data API v3 - 类别列表中的 categoryId 问题
- node.js - 得到一个非对象结果,期望来自 create Zapier 的对象?
- reactjs - 如何修复“throw er; //未处理的'错误'事件”?
- sql - 如何使用 SQL 显示具有类别的产品数量