一、KVM简介
1.1 搭建KVM服务器
1.1.1 虚拟化概念
• virtualization 资源管理
– x个物理资源 –> y个逻辑资源
– 实现程度:完全、部分、硬件辅助(CPU)
1.1.2 虚拟化概述
• 虚拟化主要厂商及产品
1.1.3 安装虚拟化服务器平台
1. 虚拟化服务器软件
• qemu-kvm
– 为 kvm 提供底层仿真支持
• libvirt-daemon
– libvirtd 守护进程,管理虚拟机
• libvirt-client
– 用户端软件,提供客户端管理命令
• libvirt-daemon-driver-qemu
– libvirtd 连接 qemu 的驱动 // libvirtd可以管理各种虚拟化技术
• 可选功能
– virt-install # 系统安装工具
– virt-manager # 图形管理工具
– virt-v2v # 虚拟机迁移工具
– virt-p2v # 物理机迁移工具
• 虚拟化平台的安装
-
yum
install -y qemu-kvm \
-
libvirt-daemon \
-
libvirt-
client \
-
libvirt-daemon-driver-qemu
-
systemctl
start libvirtd //启动虚拟机管理服务
1.1.4 虚拟机的组成
• 虚拟机的组成
– 内核虚拟化模块(KVM)
– 系统设备仿真(QEMU)
– 虚拟机管理程序(LIBVIRT)
KVM提供CPU硬件的虚拟化,QEMU提供除CPU以外的辅助硬件虚拟化,LIVIRTD提供管理虚拟机的命令
1.KVM是linux内核的模块,它需要CPU的支持,采用硬
件辅劣虚拟化技术 Intel-VT,AMD-V,内存的相关如
Intel的 EPT 和 AMD 的 RVI 技术
2. QEMU 是一个虚拟化的仿真工具,通过 ioctl 与内核
kvm 交互完成对硬件的虚拟化支持
3. Libvirt 是一个对虚拟化管理的接口和工具,提供用户
端程序 virsh ,virt-install, virt-manager, virt-view 与用户交互
– 一个 XML 文件(虚拟机配置声明文件) 【告诉虚拟机,你有几个网卡,几个cpu,多大的磁盘】
– 位置 /etc/libvirt/qemu/
– 一个磁盘镜像文件(虚拟机的硬盘) 【虚拟机存放数据的地方】
– 位置 /var/lib/libvirt/images/
1.2 管理KVM平台
1.2.1 virsh 命令
1.virsh命令工具介绍
提供管理各虚拟机的命令接口
– 支持交互模式,查看/创建/停止/关闭 .. ..
– 格式:virsh 控制指令 [虚拟机名称] [参数]
[root@nova01 ~]# virsh
Welcome to virsh, the virtualization interactive terminal.
Type: ‘help’ for help with commands
‘quit’ to quit
virsh #
2.查看虚拟化信息
2.1 查看KVM节点(服务器)信息【物理机】
– virsh nodeinfo
2.2 列出虚拟机
– virsh list [–all]
2.3 列出虚拟网络
– virsh net-list [–all]
2.4 查看指定虚拟机的信息
– virsh dominfo 虚拟机名称
3.开关机操作
3.1 运行|重启|关闭指定的虚拟机
– virsh start|reboot|shutdown 虚拟机名称
3.2 强制关闭指定的虚拟机
– virsh destroy 虚拟机名称
3.3 将指定的虚拟机设为开机自动运行【随着libvirtd启动】
– virsh autostart [–disable] 虚拟机名称
1.2.2 qcow2简介
1.常用镜像盘类型
• 虚拟机的磁盘镜像文件格式
qcow2的IO性能比RAW稍低,但是QCOW2文件格式占用的空间小,支持压缩、快照盘复用
1.2.3 qemu-img 命令
1.qemu-img命令简介
• qemu-img 是虚拟机的磁盘管理命令
• qemu-img 支持非常多的磁盘格式,例如 raw、qcow2、vdi、vmdk 等等
2.qemu-img 命令格式
– qemu-img 命令 参数 块文件名称 大小
qemu-img create [-b 后端盘] -f qcow2 块文件名称 [大小] //这个大小定的是最大能存多大的数据
– 常用的命令有
– create 创建一个磁盘
– con