MySQL的磁盘空间我们如何解决一个讨厌的空间问题利用的灵活性Percona MySQL运营商吗?雷竞技下载官网

规划数据库部署时,需要考虑的最具挑战性的因素之一是空间,我们需要把磁盘上的数据。

< span风格= "粗细:400;“>这是更加麻烦,当工作在裸露的金属,因为它是更难添加空间在使用这种解决方案的云。

< span风格= "粗细:400;“>当使用EBS等云存储或类似,它通常是容易(er)扩展卷,这使我们豪华计划分配的空间数据与放松的好成绩。

< span风格= "粗细:400;“>这还真的当使用解决方案基于Kubernetes呢雷竞技下载官网Percona运营商MySQL吗?嗯,这取决于你在哪里运行它。然而,如果你选择平台支持的选项扩展卷,美丽本身让你这样做的可能性。

< span风格= "粗细:400;“>尽管如此,如果它可能出错,结束了与MySQL完全填充设备不是一个有趣的体验。

< span风格= "粗细:400;“>如你所知,在正常的部署,MySQL在设备上没有剩余空间,它只是停止工作,因此它会导致生产下降的事件,这当然是不幸的和我们想要不惜任何代价避免它。

< span风格= "粗细:400;“>这个博客的故事发生了什么,期望发生什么,为什么。

这个故事

此案在AWS上使用的。

< span风格= "粗细:400;“>鉴于上述,我很惊讶,当我们有一个案例一个部署解决方案基于Percona运营商MySQL出去的空间。雷竞技下载官网然而,我们开始挖掘和检查发生了什么和为什么。

< span风格= "粗细:400;“>我们做的第一件事就是迅速调查真正的空间,这可能是一个容易赢得如果大部分空间被一些日志,但不幸的是,事实并非如此,因为数据是真的把所有可用空间。

< span风格= "粗细:400;“>下一步是检查什么是存储类(SC)用于PersistentVolumeClaim (PVC):

我们使用io1 SC,现在,是时候检查如果SC支持体积膨胀:

没有不启用,在这种情况下,我们不能去扩大体积,我们首先必须改变存储类的设置。< span风格= "粗细:400;“>使体积膨胀,您需要删除存储类,再次启用它。

< span风格= "粗细:400;“>不幸的是,我们在做这个操作失败,因为存储类保持住ALLOWVOLUMEEXPANSION复原。

< span风格= "粗细:400;“>说,这是一个生产活动,因此我们不能花太多的时间在挖掘为什么不正确改变模式,我们必须迅速采取行动。

< span风格= "粗细:400;“>唯一的选择,我们必须修复它是:

  • 扩大io1卷从AWS控制台(或AWS客户端)
  • 调整文件系统
  • 补丁任何K8文件允许K8正确看到新卷的维度

扩大EBS卷从控制台是微不足道的,就去卷,选择您想修改量,选择修改,并改变它的大小与期望,并完成。

< span风格= "粗细:400;“>一旦完成,连接到节点主机已挂载卷的豆荚是这样的:

然后我们需要PVC的id来识别它的节点上:

一注意,做这样的复苏雷竞技下载官网Percona XtraDB集群的解决方案,总是先恢复节点0,那么别人。

< span风格= "粗细:400;“>所以我们连接到< mynode >并确定体积:

在这一点上我们可以调整:

的好处是,一旦你这样做,MySQL守护进程将空间和将重新启动,然而,它只会发生在当前pod和K8仍将看到古老的维度:

允许K8与真正的维度,我们必须补丁,存储的信息和命令如下:

记住要使用PVC-name名字来自:

一旦这样做,美丽将看到新的体积尺寸正确。

< span风格= "粗细:400;“>只是重复这个过程节点1和节点2,…,集群。

< span风格= "粗细:400;“>最后,不要忘记修改您的自定义资源文件(cr.yaml)以匹配新的体积大小。例如:

整个过程只用了几分钟,现在是时候去调查为什么存储类的事件发生,为什么不允许扩展的。

为什么它发生

嗯,首先不是正确的监控平台。raybet雷竞技竞猜在线官网这样有一个缺乏可见性空间利用率和警报的磁盘空间。

< span风格= "粗细:400;“>这是容易解决通过启用raybetapp官方下载 (PMM)功能集群中的铬和设置警报PMM一旦节点加入它(见https://docs.雷竞技下载官网percona.com/praybet雷竞技竞猜在线官网ercona-monitoring-and-management/get-started/alerting.html细节怎么做)。

< span风格= "粗细:400;“>第二个问题是存储类的问题。一旦我们有时间仔细检查配置文件,我们确定了SC类中有一个额外的选项卡,这是导致K8忽略该指令。

< span风格= "粗细:400;“>它应该是:

有关的是缺乏Kubernetes API返回的错误,所以在理论上被接受,但是却没有验证的配置。

< span风格= "粗细:400;“>在任何情况下,一旦我们有固定的错误并重新创建SC,体积膨胀的设定是正确地接受:

应该发生什么?

如果适当的监控和报警raybet雷竞技竞猜在线官网,管理员可以采取行动的时间和扩展卷,没有停机时间。

< span风格= "粗细:400;“>美丽然而,扩展卷的过程并不复杂,但也不会像你想象的那样简单。我的同事纳塔莉亚Marukovich写了一篇博文,雷竞技下载官网Percona运营商体积膨胀,没有停机时间,< span风格= "粗细:400;“>给你一步一步的说明如何扩展卷没有停机时间。

结论

使用云、容器、自动化或更复杂的协调器像Kubernetes,并不解决所有,不阻止错误的发生,更重要的是,不为你做出正确的决定。

必须设置一个合适的体系结构,包括备份、监控和报警。raybet雷竞技竞猜在线官网必须设置正确的警报和采取行动。

最后,自动化是很酷,但是,魔鬼在于细节和拼写错误是他日常的快乐。小心检查你放到网上,不要着急。验证,验证,验证…

好有状态的MySQL。

雷竞技下载官网Praybet雷竞技竞猜在线官网ercona监视和管理是一种优秀的开源数据库监视解决方案。它能帮助你降低复杂性、优化性能和改善关键业务数据库的安全环境中,无论他们在那里部署。

raybetapp官方下载

订阅
通知的
客人

0评论
内联反馈
查看所有评论