作为一个XBOX玩家,经常会被PS玩家或者信仰“索尼大法”的人调侃:
人在做,天在看,机能不够留祸患,
万恶锁区天地灭,赶紧卖机保平安,
诚心诚念画质好,索尼大法平安保,
众生都为独占来,现世险恶忘前缘,
索尼弟子说真相,教你脱险莫拒绝,
早日摆脱XBOX,早日获得新生,
其实在IT圈,也有一些有名的大法,比如“重启大法” 或者 “3R大法” (Reboot,Reinstall,Reconfigure)。经常遇到一些vSAN用户在遇到问题时第一个想到的方法就是重启主机。这类的用户大体分为两类:刚刚接触ESXi的“小白”或者使用ESXi已经非常久的“老炮儿”。前者是因为没有太多排错思路和手段,后者是因为已经习惯用“重启主机”来解决在传统的虚拟化环境中遇到的问题。
虚拟机性能慢?重启主机!
主机连不上?重启主机!
存储延时高? 重启主机!
今天太无聊了...重启主机!
...
实际上,对于vSAN来说,重启也许可以解决问题,但是这真的不是一个很好的方法...
Host reboots are not troubleshooting steps!!!
You also don’t try to rip off your wheels while you driving
我想了想,大概有这么几个原因...
传统架构和超融合架构的差异
===================
传统架构中,主机、存储和网络是独立的,所以重启某一个部分对与其他两个部分是不影响的。然而在超融合的架构中,计算单元、存储单元和网络单元是结合在一起的,使用配置起来会非常的灵活和方便,但是彼此之间的依赖性会更强,因此对某一个单元进行操作有可能会影响到其余的部分。尤其是涉及到重启这些比较大的动作时,需要事先对可能涉及到的部分以及有可能会发生问题有个大概的预估(对管理员技术水平会有一些要求)。
有的放矢VS万箭齐发
===================
日常维护中,我们会遇到各种问题,例如:性能慢,无响应,无法开机等等。相对于直接重启主机,我更偏向于先定位故障,找到问题的根源,再决定如何去解决这个问题。这样不仅可以提高解决故障的效率,还可以降低受故障影响的范围以及排除潜在的隐患。例如:如果重启主机和重启服务都能解决问题的话,那么当然会选择重启服务。不可否认,重启主机有时候确实可以解决问题,但是解决问题与了解故障原因是两个概念,无法确认故障原因谁又能保证故障不复现呢。
主机?存储?
===================
每一个vSAN节点在运行时候都为整个vSAN集群提供这计算资源和存储资源,重启一台主机意味着在一段时间内部分计算资源和存储资源都是离线的状态。因此,重启前需要考虑:
其他主机是否有足够的计算资源承载迁移过去的VM的CPU和内存消耗?
如果短时间主机没恢复上线的话,其余主机数量是否满足重建的要求?vSAN是否有足够的空间承载重建的数据?
...
维护模式?维护模式。维护模式!
===================
如果你决定了要重启主机,那么强烈建议在主机重启前先至于维护模式,使主机以一个正常的状态开始重启的动作。包括:
当前主机上没有正在运行的虚拟机
当前主机上没有没开机或者挂起的虚拟机
正确的方式进入维护模式:全部数据迁移、确保数据可访问和不迁移数据
全部数据迁移:
优点:数据保持完整的副本
缺点:花费时间长,消耗空间大
确保数据可访问性
优点:花费时间少
缺点:数据以单副本形式运行,重建数据前无法承担额外的主机故障
不迁移数据
优点:花费时间最少
缺点:会影响FTT=0的对象访问
总而言之...如果环境中出了问题怎么办?找不到故障原因怎么办?不知道下一步解决方案怎么办?联系VMware的技术支持部门,他们才是大法~~