openstack学习笔记

终于开始安心学习,今天开始学习openstack和KVM相关知识。学习主要参照的网络资源为cloudman的五分钟学习openstack:http://www.cnblogs.com/CloudMan6/tag/OpenStack/


1.虚拟化
1 型虚拟化:hypervisor直接运行于硬件之上,对硬件虚拟化做了优化,性能较高,但不支持虚拟机嵌套,例如Xen VMware的EXSI都属于1型虚拟化。1型虚拟化其hypervisor内存上严格隔离的。
2 型虚拟化:宿主机操作系统运行于硬件之上,hypervisor作为一个内核模块运行在宿主机操作系统之上。支持虚拟机嵌套,例如KVM,VMware的workstation等都属于2型虚拟化,虚拟机嵌套指KVM虚拟机中还可以再运行KVM。
2.KVM
kernel-based virtual machine,基于Linux内核的虚拟机,kvm.ko负责CPU和内存虚拟化。IO虚拟化由Linux内核和Qemu实现。KVM的管理工具为libvirt, openstack底层也使用libvirt
kvm安装:直接在Linux系统上安装KVM所需包。其中qemu-kvm、qemu-systerm负责CPU、内存和IO虚拟化,libvirt-bin为libvirt,virt-manager为KVM图形管理工具,网络虚拟化由bridge-utils、vlan实现。
使用virt-manager启动虚拟机,  /var/lib/libvirt/images/ 目录为KVM默认存放镜像文件的地方。virt-manager也可以用来管理其他宿主机上的虚拟机,注意此处需要配置被管理宿主机中的两个文件。
virsh list 命令用于查看宿主机上的虚拟机,还可以使用其他virsh命令管理虚拟机。
3.Libvirt
libvirt由三大功能组件组成:后台daemon程序libvirtd、API库、命令行工具virsh。
其中,libvirtd是服务程序,接收和处理来自API的请求。API库用来开发基于libvirt的高级管理工具,例如KVM图形管理工具virt-manager。命令行工具virsh是常用的KVM命令行工具。
libvirt也用来管理Xen、VirtualBox。