KVM搭建手册
说明:
1.此实验环境为centos7
2.只有64位以上的才能安装KVM。32位的不支持
3.查看CPU虚拟化:
intel: cat /proc/cpuinfo |grep --color vmx
amd : cat /proc/cpuinfo |grep --color svm
在输出信息流中,flag中有vmx或svm,那就是支持全虚拟化
如果没有,则需要开启CPU虚拟化功能
第一部分[安装KVM]
1.KVM组件部分
qemu-kvm:kvm主程序,KVM虚拟化模块
virt-manager:KVM图形化管理工具
libvirt:虚拟化服务
libguestfs-tools:虚拟机系统管理工具
virt-install:安装虚拟机实用工具
libvirt-python:python调用libvirt虚拟化服务的api接口库文件
virt-viewer:虚拟机查看器
virt-v2v:VMware迁移到KVM工具
2.安装KVM组件
命令:yum install qemu-kvm virt-manager libvirt libvirt-install libguestfs-tools libvirt-python -y
等待安装结束。
3.启动kvm虚拟化服务and图形化管理界面
启动虚拟化服务命令:systemctl start libvirtd
设置开机自启命令:systemctl enable libvirtd
查看是否为开机自启:systemctl is-enabled libvirtd
启动图形化管理工具:virt-manager
第二部分[配置KVM]
1.配置KVM网络桥接功能
1-1.安装桥设置组件[bridge=二层交换机]
命令:yum install bridge-utils -y
1-2.把eth0绑定到br0
命令:cd /etc/sysconfig/network-scripts
命令:cp ifcfg-ens33 /
命令:nano ifcfg-ens33
编辑:删除IP、子网、网关、DNS部分
新增:BRIDGE="br0"
1-3.创建桥设备[br0]
命令:nano ifcfg-br0
新增:{
DEVICE="br0"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Bridge"
BOOTROTO=none
IPADDR=此处填写ifcfg-ens33网卡IP,或者内网指定地址
NETMASK=同上
GATEWAY=同上
DNS1=同上
}
命令:service network restart
查看桥命令:ip add [查看是否有br0设备]
2.创建KVM虚拟机
2-1.使用图形化管理工具进行创建虚拟机
命令:virt-manager
2-2.使用命令进行创建
前提:安装tigervnc,vnc客户端
命令:virt-install --name nova-1 --ram 1024 --vcpus=1 --disk path=/var/lib/libvirt/images/nova-1.img,size=5 --accelerate --cdrom /kali.iso --network bridge=br0 --graphics vnc
复制
第三部分[KVM虚拟机克隆和快照]
1.克隆kvm虚拟机
1-1.前提条件
克隆对象必需为关机状态
1-2.命令克隆和图形管理器克隆
命令克隆:virt-clone -o 源虚拟机 -n 新虚拟机 -f 指定存放位置
复制
2.kvm虚拟机的组成
2-1.一台KVM虚拟机是由两部分组成
1.虚拟机配置文件
路径:/etc/libvirt/qemu/ *xml
2.镜像img
路径:/var/lib/libvirt/images/
2-2.修改网卡
修改:{
ONBOOT="yes"
注:MAC and UUID delete!
}
重启:reboot
3.虚拟机常用镜像格式对比
3-1.常见虚拟机镜像格式:raw,cow,qcow,qcow2,vmdk
3-2.raw格式
1.老牌的镜像格式,裸[未经处理],随便dd一个file就模拟了一个raw格式的镜像。
2.centos6在KVM和xen默认这个格式,但是在7后面的版本,默认是QCOW2格式
3.好处是简单,支持转化为其他格式的虚拟机镜像。经常作为中间格式
4.例:QCOW2转vmdk 先将QCOW2转为RAW 再将RAW转为vmdk
3-3.cow,qcow,qcow2
1.cow格式:还未成熟,就被放弃
2.qcow格式:刚出道有较好的特性,不过比起raw还是表现性能不足
3.qcow2格式:现在主流的格式,接近raw的性能。
特性:支持snapshot,创建无数个快照
更小的存储空间,支持image镜像等等、、
3-4.vmdk格式
1.由于VMware是做虚拟化起家的,所以整体性能最好。
2.vmdk结合了VMware的很多能力,就不必细说。
3.VMware公司还有企业级的虚拟化ESXI,稳定性和性能都不错
4.KVM快照功能
4-1.快照的作用
1.热备
2.灾难恢复
3.回滚历史状态
4-2.快照占用空间
1.原始数据冻结,对原始修改数据进行保存,所占空间极小
4-3.kvm快照种类
1.lvm快照
2.qcow2快照
4-4.查看磁盘格式
命令:qemu-img info file.img
4-5.生成快照
命令:virsh snapshot-create-as 虚拟机名 快照名
4-6.查看快照
命令:virsh snapshot-list 虚拟机名
4-7.恢复快照
命令:virsh snapshot-revert 虚拟机名 快照名
4-8.确认恢复的版本
命令:virsh snapshot-current 虚拟机名 |more
4-9.删除快照
命令:virsh snapshot-delete 虚拟机名 快照名
5.KVM镜像转换
5-1.qcow2转换raw
命令:qemu-img convert -f qcow2 -O raw nova.qcow2 nova.raw
5-2.vmdk转换qcow2
命令:qemu-img convert -f vmdk -O qcow2 nova.vmdk nova.qcow2
5-3.qcow2转换vmdk
命令:qemu-img convert -f qcow2 -O vmdk nova.qcow2 nova.vmdk
5-4.压缩镜像
命令:qemu-img convert -c -O qcow2 nova.qcow2 nova1.qcow2
复制
扩展:
virsh list //查看当前运行的虚拟机列表
virsh list --all //查看所有虚拟机列表
virsh start 虚拟机ID //启动指定虚拟机
virsh shutdown nova //关闭指定虚拟机
virsh autostart nova //指定虚拟机开机自启动
virsh dumpxml nova > nova.xml //导出指定虚拟机配置文件
virsh undefine nova //取消定义域
virsh define nova.xml //重新定义域
virsh destroy nova //强制关闭虚拟机
virsh autostart --desable nova //取消虚拟机随宿主开机自启
virsh suspend nova //挂起虚拟机
virsh resume nova //恢复虚拟机
virsh console nova //连接虚拟机控制台