虚拟化
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

虚拟化主要厂商及产品
 系 列 PC/服务器版代表
 VMware VMware Workstation、vSphere
 Microsoft VirtualPC、Hyper-V
 RedHat KVM、RHEV
 Citrix Xen
 Oracle Oracle VM VirtualBox安装虚拟化服务器平台
 KVM /QEMU /LIBVIRTD
 – KVM是 linux 内核的模块,它需要 CPU 的支持,采用
 硬件辅助虚拟化技术 Intel-VT,AMD-V,内存的相关
 如Intel的 EPT 和 AMD 的 RVI 技术
 – QEMU 是一个虚拟化的仿真工具,通过 ioctl 与内核
 kvm 交互完成对硬件的虚拟化支持
 – Libvirt 是一个对虚拟化管理的接口和工具,提供用户
 端程序 virsh ,virt-install, virt-manager, virt-view 与
 用户交互。KVM虚拟机的组成
 • 虚拟机的组成
 – 内核虚拟化模块(KVM)
 – 系统设备仿真(QEMU)
 – 虚拟机管理程序(LIBVIRT)安装虚拟化服务器平台必备软件
 qemu-kvm
 – 为 kvm 提供底层仿真支持
 libvirt-daemon
 – libvirtd 守护进程,管理虚拟libvirt-client
 – 用户端软件,提供客户端管理libvirt-daemon-driver-qem– libvirtd 连接 qemu 的驱动virsh命令工具介绍
 • 提供管理各虚拟机的命令接口
 – 支持交互模式,查看/创建/停止/关闭 … …
 – 格式:virsh 控制指令 [虚拟机名称] [参数]
 [root@nova01 ~]# virsh
 Welcome to virsh, the virtualization interactive terminal.
 Type: ‘help’ for help with command’quit’ to quit
 virsh #virsh命令工具介绍
 virsh 虚拟机管理
 – list [–all] 列出虚拟机
 – start|shutdown|reboot 虚拟机启动,停止,重启
 – destroy 强制停止虚拟机
 – define|undefine 根据 xml 文件 创建/删除 虚拟机
 – console 连接虚拟机的 consolevirsh 虚拟机管理
 – edit 修改虚拟机的配置
 – autostart 设置虚拟机自启动
 – domiflist 查看虚拟机网卡信息
 – domblklist 查看虚拟机硬盘信息
 – blockresize --path [绝对路径] --size 50G openstackvirsh 虚拟网络管理
 – net-list [–all] 列出虚拟网络
 – net-start 启动虚拟交换机
 – net-destroy 强制停止虚拟交换机
 – net-define 根据 xml 文件 创建虚拟网络
 – net-undefine 删除一个虚拟网络设备
 – net-edit 修改虚拟交换机的配置
 – net-autostart 设置虚拟交换机机自启动常用镜像盘类型
 虚拟机的磁盘镜像文件格式
 特点\类型 RAW QCOW2
 KVM默认 否 是
 I/O效率 高 较高
 占用空间 大 小
 压缩 不支持 支持
 后端盘复用 不支持 支持
 快照 不支持 支持qemu-img命令
 • qemu-img 是虚拟机的磁盘管理命令,支持非常多
 的磁盘格式,例如raw、qcow2、vdi、vmdk等等
 • qemu-img 命令格式
 – qemu-img 命令 参数 块文件名称 大小
 – 常用的命令有
 – create 创建一个磁盘
 – convert 转换磁盘格式
 – info 查看磁盘信息
 – resize 扩容磁盘空间
 • 创建新的镜像盘文件
 qemu-img create -f 格式 磁盘路径 大小
 qemu-img create -f qcow2 disk.img 50G
 • 查询镜像盘文件的信息
 qemu-img info 磁盘路径
 qemu-img info disk.img
 • -b 使用后端模板文件
 qemu-img create -b disk.img -f qcow2 disk1.imgCOW技术原理
 • Copy On Write,写时复制
 – 直接映射原始盘的数据内容
 – 当数据有修改要求时,在修改之前自动将旧数据拷贝存入
 前端盘后,对前端盘进行修改
 – 原始盘始终是只读的