0

生产环境的libvirt+kvm部署和规划时需要注意的几个问题-存储篇

在虚拟化中,考虑到灾备\HA、迁移、快照等因素,那么我们第一要考虑和提前规划的,就是存储。

存储的对象目前至少可以分为4种:虚拟机配置文件(xml文件)、虚拟机模版(预配置或快照生成的)、虚拟机运行的实际镜像(块设备)和可供虚拟机热挂载、卸载的持久化存储。根据对象的功能和实际对物理资源、生产环境的应用场景和开销出发,在亚马逊的实践中,虚拟机实际运行的镜像(RootDisk 根磁盘,即操作系统和引导安装所在)和可挂载卸载持久化存储均通过其EBS实现。虚拟机实际运行的镜像(RootDisk)的生命周期和虚拟机一致,销毁后不再存在,数据也不保留,而重置操作会使其数据和状态恢复初始化状态。存储卷(盛大云中称为云硬盘)的生命周期,与虚拟机有一定关联但不取决与虚拟机,而取决自身。存储卷可从虚拟机上卸载,销毁该虚拟机后,可挂载到其他虚拟机,保障数据安全。亚马逊的EBS,类似ISCSI+LVM模式,故外界猜测多为廉价软件SAN实现,但无论从规模和成本、性能考量,应不仅仅是SAN这么简单。OPENSTACK、encalypts等则较为简单,ISCSI+LVM,NFS、NAS、SAN是其有限的选择,目前看除sheepdog\ceph\moosefs\gfs\HLFS\CLOUDFS外,可选择的适用的软件余地非常的少,能用在生产环境的,更少,要么性能差,要么稳定性差,都不太适合用在生产环境,据说淘宝在大规模测试sheepdog,可参考sheepdog.taobao.org

而虚拟机模版和快照的存储问题,其实不在于存储本身,因为这类文件通常读写较少,改动较少。其挑战性主要在于集中备份(快照)、集中部署时候的性能和速率问题。写入性能差,则影响到快照、备份成功与否,是否按时完成;读取性能差,则以为虚拟机部署缓慢,集中部署无法忍受。同时无论是快照还是部署,都会带来巨大的纵向网络压力,即使是在内网,这部分流量在大规模或者一般并发下,因此类文件本身较大,也会对网络和设备提出巨大的挑战。亚马逊是如何处理的,目前笔者尚在了解中。openstack通过glance+swift的方式,是非常好的思路,但目前有文件大小限制,同时缺乏大规模测试,故效果尚不得而知。eucalyptus等无需考虑,毫无解决方案和思路。我们的建议是,在内部实现一个P2P的文件系统,所有快照和模版被分割存在多个物理机上,并保证副本数,在文件传输中通过P2P方式解决速率和带宽问题,同时因为热点文件可以在热点宿主机上拥有完整的副本,故提高了部署的速度。而在快照的时候,需要对当前的数据写入机制进行修改,以便支持随机写(即仅更新有变动的文件块。)

虚拟机配置文件的存储。虚拟机配置文件的要求就是要支持文件锁机制,保障写入的唯一性,同时保障配置文件不丢失,需要多副本机制保障。同时,该配置文件和虚拟机的生命周期是一致的。proxmox有个很好的实践,通过RAMDISK和sync同步的方式,保障每个节点都可以快速读取到其他节点的虚拟机配置文件,非常不错的思路。这里就不再多说了。

目前除亚马逊外,onapp推荐的open-e,freenas,openfile等都难以支撑大规模下虚拟机内的IO性能,存储任重道远,如果规模小,双节点本地存储RAID10+DRBD足以,规模大,还要多想多探索,特别是做公有云的。

KVM的存储有多重方式,可以基于虚拟磁盘文件,基于文件系统,基于设备等,创建kvm虚拟机时默认使用虚拟磁盘文件,虚拟机认为这是真实的磁盘,实际上是模拟硬盘的文件,这一层会降低系统的速度。基于文件的虚拟机都有一个缺点是虚拟机的磁盘文件不能直接读写kvm的存储设备,而是写入宿主机上的文件系统。基于设备的虚拟机,支持四种不同的物理存储设备:磁盘,逻辑盘,ISCSI,SCSI。磁盘方式直接读写硬盘设备,缺点是磁盘大小是固定的,不能动态扩容,且不支持快照,使用LVM则可以解决以上问题,但是虚拟磁盘也有虚拟磁盘的优势,比如加密、快照之类的性能。具体选择哪种存储方式根据需求而定。

 

在决定使用磁盘镜像作为存储方式时最好选用raw格式,raw的优势是效率高,能直接读写磁盘,而且其他大多数虚拟机也支持这种格式,qcow2的优势是加密功能,快照功能,磁盘压缩功能等。如果想追求更高的性能话还是推荐使用raw格式,在虚拟机的cache模式是off,writethrough,writeback时raw格式的测试均比qcow2要好一些,但相差不大。

Filed in: 杂技 Tags: , , , , , , , , , , , , , , , , , , , , ,

Related Posts

Bookmark and Promote!

Leave a Reply

You must be Logged in to post comment.

© 7775 陈李粮. All rights reserved. XHTML / CSS Valid.
.