论文部分内容阅读
随着虚拟化技术的蓬勃发展,云计算平台层出不穷。云计算平台以分配虚拟机或者创建虚拟机集群的方式满足用户对于资源的需求,虚拟机内的数据最终保存在镜像文件中。这种用户数据与虚拟机镜像的紧密耦合的方式,不仅不利于管理,而且数据会在虚拟机关闭后随镜像文件一起被删除。云环境下虚拟机数据持久化存储系统为云计算平台提供了独立于虚拟机的块设备存储服务。系统采用主从架构,由一个头节点和多个存储节点组成,避免了单点故障的发生并提高系统的可扩展性。头节点负责用户请求的处理转发,通过心跳信息管理维护与各个存储节点的连接。存储节点采用逻辑卷管理器管理磁盘空间,然后通过iSCSI协议将磁盘挂载到虚拟机中。系统使用基于集群网络拓扑的块设备分配策略选择合适的存储节点,具体而言,在集群中同一个机架上的服务器是连接在同一个交换机中,不同机架之间再通过交换机连接在一起,构成了树形的网络拓扑结构,机架内的通信延时低且只会占用内部的带宽,头节点会根据该树形拓扑结构,选择与虚拟机距离最近的存储节点创建块设备。基于Linux操作系统,采用Java和Python语言实现了云环境下虚拟机数据持久化存储系统,并进行了系统测试。测试的结果表明,该系统使虚拟机能够成功地申请并挂载块设备,当虚拟机关闭后保存在块设备中的数据没有丢失,实现了数据的持久化存储。性能测试的结果表明,块设备的访问速率相比虚拟机镜像提升了20%,能够满足应用对性能的需求。