一、什么是超融合?超融合具体包括哪些组件?所谓“超融合”架构,其实就是“服务器虚拟化+分布式存储”架构,也就是说超融合技术包含了服务器虚拟化技术和分布式存储技术。 服务器虚拟化技术目前在企业数据中心已有广泛的应用,其核心是将服务器的计算资源虚拟化,然后使用虚拟主机代替物理服务器去承载业务负载。常见的服务器虚拟化软件有VMware ESXi、Citrix Xen、Microsoft Hyper-V 、KVM。但是服务器虚拟化软件本身不具备数据存储的功能,因此服务器虚拟化需要与本地存储、或集中共享存储、或分布式存储等一起配套使用。 分布式存储也称为软件定义存储,它通过网络将数据分散存储在多台独立的通用服务器上,利用多台通用服务器分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。常见的分布式存储软件有Ceph、GlusterFS等。传统存储是采用单一设备,集中式的架构,而分布式存储技术则采用多设备,集群的架构,这是两者最大的区别,如表1所示。
表1. 传统IT架构与超融合架构 二、超融合为什么要3个节点起步,2个节点或1个节点起步不行吗?2.1 1个节点服务器只能采用传统IT架构,无法实现超融合超融合架构的核心组件是分布式存储软件,所谓分布式存储,必需是在多个节点上进行存储才有意义,而1个节点服务器明显不具备“超融合”特性。
1个节点服务器方案只能采用传统IT架构,通过在单节点服务器上部署虚拟化软件,然后使用虚拟主机代替物理服务器去承载业务负载,如图1所示。
图1. 1节点服务器方案架构
在1个节点的方案中,由于服务器虚拟化软件本身不具备数据存储的功能,需要与本地存储(服务器自带的硬盘)一起使用,因此虚拟化软件本身不具备有数据冗余、灾备功能,所以只能通过硬件服务器本身的RAID机制去实现。 RAID1是将一个两块硬盘构成RAID磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当作数据“镜像”。RAID1磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。 RAID1至少需要两块硬盘,RAID大小等于两个RAID分区中最小的容量(最好将分区大小分为一样),数据有冗余,在存储时同时写入两块硬盘,实现了数据备份。RAID1磁盘利用率为50%,即2块100G的磁盘构成RAID1只能提供100G的可用空间。 RAID 1机制下,写入数据的工作原理如图2所示。
图2. RAID1写入数据过程 在RAID1机制下,磁盘损坏时数据读取的原理如图3所示。
图3. RAID1读取数据过程 2.2 2个节点服务器采用超融合架构容易发生脑裂,最好采用传统IT架构
超融合产品集群的最小规模取决于副本存放策略,如果采用两副本的存储策略,最少3个节点起步。采用2节点也不是不可以,只不过2节点集群在数据安全性方案会有一定隐患。因此即便使用2节点配置,也是在一些开发测试环境下使用,正常的业务系统一般都是2副本3节点起,或者3副本5节点起。具体原因有以下两点: 1)一般2节点的集群部署虚拟机,平均资源占用达到了每个节点50%以上,一旦其中一个节点出现故障宕机,正常的节点的资源不能完全接管集群全部虚拟机,虚拟机会出现非正常关闭的情况; 2)2节点的架构下,集群出现脑裂情况的话,缺少另外一个节点进行仲裁,那么整个集群的虚拟机会出现异常,集群会出现崩溃。 所以,在2个节点的情况之下,也不建议使用超融合架构,最好还是采用传统的IT架构,即“服务器虚拟化+RAID1机制”,如图4所示。
图4. 2节点服务器方案架构
注意,在2个节点服务器方案下,RAID1机制只能实现硬盘级冗余保护,无法实现服务器级冗余保护,也就是说在其中1个节点发生宕机的情况之下,无法挽救宕机的服务器的数据。 2.3 3个节点服务器起步采用超融合架构
“超融合”架构方案与1个节点或2个节点方案比起来,多了一个“分布式存储”软件,它其实就是“服务器虚拟化+分布式存储”架构,方案架构如图5所示。
图5. 超融合方案架构 超融合产品集群的最小规模取决于副本存放策略,如果采用两副本的存储策略,最少3个节点起步,因为要确保集群多数票机制生效。
数据副本方式实现数据可靠性。Ceph分布式存储采用数据副本方式实现数据可靠性,默认情况下,Ceph采用2副本3节点起步,在一个或者多个磁盘故障的情况之下,该磁盘上所有的数据马上开始从对等磁盘上进行恢复。因为Ceph是分布式系统,所以数据恢复时所有的初始副本和复制副本可以分布到集群中所有的磁盘上,使得不会有初始副本和复制副本位于同一个磁盘的情况。超融合数据副本方式原来如图6、图7、图8、图9、图10所示。
图6. 数据初始状态 如图6所示,节点服务器为3节点,数据D1、D2、D3为双副本,分别存储于三台超融合服务器1、2、3上。
图7.节点3宕机故障 如图7所示,在某一时刻,超融合服务器3发生故障,导致超融合服务器3不可用,这个时候数据D2、D3可靠性降低了;
图8. 重建D2和D3 如图8所示,超融合的集群发现了D2、D3副本丢失,由于是双副本机制,所以集群在超融合服务器1和超融合服务器2上重建D2、D3;
图9. 节点3故障回复 如图9所示,若超融合服务器3故障恢复并加入到集群中,D2、D3会被重新迁移回超融合服务器3上。
图10. 集群恢复正常状态 如图10所示,当D2、D3重新迁移回超融合服务器3之后,整个集群恢复为正常状态。
1)数据副本方式实现数据可靠性,无需任何特殊硬件来提供数据副本功能。而RAID机制的话,需要独立的价格昂贵的RAID硬件卡,这就增加了系统总成本。 2)硬盘利用率达到100%,由于超融合架构不采用RAID机制,所以硬盘利用率达100%。如果采用RAID机制,RAID需要额外的磁盘来充当备用盘,这些备用品只能用来备份数据。例如,RAID机制下,硬盘利用率最高的是RAID5=(n-1)/n的总磁盘容量(n为磁盘数),可靠性最高的RAID1的硬盘利用率只有50%。而在超融合架构下,一个磁盘既可以是某些数据的初始副本盘,也可以是另外一些数据的复制副本盘,这就大大提高了磁盘利用率。 3)故障恢复过程透明,恢复时间快捷。在超融合架构下,数据副本方式恢复过程对客户来说是透明的,就是在不影响业务的情况之下,进行恢复,恢复时间一般为分钟级别。而RAID机制不同,当1个30多TB的节点做了RAID1机制之后,故障恢复时间一般为小时级别的。 4)集群高可用,当1个节点宕机之后,集群仍可正常工作。在超融合架构下,集群高可用至少3个节点起步,当其中1个节点宕机之后,集群高可用可以将故障节点服务器的虚拟机迁移到无故障的节点服务器,直到故障节点恢复,这一切无需人工干预。而RAID机制下,无法实现集群高可用,分为各个节点的存储是独立的,不像分布式存储那样可以跨节点统一管理存储,一旦某个节点发生宕机,那么这个故障节点的虚拟机、数据等都不会迁移到正常的节点服务器中。 (责任编辑:IT) |