故障现象:
数据压缩是为了节省空间,do more with less。VNX File/BLOCK有着各自的压缩功能,今天我们将简单介绍VNX-BLOCK的数据压缩,从概念上对VNX-BLOCK Compression有个了解。
解决方案:
VNX Block数据压缩操作 VNX block的数据压缩处理是以64KB为增量的,如果64KB数据中可以通过压缩节省至少8KB,那么系统就会被压缩这部分数据并写入LUN。如果节省的数据量少于8KB,数据会直接写入LUN,但不做压缩。这体现了VNX压缩功能的效率,绝不把功夫花在回报过少的事情上。任何LUN类型都可以启用压缩功能,在初始压缩过程完成以后,这些LUN都会变成ThinLUN,因为ThinLUN允许压缩进程将空间归还给Pool。对于ThinLUN来讲,8KB是最小的空间分配单位。Pool以1GB slice为单位将空间分配给ThinLUN,随着时间的推移,如果压缩能够释放足够多的8KB block,系统会将1GB slice归还给pool供其它LUN使用。LUN压缩完成后,用户将看到LUN/Pool的consumed capacity都会减少。这是ThinLUN本身与压缩功能共同达到的效果。 系统还允许设置压缩速率,在Compression tab下分别为:High、Medium、Low。压缩速率决定执行压缩的强度,而不是数据减少的级别。压缩速率设置应用到初始压缩、新数据的压缩以及解压操作。默认级别是Medium,可以在任何时候更改。 为RAID GROUP LUN启用压缩后,系统将执行一个到ThinLUN的在线迁移操作,这并不会造成服务器I/O中断。由于RAID GROUP LUN并不位于任何Pool上,因此用户必须为压缩的LUN选择一个目标Pool,即可以选择一个现有的Pool,也可以创建一个新的Pool,同时可以选择迁移速率,只有那些拥有足够空间存放RAID GROUP LUN数据的Pool才会被显示在Pool列表中。迁移完成后,原来的RAID GROUP LUN会被unbind。 解压操作 解压过程会将压缩的数据还原其原本的size,对压缩的LUN禁用压缩后,整个LUN解压是在后台处理的。解压完成后,RAID Group LUN和ThickLUN会被迁移回ThickLUN,ThinLUN会被迁移到一个新的ThinLUN,并且带有一个碎片整理的过程。 如果一个Pool的空间使用率达到了91%,LUN的压缩状态会变为”system paused”,主机I/O并不会因此而中断。这个设计是为了确保Pool有足够的空间留给new write。如果用户决定继续解压,可以手动恢复解压操作,但是当Pool的空间使用率达到98%时,系统会再次将LUN的压缩状态改为”system paused”并不再允许恢复解压操作。 相比解压,LUN迁移可以作为另一个选择,如果你觉得LUN上的数据相比原先会更活跃,可以选择直接将数据迁移到其它LUN上,而不是做解压操作,因为迁移允许你将数据移动到更快的磁盘上,只要目标LUN的大小大于等于源LUN即可。 |