虚拟化在证券行业的探索
的时候,性能就会显著下降。当存储把Cache里数据不断地写入后端硬盘时,硬盘的性能和数量才是决定整体存储性能的关键因素。在虚拟化环境里,有大量的虚拟机存放在后台存储上,它们同时会有数量巨大的随机IO进行读写,而这些IO Size数其实并不大,所以对存储的要求是能够提供比较高的IOPS数,并且IO响应时间越短越好。存储能够尽快完成各个虚拟机的随机IO请求,以便进行下一次的读写,而增加硬盘数量,分担IO的读写正是解决这个问题最根本的办法。如果在预算不是很宽裕的情况下,可以选择低一到两个档次的机头,把省下来的预算购买更多数量的硬盘,从而获得较优的性能,当然在一般情况下增加cache数也能提高存储性能,只是没有增加硬盘来得明显而已。
在虚拟化存储硬盘的选择上,建议使用FC或SAS。目前SAS占主流,SAS硬盘在盘技术上与FC盘相当,在传输层上SAS 二代比4G FC还要快,SAS总线也优于FC结构,所以SAS成为主流也是必然的。当然在一些较大虚拟化环境或是有多数据库环境下, IO的响应时间会比较敏感,这时候SSD固态盘会带来意想不到的好处,因为SSD的随机读写IOPS是SAS硬盘和FC等传统机械盘的几十或几百倍,寻道速度也比机械盘快得多,所以SSD可以大幅提升存储性能。当然SSD固态盘成本比较高,如果不能承受全固态盘的情况下,也可以采用部分SSD盘存放数据库等对IO要求高的应用,或者应用分层存储方式,让IO要求不一样的应用运行在最适合的数据存储上;或者采用某些厂商提供的SSD盘作为超大容量读写CACHE的方案,同样可以大幅提升存储性能。这里特别需要强调的是,在虚拟化环境下不建议用SATA盘来运行虚拟机。因为SATA盘的随机读写能力实在太差,如果仅仅是作为小规模备份,考虑到SATA盘单位容量比较便宜,倒是一个不错的选择。
对于某些对IO量要求很大,而对响应时间要求不大的应用,如FTP服务器或是多媒体服务,图片服务器等,建议采用虚拟机只运行操作系统本身,而把大量数据通过Cifs,NFS或iSCSI这样的协议存放在NAS上,从而大大减轻存储压力,提升数据的整合比。
另外,现在各大厂商都推出了与虚拟化技术紧密结合的虚拟化存储产品,这些存储在数据分层、存储介质混用、存储聚合、网络RAID、多站点容灾、自动精简配置、数据快照与复制上都有不俗的表现,具有非常高的性价比。
三、 应用案例
近几年以来,证券行业正在进入大规模的转型阶段,证券交易品种和证券新兴业务如雨后春笋般不断涌现,证券公司的经营模式也从通道商向服务商转变,各种业务和管理系统纷纷上线;而证券监管部门对于信息系统安全运行的要求也越来越严格,证券公司的系统和数据必须实现本地和异地的实时备份和切换,所以证券公司必然要面对大幅增加的设备和运维投入,数据中心空间和电力的短缺,设备快速部署和全面管理等难题。
为了解决这些棘手的问题,我公司从2010年开始对虚拟机技术进行调研和论证,在充分考虑了虚拟化软件、服务器、网络和存储的技术细节以及证券行业实际业务需要的情况下,对未来虚拟机应用资源进行了合理规划和分配,并制定了详细的计划、管理制度和流程。截止到2011年8月,经过了将近一年的正式运行,已经部署完成了50台虚拟机和9套业务系统,包括所有的银证转帐平台、用友财务系统、CRM系统的中间件和采集机、荐股通,CISP数据报送、策略交易、清算控制、新意备份和信息隔离墙系统,整个虚拟机实际应用环境(见表三)运行良好,
虚拟化在证券行业的探索
表三
根据我们实际采样结果显示,:
每台物理主机的CPU利用率:最高5%,最低2%,平均4%
内存利用率:最高45%,最低5%,平均25%
磁盘I/O:平均2MBps ,最高60MBps;平均滞后延时<3毫秒,峰值45毫秒 网络数据流量平均10MBps,最高峰值30MBps
这套虚拟机应用环境的主要特点是:服务器、网络和存储不存在单点故障;2个刀箱充分满足VMWare的HA实时切换需要;网络采用了全万兆设计,从根本上解决了大量虚拟机和数据库应用对网络带宽的压力问题;存储选择了互为镜像的iSCSI虚拟化存储,确保了数据安全;整个虚拟机应用环境具有高扩展性和可用性,可以在不影响系统运行的情况下快速完成更新、部署和扩容。
四、 结论
综上所述,我们认为现阶段证券行业虚拟化主要集中在服务器虚拟化和非核心交易系统的虚拟化应用上,所以满足安全性、可扩展性、可管理性和可用性要求的虚拟化应用基本运行组合必须具备以下几个特征:
服务器虚拟化为主的应用,建议使用VMWare
服务器、网络和存储中不存在单点故障
规划使用超过10台物理服务器或考虑节省空间和功耗的应用,推荐使用刀片
服务器
服务器建议选择4路CPU以上、128G内存、4块以上网卡的服务器
网络推荐全万兆交换
建议采用虚拟化iSCSI存储
表四
当然我们在虚拟化应用的过程中,也意识到虚拟化的大规模使用必然会再系统技术架构和管理制度上带来一系列的安全问题。从我们实际使用的情况来看,虚拟化在技术上增加了一个层次,同时也引进了新的被攻击机会,所以有一些问题特别需要关注,并尽快加以解决:
增加了安全边界的复杂度和安全维护的风险
安全策略在某些情况下可能无法及时被执行,例如某些变更操作需要在虚拟机
映像激活状态下才能够完成
虚拟机的防病毒策略
存储资源共享可能造成的数据泄露