如果想要确保虚拟基础架构的高可用性,无疑需要冗余技术,下面我们的专家顾问将会介绍企业应该如何选择最适合自己的冗余等级。
如果企业想要实现弹性机制从而确保系统高可用性,那么为虚拟基础架构选择恰当的冗余等级至关重要,但是想要完全了解企业当前需要哪种等级的冗余架构非常困难。对于部分企业来说,N+1的冗余计划足够实现系统弹性并且提供稳定的性能表现。而其他企业可能需要更高的冗余等级,也许会选择N+2或者N+1+1等方案。
那么企业应该如何确定自己的数据中心究竟需要哪种等级的冗余机制呢?为此我们联系了几位行业专家,就企业应该考虑哪些方面以及何时做出决定等方面请他们分享各自观点。
Alastair Cooke——独立分析师兼顾问
企业可以在应用和基础架构等多个层次实现冗余机制。通常,冗余机制距离应用层越近,系统的高可用性就越好。一个动态、负载均衡的web服务器集群无疑要比一台虚拟机当中的单个web服务器可用性更高。而主要问题在于每个应用都使用不同的弹性机制以及工具集。因此如果企业从更低的硬件和基础架构层提供弹性机制,那么不同应用就能够使用相同的工具集了。是否在应用层实现冗余还需要考虑管理弹性机制所需要的开销。
Jim O'Reilly——Volanto
数据完整性需要某种形式的存储冗余。在磁盘时代,冗余意味着RAID阵列,但是这种技术自身存在缺陷。存储控制器并不十分可靠,虽然大多数阵列使用双控制器架构,但是这种架构需要使用非常昂贵的企业级双接口磁盘,这种情况导致企业为了实现数据完整性需要支付高昂的费用。
许多用户将RAID配置为使用两个副本的镜像或者带有额外校验磁盘的RAID5。这种方式能够满足基本需求,但是如果磁盘达到TB级别,那么故障磁盘的重建时间将会被大大延长,重建过程当中同一RAID阵列当中的其他磁盘也有可能出现故障。为了解决这种问题,RAID6使用了两块校验磁盘,但是系统在性能方面出现损失。
由于RAID控制器不能满足日益发展的需求,因此固态硬盘(SSD)取代了RAID阵列。现在,存储领域最常见的解决方案是使用x86或者ARM控制器、包含12块磁盘的2U设备。这种方式不需要使用冗余电源或者控制器以及RAID校验技术。其能够在不用设备之间同步数据,因此即便整台设备出现故障,还是能够对数据进行恢复。这种方案通常在三个不同站点之间同步数据,在远距离站点当中保存一份额外备份以防止大规模灾难发生。AWS(Amazon Web Services)引以为傲的S3(Simple Storage Service)使用的就是这种方式。
下面介绍的是纠删码(EC)技术,向每个包含数据的条带当中添加额外数据,类似于RAID,但是每个条带中最多只有20个数据和6个EC块被写入到存储当中。尽管EC需要占用大量计算资源,但是26块磁盘当中的任意20块都能够交付数据。这种方式***的优点是26块磁盘可以位于多台设备上,在给出的实例当中,能够支持最多6块磁盘或者6台设备同时出现故障。
企业应该使用哪种技术?如果对于系统性能有很高要求,那么同步无疑是***选择。事实上,可以选择同步到两台设备或者服务器上。将不常用的数据转换为备份存储需要创建EC——这个过程在后台进行——之后使用Ceph或者其他类似软件将数据写入条带。
许多全闪存阵列都使用EC技术。数据的写入过程被保存在日志文件,之后被放在持续存储空间当中。这种情况下,可以同时使用EC和数据压缩技术来节省空间。
对象存储使用代表性的状态迁移访问方式,像S3一样需要进行同步,但是这种理念——记录日志和后台处理、擦除编码数据——正在变得越来越流行,因为这种方式只需要占用大约之前一半的存储空间。
有一件事情是肯定的:对于绝大多数计算来说,数据冗余都是必需的。如果没有实现冗余机制,那么一旦出现问题,就意味着任务必需从头开始,此外,重要数据也有可能丢失。
Brian Kirsch——密尔沃基技术学院
对于许多企业来说冗余是一个特殊问题;绝对是必要的,但是企业究竟需要哪种级别的冗余?几年之前,一位CIO表示他希望最重要应用程序的所有组件都是冗余的,但是当他看到第二套存储区域网络和光纤网络的价格时,就不再坚持“redundant everything”的想法了。对于现在的数据中心来说,冗余计划需要和业务目标以及成本相结合。需要了解的重要一点是当前业务需要何种等级的冗余,因为虚拟基础架构冗余可能涉及多种技术和高昂成本。
对于大多数虚拟基础架构来说,拥有额外网络以及电力供应的传统硬件冗余只能满足基本需求。这些通常需要和主机层面的N+1冗余机制相结合,允许某台机器出现故障或者进行维护。尽管可以通过提升整体冗余比例以实现更好的高可用性,但是同时资源使用率也会相应下降。
***冗余等级将会不断发生变化,以满足业务需求的发展。需要记住的一件事情是如果企业需要保护的并非单个系统,对于这样的虚拟环境来说——其中可能包含多种系统和应用——那么需要使用相比于传统服务器更好的硬件服务器冗余。
从软件方面来说,管理员可以借助动态资源分配(DRS)技术为部分虚拟机提供FT(Fault-Tolerant)特性,而为其他虚拟机提供HA(High Availability)特性。对于虚拟化环境来说,***的事情就是在同一个基础架构当中同时实现两种机制,但是企业可能需要支付额外的授权费用。
需要考虑的另外一件事是虚拟化环境的冗余管理系统。企业通常只重视主机和虚拟机,而忽略管理,这是一个非常大的错误,因为一旦出现问题,管理将会变得非常重要。企业虚拟化环境的全面冗余应该符合之前制定的SLA(服务等级协定),确保冗余计划当中包含了达到SLA的所有部分,当然也包括管理。