注:
一个KVM虚拟机在宿主机中作为一个qemu-kvm进程运行,与其他Linux进程一样被调度。
CPU虚拟化
由vmx 或 svm 实现。虚拟机中每一个vCPU对应qemu-kvm进程中的每一个线程。因此虚拟机中vCPU总数可以超过物理CPU总数,这个叫CPU超配。
存储虚拟化
由存储池(storage pool)和volume卷实现,存储池为宿主机中可见的一块内存,volume为存储池中分配给虚拟机的一块空间。
KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool,是一种目录类型的存储池,而volume则为该目录下的文件,如一个镜像文件则为一个volume,volume有多种类型,包括raw,qcow,vmdk,vdl。
网络虚拟化
通过Linux bridge实现vnet br0 eth0之间的数据传输。注意Linux 网桥br0的配置需更改interfaces文件。使用brctl show 查看网桥情况。虚拟机网络通信方式:br0、NAT、vlan. 其中vlal是一个虚拟局域网,实现二层隔离。
3.Libvirt
libvirt由三大功能组件组成:后台daemon程序libvirtd、API库、命令行工具virsh。
其中,libvirtd是服务程序,接收和处理来自API的请求。API库用来开发基于libvirt的高级管理工具,例如KVM图形管理工具virt-manager。命令行工具virsh是常用的KVM命令行工具。
libvirt也用来管理Xen、VirtualBox。
4.理解openstack
首先区分物理机架构、虚拟化架构、云计算架构
其次区分Iaas Paas Saas
Iass-基础设施即服务,向用户提供一个完整的虚拟机,使用者为数据中心管理员,典型的Iaas服务包括AWS、阿里云等。
Paas-平台即服务,向用户提供应用的运行环境和一系列中间件等,使用者为应用开发人员,典型的Paas服务包括
Google App Engine、IBM BlueMix。
Saas-软件即服务,向用户提供应用服务,使用者是应用的终极用户,典型的Saas包括Google Gmail。
而
openstack则属于Iaas,
openstack对数据中心的计算、网络、存储资源进行统一管理和分配。
5.openstack架构
使用devstack可以在一台机器上,all-in-one搭建openstack环境。
核心组件或服务:Nova,Keystone,Glance,Cinder,Neutron
核心节点:控制节点、网络节点、计算节点、存储节点
openstack中的L2、L3网络指的是七层网络协议中的第二层数据链路层和第三层网络层。
NAT:网络地址转换,用于专用网内的本地IP地址与外界网络通信时,将本地IP地址转换成全球IP地址。