2008年(8065)
分类: 服务器与存储
2008-05-19 16:11:18
虽然服务器通过DAS、NAS、SAN连接的存储设备早已不是单一的硬盘而是磁盘阵列,但是目前的操作系统和应用识别存储设备的方法,还是和早期服务器识别一块硬盘的方法没有区别。也就是说,操作系统和应用认为它们连接的磁盘阵列是一块容量固定的“硬盘”。其实,现在的存储阵列子系统,容量都不是固定的,构成存储的都是一个一个的逻辑单元,不过即便这样,每个逻辑单元也还是被系统和应用当成固定容量的物理单元。
对于操作系统和应用而言,存储识别方法的改进短期内恐怕还有些困难。传统的存储识别方法,在大量服务器和存储器的数据中心会带来很多隐性成本,因为存储空间一旦被分配,其容量都是固定的,不管这些空间是否被真的使用,整个系统都会认为多余的空间已经没有了,需要另外添加磁盘。而今天,自动精简配置(Thin Provisioning)有望从根本上解决这种识别问题,减少数据中心的构建成本。下面我们就来详细讨论一下自动精简配置是如何工作的,以及自动精简配置部署需要注意的问题。
什么是自动精简配置?
自动精简配置是一种存储管理的特性,核心原理是“欺骗”操作系统,让操作系统认为存储设备中有很大的存储空间,而实际上的物理存储空间则没有那么大。举一个例子,在部署了自动精简配置之后,存储系统可能显示有2TB的逻辑单元,而实际上只有数百GB的物理空间可被分配。除了操作系统,应用也认为有很多剩余空间,尽管其中大部分空间都是虚拟出来的。而随着应用写入越来越多的空间,物理存储利用率也会越来越高。这项技术不会出现早先的有大量空间闲置,却还无法使用的现象。
具体而言,如果应用读了一个从来没被写过的区域,自动精简配置将提供一个零缓冲带(ZEROES Buffer。)
如上图所示,服务器识别存储设备的时候,看到的并不是真实空间,而是由自动精简配置虚拟出来的卷。而且只有当服务器写入存储的时候,真实的空间才会被分配。所有的虚拟空间都是零填充的缓冲区。当然,随着越来越多的数据被写入,实际存储空间也可以随需扩展。
这种技术的优势在于,可以自动扩展已经分配的存储卷。同时,我们也发现这种方式可以使用户使用接近100%的存储空间。因为所有的真实空间分配都与应用写入数据一一对应。另一个自动精简配置的优点在于和远程镜像结合的时候,可以节省镜像的空间和带宽。采用传统镜像方法,在最初部署块级别远程镜像的时候,整个卷都被WAN传输。而使用了自动精简配置,管理员则可以只传输被使用了的空间。这可以极大的减少建立镜像的时间,同样的,自动精简配置也可以使用低成本的通信线路来传输数据,而且由于传输的数据空间减小,带宽的占用也有所降低。
自动精简配置的费用节省
空间利用率的提升:费用节省首先源于存储空间利用率的提高,所以只要简单的计算利用率具体提高了多少,就可以知道节省了多少存储费用。具体来说,你可以在部署自动精简配置之前,先计算一下某个应用占用的空间,然后于自动精简配置之后再计算一下占用的实际空间,这个空间的节省量就是自动精简配置能够达到的效率提升。一般而言,一个典型的自动精简配置能够将存储空间利用率从60%提升到80%,大约减少20%左右的存储费用。
扩展逻辑单元的IT成本:对于一般的应用而言,即便我们预留的空间很大,它总会将这些空间填满,所以我们每两三年就需要扩展这些存储卷的大小。这个扩展用时取决于应用、操作系统和磁盘阵列的能力,不过通常,操作每个卷的扩展,都还需要占用存储管理员几个小时的时间。对卷的数量较少的企业而言,每两三年花上几个小时倒是也没什么,不过对于拥有大型存储设备的机构而言,可能拥有数百个卷,那么平均下来,每周都需要扩展一两个卷,而每个卷都需要几个小时,这种没意义的重复劳动无疑占用了存储管理员过多的精力。而自动精简配置则完全不需要手动扩展这些逻辑单元。
电力和制冷成本:磁盘阵列是数据中心里的耗电大户,而且对于制冷的要求也很高。如果自动精简配置的部署能够节省一些资源,比如说20%,那么电力成本的节省将十分明显。计算ROI的时候可以得到具体的成本削减值。
需要考虑的问题和挑战
就像所有的新技术一样,自动精简配置也有不同的部署方法,我们也必须估计到使用期间可能遇到的一些挑战和问题。
第一个挑战在于,部署了自动精简配置之后最可能遇到的问题就是达到了最大存储容量。应用永远都以为还有很多容量,但实际上物理容量可能已经填满了。所以,一种可能的状况是,当实际空间已经没有空余,在新磁盘被添加之前,卷访问将被锁定。
自动精简配置将存储空间是否已满的任务从应用服务器转移到存储。对于应用服务器而言,这是一个好消息,这些服务器不用再担心存储空间问题了,但是存储管理员就必须随时跟进实际存储容量状况,一旦容量将要被填满,管理员就应该及时添加新的磁盘以确保系统的连续性。对于一个好的系统而言,系统应该能够提供给存储管理员相关的资讯,方便存储管理员预测实际存储容量的增长速率,并告知管理员什么时候应该添加新的容量。
另一个挑战在于,并不是所有的数据库和文件系统都能收回已经删除了的空间。一些数据库和文件系统总是分配新的空间,而不是删除之后释放的空间。当频繁删除和建立文件的时候,很可能出现问题——自动精简配置系统将会持续要求更多的物理空间,而同时一些删除了数据的空间却不可用。所以我们最好在自动精简配置系统下对应用做一下测试,看看实际存储利用率到底有多大。我们也应该问问厂商,它有没有测量实际存储资源利用率的工具,或者有没有程序来阶段性的恢复已经删除的空间。
对于不同的部署方案,自动精简配置对系统表现的影响可能也不尽相同,这取决于我们必须管理的大量的表格和文件碎片。我们建议最好向厂商索要一个全配置卷与自动精简配置卷的对比基准。
自动精简配置的明天
自动精简配置在未来可能会成为存储系统的一个标准配置。随着自动精简配置的逐渐普及,应用和操作系统未来也可能会针对自动精简配置的卷做出一些优化,改进存储分配机制和相关信息的提供。我们认为,上文提到的很多问题在未来都会因为操作系统和应用的升级而被避免。
未来的一些技术也将会促进自动精简配置的普及。其中之一就是服务器的虚拟化,特别是VMware。在服务器虚拟环境之下,每个虚拟机都有自己的启动卷和数据卷。启动卷的容量由操作系统和启动软件共同决定,正常的容量大小与memory差不多,这是为了当应用失效时候,方便存储转储(memory dump)。在没有自动精简配置情况下,实际启动数据容量小于1GB时,用户为启动分配4GB到8GB的容量。而自动精简配置之后,操作系统表面上可以分配8GB容量,实际上却只有1GB。如果发生应用失效,剩余的空间将会在创建存储文件(memory file)时被分配。
另外一个能够促进自动精简配置普及的技术是即将到来的固态硬盘,特别是基于技术的固态硬盘。因为固态硬盘的价格比带磁头的磁盘要贵很多,基于成本考量,存储管理员也都希望将固态硬盘组成的磁盘阵列的利用率提高到80%~90%。另外,固态硬盘在技术上不会遇到碎片影响表现的问题,因此自动精简配置在固态硬盘上的运行会比传统磁盘容易很多。
自动精简配置允许将存储资源管理从应用和文件级别移动到存储系统和块级别。SRM并不特别成功的原因之一,就是在于应用服务器和文件系统级别的已使用空间的测量问题。当前的IT环境,通常倾向拥有成百上千的服务器和存储设备,而且操作系统和文件系统都各不相同,安装维护SRM,简直就是一场恶梦。另外,SRM在块级别文件上还不具备可视性,所以假设文件系统需要占用1TB空间,但却被错误的复制了3次,SRM还可能无动于衷,不能告诉我们多占用了很多空间。如果采用了自动精简配置,这种情况就将被杜绝,分配的空间将在块级别被测量,这样所有分配的容量就可以在一个中心控制台测量,而不受应用服务器的类型和数量约束。除此之外,它还可以观察块级别文件的复制情况。相信随着自动精简配置的普及,新一代的SRM软件也将发挥更大的作用。
自动精简配置已经越来越受数据中心的欢迎,因为该技术的确能够节省很多成本和管理时间。同时,自动精简配置也一定程度的简化了当前存储架构的复杂性。诚如本文所说,也并不是所有的应用都适合自动精简配置,而且我们也可能在部署自动精简配置的过程中遇到一些问题。不过相信这些问题会在自动精简配置的发展过程中逐渐被解决,而且我们也相信,随着其他相关技术的发展,自动精简配置将成为存储分配的最佳方法。