【IT168 资讯】我们如今所依赖的许多存储技术都或多或少地使用某种形式的变更块跟踪机制。快照、复制(尤其是时间点类型的)、自动分层和重复数据删除都要分辨发生改变的或不同的块,并用某种特别的方式来处理这些块。问题是,虽然部分还是部分,而块则已经不是块了。
部分问题是,当存储人员一听到“块”的时候,他们首先想到的是512字节的SCSI(小型计算机系统接口)块,并认为只迁移、复制和存储那些发生改变的块才是有效率的方式。不幸的是,当存储系统复制数据或拍摄快照的时候,它们所迁移的块更像是文件系统分配单元而不是SCSI块,而且通常远大于512字节。因此,用户经常看到他们需要比原来想的更多的快照空间和WAN(广域网)带宽,这样才能利用存储系统的其他功能。
究其原因,问题出在存储人员太滥用块这个术语了,就像网络人员在即使有“帧”、“数据包”这些更准确的术语的情况下依然非正式地使用“包”这个术语。虽然我们会使用“Chunk”来代表那些比较大的数据单元,但是我在几乎所有报告上看到的都是“只有块发生改变”这种语句。
在存储系统中使用多大的“Chunk”来用于分配单元,这一点不同的存储系统有很大的区别,而且对我们如何有效地使用基于chunk的功能也有很大的影响。如果你运行的是SQL Server数据库应用程序,进行许多随机数据库更新,那么你在数据库上更新的每一个记录都会在磁盘上写入一个8K字节的已更新SQL Server页面。
如果你的存储系统使用4KB Chunk,比如NetApp的WAFL(任意位置写入布局文件系统),那么每个8KB的SQL Server页面更新将会导致系统存储两个chunk.如果你的系统使用16MB的chunk,比如一些系统做的那样,一个8KB的数据库更新将占用 16MB的快照空间,消耗16MB字节的广域网带宽来进行远程复制,并在迁移到0层存储的时候占用16MB的昂贵的闪存记忆体。
由于市场上的存储系统在chunk大小上差别很大,有的只有4KB,有的甚至达到1GB,因此,你快照空间或闪存空间需求可能差异很大。当你听到“只有块改变”这样的语句的时候,一定要问清楚这些块的实际大小是多少。
上面所说的有可能还不足以动摇你原来的想法,我们下面将讨论那些有可能会产生比原来预计还要多的磁盘更新的应用程序。当你在保存微软Word或 PowerPoint或Photoshop或Final Cut的文件的时候,程序都会在对话中产生一个临时文件来保存你的编辑。当你进行最终保存操作的时候,程序会删除原来的文件,并将临时文件重命名为原来文件的名字。因此,如果你编辑的是一个500MB的视频文件,你的磁盘系统会看到500MB的修改块,这样你将会使用更多的快照空间和远程复制带宽。重复数据删除可以帮助解决这个问题,尤其是在这个重复数据删除引擎内容感知到可以识别这是同一文件的新版本的情况下。
简而言之,无论何时你听到“只有块发生改变”这样的话语的时候,你一定要问清楚发言人所说的块的大小是多少。粒度性很重要。