私有云中存储配置是整个架构的重点,它承担着整个平台的数据,所以这里一般需要进行重点配置。除了传统存储架构外,也有以Nutanix为首的厂商提出了超融合架构,即存储与网络一样也可以进行软件定义。目前对多数国内私有云厂商来说,超融合的一般实现即是在虚拟化平台中添加分布式存储的后端与前端管理,可对计算节点资源进行复用,从而降低项目整体成本。
不管何种形式,它们对平台的提供的功能都是相同的,接下来笔者针对私有云平台的存储基础架构予以介绍,相关的存储知识读者可以阅读本书的第7章。
接入方式
私有云中的存储配置按照接入平台的方式可分为本地存储和共享存储,而它们本身的组合方式又是自由的。除传统的本地存储和网络存储外,也有NFS存储可以挂载后作为计算节点的本地存储,或者计算节点上的空闲空间组合为分布式存储等方法。图2-1和图2-2分别是本地存储与共享存储的接入方式示例。本地存储即直接使用本地磁盘或者iSCSI、SAS等设备作为镜像存储,虚拟机实例与镜像在同一主机中,而共享存储下虚拟机实例可在任意主机中打开镜像并运行,从而使得虚拟机热迁移成为可能。
图2-1 本地存储接入示例
图2-1中有本地硬盘、共享存储/FC/SCSI存储作为本地存储的两种用例;图2-2中节点1直接使用外部存储作为共享存储,节点2和3提供本地硬盘作为Ceph/Glusterfs的存储后端,再使用Ceph/Glusterfs作为共享存储。存储的接入方式对平台性能、稳定性甚至使用体验上都有直接或间接的影响。
图2-2 共享存储接入示例
□当使用共享存储时:
●虚拟机可以进行在线迁移,合理利用服务器资源,增加业务连续性;
●计算节点宕机不会造成虚拟机单点故障,提高稳定性;
●可以更灵活地应用备份机制,并且扩容相对简单,提高可维护性;
●可与其他业务或者平台共享存储,提高扩展性;
●存储与计算节点逻辑、物理都分离时,架构清晰;
●对网络连接路径较为依赖,计算节点增加时可能需要增加线路隔离流量;
●可以利用网络缓存机制,减轻启动风暴影响,但对共享存储设备有一定要求。
□当使用本地存储时:
●虚拟机更加独立,某个用户的过度使用不会造成其他虚拟机的读写性能影响,增强用户体验;
●可以利用更高效的本地缓存机制,减轻启动风暴的影响;
●存储成本投入较小;
●计算节点宕机时会造成其上所有机器不可访问,即单点故障损失较大,影响平台稳定性;
●虚拟机在线迁移有难度,难以平衡集群负载。
我们选择接入方式时需要综合考虑业务类型、成本、用户体验、风险控制等等各方面因素,尽量避免对整个平台的稳定性和性能造成负面影响。(www.xing528.com)
存储后端
存储后端即平台存储资源的核心,组成部件不止于机械硬盘、固态硬盘,也包括其通信链路、固件等物理架构,如图2-3所示。存储后端性能与其上的虚拟机紧密相关,当选择不当的时候会降低平台整体性能,而导致用户体验不佳。
图2-3 存储节点物理架构
多数项目方案中既有高速存储设备,又有相对低速的存储设备,我们要根据“业务”来规划存储使用。接下来我们做一次实验,用数据简单说明虚拟机硬盘格式与物理存储的相互影响,其中我们使用一块SSD硬盘代表性能较高的高速存储,一块SAS硬盘代表相对低速存储,这里的“业务”是启动不同克隆方式[1]创建的虚拟机并进入桌面。
相关链接
“完整克隆”与“链接克隆”
在KVM虚拟化平台中,有两种创建实例的常用方式:完整克隆与链接(增量)克隆,在以后章节中会有详细介绍。
完整克隆即完全复制模板配置信息与硬盘文件,硬盘的复制方式一般为cp或者qemu-img convert。如此创建的实例,其硬盘与模板硬盘相对独立,在服务器存储上拥有各自的存储位置,所以在读写操作时受机械盘磁头引起的小区域并发问题影响较小,缺点是创建时需要花费一定时间,不能满足秒级创建的需求。
链接克隆即新建虚拟机时只复制模板配置信息,硬盘文件则是以原硬盘为模板的增量硬盘。如此创建的硬盘对模板硬盘的依赖程度较高,对于硬盘内已有文件的读操作(比如启动系统时)绝大部分在模板硬盘上进行,所以在传统机械盘上多个实例的并发导致的启动风暴更容易在此种格式的硬盘上发生。
本次实验环境中,笔者使用一台双路E5-2630v3、128G内存的服务器,两块企业级SSD(其中一块为服务器系统,另一块虚拟机存储)和一块企业级SAS硬盘(虚拟机存储),将1G内存、单核、全新安装的XP虚拟机作为模板。为了防止虚拟机进入系统后进行文件索引等占用空间的操作,模板虚拟机建立之前开机“静置”了一段时间直到其资源用度无明显变化。
□企业级1T SAS硬盘虚拟机批量启动实验
此时新建的实例和模板都位于SAS硬盘上。同时启动20台虚拟机后,全部虚拟机在300秒左右进入桌面。启动20台虚拟机过程中的服务器CPU及I/O用度如图2-4所示。
图2-4 于SAS硬盘中启动20台虚拟机的CPU及I/O用度
(a)主机CPU用度 (b)I/O用度,读写请求与速度
□企业级480G SSD虚拟机批量启动实验
此时新建的实例和模板都位于SSD硬盘上。同时启动20台虚拟机后,全部虚拟机在35秒左右进入桌面。启动20台虚拟机过程中的服务器CPU及I/O用度如图2-5所示。
图2-5 于SSD硬盘中启动20台虚拟机的CPU及I/O用度
(a)主机CPU用度 (b)I/O用度,读写请求与速度
可以看出,高速设备比低速设备拥有更高的IOPS以及读写速度。目前两者成本相差很多,所以全部使用高速存储会增加很多成本。在实际实施中,高速和低速设备搭配使用,比如将高速设备用于存储模板和某些高IOPS虚拟机,低速设备用于存储普通虚拟机,这样从成本和用户体验综合考量,方可获得比较合理的配置。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。