【理论研究】漫谈云计算IT基础设施05-超融合技术
其实超融合这一块,放在云计算IT基础设施里面,不算是完全合适。你说它是分布式存储,但是它同时又是硬件服务器与存储;你说它算硬件,但是它又离不开分布式存储软件。
传统的IT基础设施架构,主要分为网络、计算、存储三层架构。但随着云计算与分布式存储技术的发展以及x86服务器的标准化,逐渐出现了一种将计算、存储节点融合在一起的架构--超融合架构。超融合将三层的IT基础设施架构缩小变成了两层。
2019年11月的Gartner超融合产品魔力象限中,领导者象限有5家:Nutanix、DELL、VMware、CISCO、HPE。(其中DELL vxRail一体机里面用的分布式存储软件也是VMware的VSAN,而VMware提供的则是VSAN纯软件的解决方案)
Nutanix能够成为超融合领导者中的领导者,自然是经过市场的充分验证,得到市场的认可。而且由于其公开资料(Nutanix 圣经)比较齐备,因此我们可以通过Nutanix一窥超融合的究竟。
这边就不搬运了,可以直接搜索引擎搜索“Nutanix圣经”或“Nutanix-Bible”,可以找到相应的官方文档。
引用自NUTANIX圣经 -“Nutanix解决方案是一个融合了存储和计算资源于一体的解决方案。该方案是一个软硬件一体化平台,在2U空间中提供2或4个节点。
每个节点运行着hypervisor(支持ESXi, KVM, Hyper-V)和Nutanix控制器虚机(CVM)。Nutanix CVM中运行着Nutanix核心软件,服务于所有虚机和虚机对应的I/O操作。
得益于Intel VT-d(VM直接通路)技术,对于运行着VMware vSphere的Nutanix单元,SCSI控制(管理SSD和HDD设备)被直接传递到CVM。”
个人总结: 从以上官方文档可知,2U的空间可以安装2~4个Nutanix节点(每个节点相当于1台物理服务器),所以设备装机密度非常高。每个节点都安装着虚拟化软件,并且在虚拟化层之上再运行着一台Nutanix的控制虚机(CVM),该虚机主要负责不同的Nutanix节点之间控制平面的通信。单个节点中配置有SSD硬盘与HDD硬盘,替代磁盘阵列作为存储使用,单个节点有独立的CPU与内存,作为计算节点使用。
1、基础架构
以3个Nutanix节点为例,每个节点安装有Hypervisor,在Hypervisor之上运行着客户虚拟机,并且每个节点有一台Nutanix控制器虚机Controller VM,配置有2块SSD与4块HDD,通过SCSI Controller作读写。
2、数据保护
Nuntanix与传统磁盘阵列通过Raid、LVM等方式作数据保护不同,而是与一般的分布式存储一样,通过为数据建立副本,拷贝到其他Nutanix节点存放,来对数据进行保护,Nutanix将副本的数量称作RF(一般RF为2~3)。
当客户虚机写入数据“见图上1a)流程”,数据先写入到本地Nutanix节点的SSD硬盘中划分出来的OpLog逻辑区域(相当于Cache的作用),然后执行“1b)”流程,本地节点的CVM将数据从本地的SSD的OpLog拷贝到其他节点的SSD的OpLog,拷贝份数视RF而定。当其他节点CVM确定数据写入完成,会执行“1c”流程,给出应答写入完成。通过数据副本实现对数据的保护。
数据从SSD中的OpLog写入到SSD以及HDD的Extent Store区域,是按照一定的规则异步进行的,具体详见下面的部分。
3、存储分层
Nutanix数据写入以本地落盘为主要写入原则(核心原则)。
当客户虚机写入数据是,优先考虑写入本地SSD(如果SSD已用容量未达到阀值),如果本地SSD满了,会将本地SSD的最冷的数据,迁移到集群中其他节点的SSD,腾出本地SSD的空间,写入数据。本地落盘的原则,是为了尽量提高虚机访问存储数据的速度,使本地虚机不需要跨节点访问存储数据。(这点应该是与VSAN与其他分布式文件系统最大原理性区别)
当整个集群的SSD已用容量达到阀值(一般是75%),才会将每个节点的SSD数据迁移到该节点的HDD硬盘中。
SSD迁移数据到HDD,并非将所有数据全部迁移到HDD,而是对数据进行访问度冷热的排序,并且将访问较少的冷数据优先迁移到HDD硬盘中。
如SSD容量达到95%的利用率,则迁移20%的冷数据到HDD;如SSD容量达到80%,则默认迁移15%的冷数据到HDD。
4、数据读取与迁移
Nutanix圣经引用-“ <u style="text-decoration: none; border-bottom: 1px dashed grey;">I/O和数据的本地化(data locality),是Nutanix超融合平台强劲性能的关键所在。所有的读、写I/O请求都藉由VM的所在节点的本地CVM所响应处理。所以基本上不会出现虚机在一个节点,而需要访问的存储数据在另外一个物理节点的情况,VM的数据都将由本地的CVM及其所管理的本地磁盘提供服务。</u>
<u style="text-decoration: none; border-bottom: 1px dashed grey;">当VM由一个节点迁移至另一个节点时(或者发生HA切换),此VM的数据又将由现在所在节点中的本地CVM提供服务。当读取旧的数据(存储在之前节点的CVM中)时,I/O请求将通过本地CVM转发至远端CVM。所有的写I/O都将在本地CVM中完成。DFS检测到I/O请求落在其他节点时,将在后台自动将数据移动到本地节点中,从而让所有的读I/O由本地提供服务。数据仅在被读取到才进行搬迁,进而避免过大的网络压力。</u> ”
个人总结: 即一般虚机读写数据都是读本地节点的硬盘,如果本地节点硬盘没有该数据,会从其他节点先拷贝过来本地节点硬盘,再为本地虚机提供访问,而不是虚机直接访问其他节点。即要贯彻本地落盘的核心思想。
5、Nutanix解决方案的优缺点
Nutanix方案优点:
1) 本地落盘策略,确保虚机访问存储速度:虚机写入的数据都在本物理节点的磁盘上,避免跨节点存储访问,确保访问速度,减轻网络压力。
2) 采用SSD磁盘作为数据缓存,大幅提升IO性能:
见上表数据,从随机的读写来看,SSD的IO及带宽性能比SATA的性能提升了约1000倍。而结合Nutanix的本地落盘策略,虚机数据写入,仅有本地的2块SSD硬盘作为数据缓存负责写入数据。
但由于单块SSD硬盘的IO比传统阵列的SATA高出1000倍,IO性能大幅提升。(相当于要超过2000块SATA硬盘做Raid,才能提供近似的IO性能)。
3)永远优先写入SSD,确保高IO性能
数据写入HDD不参与,即使本地SSD容量满了会将冷数据迁移到集群其他节点SSD,然后还是SSD进行读写,确保高IO。后续异步将SSD冷数据迁移到HDD。
4)数据冷热分层存储
冷数据存放在HDD,热数据保留在SSD,确保热点数据高IO读取。
5)设备密度高,节省机房机架空间
2U可以配置4个节点,包含了存储与计算,比以往机架式/刀片服务器与磁盘阵列的解决方案节省了大量的空间。
Nutanix方案缺点:
1)本地落盘及SSD缓存方案确保了高IO,但是硬盘的带宽得不到保证。
传统磁盘阵列,多块SATA/SAS硬盘加入Raid组,数据写入的时候,将文件拆分为多个block,分布到各个硬盘中,同个Raid组的硬盘同时参与该文件的block的读写。通过多块硬盘的并行读写,从而提升IO与带宽性能。
而Nutanix的解决方案中,单个文件的读写遵循本地落盘的策略,因此不再对文件拆分到多块硬盘进行并行读写,而只有本地节点的SSD硬盘会对该文件进行写入。
虽然SSD硬盘的IO与带宽都是SATA/SAS的数百上千倍,但是SSD对比SATA/SAS硬盘在带宽上面只有2~3倍的速率提升,而传统Raid的方式,多块硬盘并行读写,虽然IO比不上SSD,但是带宽则比单块/两块SSD带宽高出很多。
因此Nutanix的解决方案适合用于高IO需求的业务类型,但是因为它的读写原理,则决定了它不合适低IO、高带宽的业务类型。
三)行业竞争对手对比:
VMWARE EVO RAIL软件包:VMware没有涉足硬件产品,但EVO: RAIL 软件捆绑包可供合格的 EVO: RAIL 合作伙伴使用。合作伙伴转而将硬件与集成的 EVO: RAIL 软件一起出售,并向客户提供所有硬件和软件支持。
而EVO:RAIL的核心,其实就是VSphere虚拟化软件+VSAN软件的打包。
但VSAN与Nutanix最大的一个区别,就是不必须完全遵循Nutanix的本地落盘的策略。可以通过设置条带系数,将本地虚机的数据读写设置为横跨多个节点的硬盘,默认条带系数为1,最大可设置为12个,即一个虚机的数据写入,可以同时采用12个节点的SSD硬盘并行读写。
通过这种方式,VSAN可以一定程度的弥补了Nutanix方案不适用于带宽要求高,IO要求低的业务类型的缺点。
但是这种横跨物理节点的访问流量,在虚机数量众多的情况下,肯定会给网络带来压力,网络带宽可能会成为另一个瓶颈。
其次VSAN可以集成在Hypervisor层,而不需要像Nutanix在Hypervisor上面运行一个控制虚机CVM。
再次,Nutanix支持KVM、Hyper-V、ESXI等多种Hypervisor,而VSAN仅支持自家的ESXI。
其他待补充:由于暂时未对VSAN进行实际部署测试,仅停留在对其原理的研究,因此,关于VSAN的部分待后续平台上线测试完成后继续补充。
基于Open Stack搭建云服务平台只需要5步,第一步根据需求选择相关组件,选择KeyStone,Swift,Neutron,Nova这些基本组件来实现企业云服务平台的云桌面等服务。第二步⌄优化和部署系统,借助自动化部署工具例如DevStack脚本可以快速实现系统的安装。第三步,搭建私有云管理系统,目前有一些现成的管理工具可以使用,例如Pupppet这是一种用于OpenStack配置和管理的“一次编写多次部署”包的声明性语言。第四步,虚拟机管理和存储管理。第五步,系统监控,目前市面上较好的IT基础设施监控工具有SolarWinds服务器和应用程序监视器(SAM)等。Accrets国际基于OpenStack为企业提供搭建通信云服务平台服务,助力企业早日实现数字化转型。
通过虚拟化可以在单台物理计算机上运行多个虚拟机,且所有虚拟机可在多种环境下共享该物理计算机的资源。在同一物理计算机上,不同的虚拟机可以独立、并行运行不同的操作系统和多个应用程序。拿云宏的CNware虚拟化平台来做个例子:
1) CNware WinServer和虚拟化IT基础架构
WinServer 是云宏公司推出一套服务器虚拟化解决方案。按需分配是云计算的核心思想,WinServer是云计算的基础。
WinServer将应用程序和操作系统从底层硬件分离出来,从而简化了 IT操作。
2) CNware WCE管理层
WCE 的接口包括四大类
a) WinServer API 用来管理 WinServer服务器
b) 异构虚拟化管理客户端和第三方解决方案连接
c) 数据库接口与DB连接,用于存储信息
d) 北向接口用于对接WinCenter及第三方管理平台
3) 访问 Cnware WinServer 虚拟化架构
访问WinServer虚拟化架构,可通过如下三种方式
a) CNware Web Client
b) SDK和命令行界面
c) 直接虚拟机控制台访问
4) 虚拟化解决方案
最后,我们介绍下服务器虚拟化的三种解决方案,除了本文介绍的CNware(商用),还包括 openstack(开源)和VMware vSphere(商用)。
0条评论