边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计( 四 )

理论基础有了 , 接下来我们就通过在实际应用运行场景下直接拔盘的手段来验证ZStackMini节点是否还能正常工作 , 以下视频为验证过程:


边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计

----边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计//----

视频解读:在初始化好的ZStackMini中 , E企研究院创建了一个Windows10(试用版)操作系统的虚机 , 然后安装AdobePremiereProCS6(试用版)软件 , 这是Windows平台下主流的视频剪辑软件 。

我们将几个视频片段导入到Premiere中 , 剪辑拼合成一个视频 , 利用Premiere对这个剪辑后的视频进行渲染 。 在渲染过程中(大约渲染了三分之一进度之后) , 我们直接拔掉了此虚机所在物理节点上的一块用于数据存储的硬盘(4TB) 。 但Premiere的渲染任务并没有停顿 , 正常完成 。 但在ZStackMini的管理后台 , 监控中显示Windows10虚机所在物理节点出现硬盘故障 , 性能和可用性“降级” 。 这意味着数据没有丢失 , 应用仍可正常运行 , 但存在潜在风险:如果此时节点内再有一块硬盘发生故障 , 将导致数据丢失——当然 , 在下一节我们会看到 , 另一个节点不会允许这种事情发生 。

当我们将被拔出的硬盘重新插入硬盘仓(相当于用新盘替换故障盘) , ZStackMini识别到健康盘已插入 , 并开始自动重建 。


边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计

----边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计//----

图注:拔出后的硬盘重新插入 , ZStackMini自动进行数据重建 , 在管理后台对应的监控界面中 , 可以看到“重建中”状态标志 , 性能监视界面也显示目前有持续的IO读写活动;直到数据“重建”完成前 , RAID健康状态都将处于“降级”状态

通过上述模拟场景的测试验证 , ZStackMini任意节点确实能够有效地抵御单块数据存储盘故障 , 不会导致数据丢失或应用停顿 , 应用虚机仍旧无感知地继续当前任务 , 直至完成或人工干预 。

节点间:2N保障应用高可用

节点内的RAID技术保证了任一磁盘故障都不会对应用造成影响 , 但是传统基于硬件的RAID技术(更换硬盘后)重建数据的时间比较长——根据硬盘容量的不同 , 几个小时不等——在此期间 , 如果再有一个硬盘坏掉 , 数据就会丢失 , 应用也会中断 。 此外 , CPU、内存、网卡等部件没有冗余 , 出现故障也可能导致停机……凡此种种 , 都是ZStackMini的另一个节点发挥作用的时候 , 我们不妨称之为节点级副本 。


边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计

----边缘计算体验之二:简单高可用 ZStack Mini的巧妙设计//----

图上为ZStackMini正面 , 布满了3.5英寸硬盘 , 支持热插拔 。 图下为背部 , 几乎所有组件都位于节点内部 , 这意味着更换除硬盘外的任一组件都需要停机


推荐阅读