KVM虚拟化专题(2)KVM及Libvirt架构-创新互联
kvm是内核组件,并没有自己的用户空间,QEMU是一个通用的开源的硬件模拟器,可以模拟多种硬件
QEMU_KVM从分支与主干合并,QEMU成为KVM在用户空间的管理工具,及KVM运行在内核空间负载虚拟机调用物理资源的请求处理,QEMU则在用户空间处理用户下达给虚拟机的各种指令
从架构上看KVM属于宿主模型,因为Linux设计之初并内有针对虚拟化的支持,KVM是以内核模块的形式存在的。但是随着越来越多的虚拟化功能被加到Linux内核当中,也可以把Linux内核看作一个Hypervisor。因此KVM也可以算作是Hypervisor模型。
Libvirt
Libvirt是由Redhat开发的一套开源的软件工具,目标是提供一个通用和稳定的软件库来高效、安全的管理一个节点上的虚拟机,并支持远程操作。
Libvirt服务
启动服务 systemctl start libvirtd
配置文件在/etc/libvirt目录下面
一个库文件,实现管理接口
一个守护进程(libvirtd)
一个命令行工具(virsh)
为了支持VMM,Libvirt采用基于驱动(Driver)架构,每种VMM需要提供一个Driver和Libvirt进行通信来操控特定的VMM
Libvirt定义了各种API
- 虚拟机快照:快照包括内存、硬盘等信息在内的完整的虚拟化状态。
- 虚拟化管理:这一类API用于管理虚拟机,也是Libvirt里面使用最频繁的功能,比如,创建、销毁、重启、迁移虚拟机、操作系统的磁盘镜像等。
- 事件:事件(events)是Libvirt定义的一套检测特定情况发生的机制,用户可以通过响应的API告诉Libvirt,想要监测什么样的事件,与事件发生时采取什么样的操作。
- 宿主机:用于获取宿主机的各种信息,包括机器名,COU状态等,也用于和特定的VMM建立连接。
- 网络接口:实现网路接口的响应操作,如定义一个新的网络接口
virsh是一个基于Libvirt的命令行工具,用于管理虚拟机的整个生命周期,包括创建、销毁、迁移等。virsh常用参数指令: virsh shutdown --mode-agent 比--mode=acpi更加安全地关闭操作系统 virsh snapshot-creat -quiesce 在创建快照之前,将缓存地内容刷入到磁盘 virsh domfsfreee 静默文件系统 virsh domfsthaw 恢复静默地文件系统 virsh domfstrim 让虚拟机trim文件系统 virsh domtime 获取虚拟机的事件 virsh setvcpus 配置虚拟机的vCPU virsh dominfaddr --source agent 查询虚拟机的IP地址 virsh domfsinfo 显示虚拟机的文件系统列表 virsh set-user-password 设置虚拟机用户的密码
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:KVM虚拟化专题(2)KVM及Libvirt架构-创新互联
文章来源:http://scyanting.com/article/cdhscs.html