四、电子邮件中的分级存储设计与实施
分级存储管理(HSM)就是要将用户拥有的所有存储资源统一管理,提高每种存储设备的利用率,节约成本。它将高速、高容量的非在线存储设备作为磁盘设备的下一级设备,然后将磁盘中常用的数据按指定的策略自动迁移到磁带库等二级大容量存储设备上。当需要使用这些数据时,分级存储系统会自动将这些数据从下一级存储设备调回到上一级磁盘上,有时也可以直接读取。对于用户来说,上述数据迁移操作完全是透明的,只是在访问磁盘的速度上略有怠慢,而在逻辑磁盘的容量上明显感觉大大提高了。
在分级存储中,存储的分级是十分明显的,在线、近线与离线存储存放的数据价值不同,如何根据用户数据的不同价值合理利用好每种存储资源是一个不小的挑战。具体怎么管理分级,各个不同的ICP都有自己的原则,一般来说邮件的分级主要考虑两方面:
一方面是根据Online的容量大小和每天接收到的邮件量,计算出存储到Online上面的邮件的时间段,一般最好是在一个月以上,因为活跃用户一般在这个时间段有操作的可能性比较大。实现方法有,在每台连接Online 的服务器上都跑一个后台服务,闲时扫描存储日志,将一定时间之前的邮件压缩并传送到相应的Nearline上。
另一方面就是根据附件的大小,小附件邮件尽量存储到Online上,超过一定大小的大附件邮件一般只用一次,而且用户在速度上都有一定的包容心,这种邮件尽量存储在Nearline上面,这种方式在邮件投递的过程中就可以实现。以某ICP(免费电子邮件服务的提供商)的统计数据为例进行设计。该ICP的Online存储容量为47T,Online设备上现有邮件37.7T,日均进信量为400G,日进信量最高值为661G,在实施前的测试中,所有邮件的平均压缩比例为58%,传输并压缩速度为10 封/秒,平均每封邮件的大小是140.92K,每天传输并压缩的邮件量为864000封*140.92K/封=122G。
1.预测Online 设备保存邮件时间
根据Online设备的存储容量(47430G)和日均进信量(400G),为了保证不影响入信,需要预留一部分缓冲空间,Online设备的使用率在75%左右比较好,可以得出Online设备上应该保存的邮件时间应该为:
47430×0.75/400≈89(天)
但是日均进信这个数远远不能代表现阶段和未来的入信量,如果按照日进信量最高值(661G)进行计算的话,Online设备上应该保存的邮件时间就应该为:
47430×0.75/661≈54(天)
折合考虑这两个值并加入入信量每天都增长的大趋势,设计在初期的Online设备保存邮件时间为50 天左右。
2.预测Online 设备准备入信时的非空闲空间
Online设备上现有保存邮件,现有Online设备上存储的邮件大小(37.7T),要想在Online设备上入信,需要先将一些邮件迁出,迁出到什么程度呢,这个就是准备入信时的非空闲空间的大小根据所有邮件的平均压缩比例(58%)和每天传输并压缩的邮件量(122G),与日均入信量(400G),可以得出Online设备入信时的非空闲空间比例为:
(122/(122+400))*100%≈20%
由此算出,online设备入信时非可用空间为:
47.43*90%*20%≈8.54T
但是保守估计应该是按照日最大进信量进行计算,所以其比例应该为:
(122/(122+661))*100%≈15.6%
则非空闲空间应该为:
47.43*90%*15.6%≈6.7T
3.实施方案
总体可分四个步骤:
首先,测试提供的新的邮件存储服务程序,要求能解读2种邮件文件名,即:新入信的没有压缩的邮件,另外一种就是压缩过结尾文件名带有gz 的邮件;
其次,压缩Nearline上的旧邮件,根据测试数据10 封/秒,所有Nearline设备上压缩邮件预计时间:最少13 天。
第三,传输并压缩Online设备上的邮件,根据测试数据10封/秒,所有Online设备上的数据传输并压缩预计耗时最少为:19 天。
第四,对比校验所有旧邮件,根据测试数据,预计耗时:5 天。
4.实施结果
上面这些数据是实施前的测试数据,事实上提供了一个专门的快速工具,另外一点是工具传输并压缩,其中需要扫描并修改用户索引数据,但是实行并发操作,而且连接Online设备的多台服务器之间也可以并发执行,其速度更快,每天压缩并传输的邮件量大大超过每天的入信量,所以Online设备上实际上可以立即入信,这样非常好的保证了邮件的质量和邮箱服务的质量,而且充分利用了存储资源,大大的节约了运营和维护成本。
五、结束语
分级存储管理作为一种能有效降低成本、提高效率的方案已被应用于各个领域,成为各IT 企业追逐技术进步的一个目标。在电子邮件系统中分级存储的应用能够有效地保证邮件系统的安全、稳定、高效和可靠,提升用户的使用体验。