我们知道,服务器虚拟化理论上来说会提高系统的利用率,减少系统闲置资源。然而对于存储虚拟化来说,选择一个好的方案却很有机会为存储系统的整体表现带来质的飞跃。
在虚拟化的时代,所有配套技术也同步地都在飞速的发展, CPU核数快速增加,总线变成了交换式互联结构,内存容量单位从GB正转变成TB,但是,有些东西始终未曾变过:硬盘。
数据是IT系统的核心,进而存储子系统也就成了IT系统的核心硬件,一个系统的运行效率将直接受制于存储子系统的性能和效率。从传统IT部署方式进入虚拟化的IT部署方式,是对存储子系统的严峻挑战。
以往的老式IT部署方式中,每个设备从一开始就被赋予固定及专属的用途,存储的负载是相对固定的,以业务峰值来选取合适的设备,其利用率并不充分。而在虚拟的平台上,一切都是动态的,人们终于有机会榨出系统的全部潜能,以做到物尽其用。不是吗?提高资产利用率,这本来就是虚拟化的初衷之一。此时,当我们试图发挥出存储的所有性能时,却惊奇地发现它的性能直线下降了,因为它还是30年前的结构,随机访问是它的死穴。大量的访问会使立即硬盘转入随机访问方式,性能下降百倍至千倍,磁盘成了服务器虚拟化平台中最沉重的包袱。
将整个存储都替换成更强、更快、最好的存储设备吗?当然可以,只要你愿意付出成本。计算机的所有部件都在进行飞速更新,新技术新产品层出不穷,当然也包括了用于存放数据的存储设备,例如固态硬盘就是高性能磁盘的代表,我们当然也有机会选择完全用SSD硬盘组成的存储设备。然而当我们将几乎所有的部件都替换成最先进最前沿的部件时,却仍不得继续使用数十年前的老旧技术“温彻斯特机械硬盘”,因为我们必须考虑成本。
要么支付用于购买新型存储的巨大成本,走出虚拟化的最后一步,要么继续使用老旧存储技术,让“核心部件”成为 “核心瓶颈”,看来经济与性能已然成为难以调和的矛盾。那么,我们是否有第三条路可选呢?能否组合二者的优势,在传统磁盘中混入少量的高性能存储,并通过某种方法组合出一个“合成高性能”的存储呢?
这就是缓存。当然,这不是传统的缓存,作为存储系统的核心,存储虚拟化设备搭载的智能型超级缓存。超级缓存可以为前端应用降低存储系统的访问延迟,抹平访问、传输峰值,使前端用户能最后体验到系统整体加速,就像存储通道上的一条高速公路。
飞康NSS内置了超级存储加速功能:SafeCache与HotZone。如何理解这两种个功能的作用呢?
举例来说,用户使用VMware搭建的虚拟桌面办公系统在早上8点至9点间迎来开机的高峰,此时就将后端存储面临的巨极大挑战。我们手中笔记本电脑里的小硬盘每秒大约能承担50~80次IO访问,开启一个Office应用就能让它和我们都痛苦不已;至于一次开关机,则更能让我们对硬盘IOPS的低下体会尤深,倍感焦急和恼火。那么试想,1000个桌面终端同时开机时需要多少IOPS?这需要500~1000块盘才能满足需求。
但仔细分析我们会发现,此时大家读出的数据都是操作系统数据,其数据量非常小,万一我们将这部分数据存储在小容量高性能存储中,那么压力就被扫除了。然而,我们打算像以往一样,通过手动去实现它吗?万一系统的负载更复杂、更动态呢?我们需要动态地、自动地、智能地完成这一切!
飞康NSS允许在指定的高性能存储(例如SSD硬盘组)上开辟一个区域,用于为指定的虚拟磁盘提供缓存,存放常用数据。当某个数据区块被重复读写过几次后,就会被当作常用数据自动移入该区域,此时读写这部分数据时的性能是高性能存储的等级。这就是HotZone---将经常需要访问的“热”数据存放在高性能存储中。利用HotZone,我们只需配置少量的高性能(例如SSD硬盘)磁盘,就可以让整个后端存储看起都像是高性能存储了。根据经验,这个比例通常为100:1,即每100T普通硬盘空间配置1TB高性能存储。
只需要混入1%的SSD硬盘,以后早上开机的时候,大家享受的都是SSD硬盘的开机速度。
虚拟平台上还有另一种压力。我们知道,系统和存储设备中都有“写缓存”,当数据随机写入时,可以暂存在缓冲中,无需等待真实I/O写入的完成。但是这种缓冲很小,写入的数据量较大时,缓存就会用尽,系统重新回到低性能存储的状态。
在使用虚拟化部署以前,存储和主机上运行的I/O访问模式和构成都相对较简单,我们可以通过预测它的行为模式来设定缓冲的大小和比例。然而在虚拟化部署之后,这将成为不可能的任务:虚拟机主机上承载着大量且经常迁移的虚拟应用服务器,访问模式和构成都非常不固定,因此存储和主机上的缓存将完全失去预测能力,当I/O压力增大到一定程度时,此时即使资源还很充足,系统仍会因存储资源耗尽而提前进入缓慢运行的状态。
飞康NSS通过在内部安装之前提到的“SafeCache”解决问题,这是又一种超级缓存技术。所谓“超级”,一是相对于传统缓存来说容量超大,高达1TB,二是性能超强,缓存的访问性能与内存相同,三是安全性超高,不会受掉电影响及控制器切换影响。这种缓冲就是我们之前提到的SafeCache---安全缓存。安全有两层意思,一是指它对于数据是安全的,不会因为掉线、切换而丢失数据;二是指缓存机制的安全,不会因为访问模式的变化而失效。
在以往的VMware部署时,我们必须面对极其头痛的存储性能分布(负载均衡)问题,然而随着IT的发展系统变得越来越复杂,这种工作的难度正以指数形式增加,人工的存储负载均衡即将成为“不可能的任务”。但是,通过飞康NSS的两种加速技术,我们将无需再考虑存储性能分布的问题,而是将其完全交给存储虚拟化层,即飞康NSS自动完成,我们比过去还自由。