一、虚拟化介绍
1)KVM简介
1.虚拟化概念
virtualization资源管理
x个物理资源-->y个逻辑资源
实现程度:完全,部分,硬件辅助(CPU)
虚拟化主要厂商及产品
系列 PC/服务器版代表
VMware VMware Workstation,vSphere
Microsoft VirtualPC,Hyper-V
RedHat KVM,RHEV
Citrix Xen
Oracle Oracle VM VirtualBox
2.安装虚拟化服务器平台
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与用户交互
qemu-kvm
为kvm提供底层仿真支持
libvirt-daemon
libvirtd守护进程,管理虚拟机
libvirt-client
用户端软件,提供客户端管理命令
libvirt-daemon-driver-qemu
libvirtd连接qemu的驱动
可选功能
virt-install 系统安装工具
virt-manager 图形管理工具
virt-v2v 虚拟机迁移工具
virt-p2v 物理机迁移工具
虚拟化平台的安装
[root@virtual ~]# yum -y install qemu libvirt-daemon libvirt-client libvirt-daemon-driver-qemu
[root@virtual ~]# systemctl start libvirtd
3.KVM虚拟机的组成
内核虚拟化模块(KVM)
系统设备仿真(QEMU)
虚拟机管理程序(LIBVIRT)
一个XML文件(虚拟机配置声明文件)
位置 /etc/libvirt/qemu/
一个磁盘镜像文件(虚拟机的硬盘)
位置/var/lib/libvirt/images/
2)管理KVM平台
1.virsh命令工具介绍
提供管理各虚拟机的命令接口
支持交互模式,查看/创建/停止/关闭
格式: virsh 控制指令 [虚拟机名称] [参数]
virsh虚拟机管理
list[-all] 列出虚拟机
start|shutdown|reboot 虚拟机启动,停止,重启
destroy强制停止虚拟机
define|undefine 根据xml文件 创建/删除虚拟机
console 连接虚拟机的console
edit 修改虚拟机的配置
autostart 设置虚拟机自启动
domiflist 查看虚拟机网卡信息
domblklist 查看虚拟机 硬盘信息
virsh虚拟网络管理
net-list[-all] 列出虚拟网络
net-start 启动虚拟交换机
net-destory 强制停止虚拟交换机
net-define 根据xml文件创建虚拟网络
net-undefine 删除一个虚拟网络设备
net-edit 修改虚拟交换机的配置
net-autostart 设置虚拟交换机自启动
2.常用镜像盘类型
虚拟机的磁盘镜像文件格式
特点 RAW QCOW2
KVM默认 否 是
I/O效率 高 较高
占用空间 大 小
压缩 不支持 支持
后端盘复用 不支持 支持
快照 不支持 支持
3.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.img
4.COW技术原理
Copy On Write,写时复制
直接映射原始盘的数据内容
当数据由修改要求时,在修改之前自动将旧数据拷贝存入前端盘,对前端盘进行修改
原始盘始终是只读的
二、Virsh管理
1)xml管理
创建xml文件
对虚拟机的配置进行调整
编辑:virsh edit 虚拟机名
2)批量创建虚拟机