1.
yum install libvirt virt-install qemu-kvm virt-manager -y
#加载kvm模块
modprobe kvm
systemctl start libvirtd.service
2.创建虚拟磁盘文件
qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.qcow2 20G
3.创建虚拟机
virt-install --virt-type kvm --os-variant=centos7.0 --name centos --memory 1024 --vcpus 1 \
--disk /var/lib/libvirt/images/centos7.qcow2 --cdrom /opt/iso/CentOS-7-x86_64-DVD-1503-01.iso \
--network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
--virt-type kvm 虚拟化类型是kvm 支持多种虚拟化xen qemu
--os-type 系统类型
--os--variant rhel7 发行版是rhel7
--name centos 虚拟机名字是centos7
--menory 内存大小
--vcpus cpu数量
--disk /opt/centos2.raw 硬盘路径
--cdrom /opt/ 指定光盘
--network 网络
--graphics vnc,listen=0.0.0.0 用vnc连接进行输出,监听端口 0.0.0.0
--noautoconsole 不自动连接
4.kvm虚拟机的virsh日常管理和配置
重命名
先关机
virsh domrename 旧虚拟机名 新虚拟机名
virsh list 查看处于运行状态的机器
virsh list --all 查看所有机器
#开机start
virsh start centos7
#关机shutdown
virsh centos7 shutdown
#拔电源关机destroy
virsh destroy centos7
#挂起web01
virsh suspend y-web01
#恢复
virsh resume y-web01
# 显示端口号
virsh vncdisplay centos7
#开机自启
libvirtd启动 虚拟机就会启动
virsh autostart centos7
#取消开机自启
virsh autostart --disable web01
#查看kvm支持的系统
osinfo-query os
5.虚拟机备份
配置文件和磁盘文件就能运行虚拟机
配置文件在/etc/libvirt/qemu/
下面
备份虚拟机配置文件
可以把虚拟机删除,然后导入配置文件就恢复了
备份还原操作
示例:
#备份配置文件
virsh dumpxml centos7 > centos7.xml
#关机
virsh shutdown centos7
#删除
virsh undefine centos7
#直接导入xml配置文件,会自动关联磁盘文件
virsh define centos7.xml
6.修改配置
改配置文件,
修改磁盘文件名,用edit 把配置文件中的磁盘名也要修改
virsh edit cenots7
7. 磁盘管理
#创建1个5G的磁盘
qemu-img create oldboy.raw 5G
#查看磁盘信息
qemu-img info oldboy.raw
#创建qcow2格式的磁盘
qemu-img create -f qcow2 oldboy.qcow2 5G
qemu-img create -f 格式
#resize调整容量
qemu-img resize /opt/test.qcow2 1G 调整到1G
qemu-img resize /opt/test.qcow2 +1G 加1G
8.convent磁盘格式转换
1.raw转qcow2
qemu-img convent -f 源格式 -O输出的格式 源文件 转换后的文件名
-f raw 指定原格式为raw
-O qcow2 指定输出格式是qcow2
oldboy.raw 要转换的磁盘文件
oldgirl.qcow2 输出的格式
2.把 qcow2磁盘文件转为raw文件格式
qemu-img convert -f qcow2 -O raw web01.qcow2 web01.raw
9.快照
#创建快照
virsh snapshot-create web01
#查看快照列表
virsh snapshot-list web01
virsh snapshot 1537864129 created
#还原快照
snapshot-revert web01 --current
#删除快照
virsh snapshot-delete web01 --snapshotname 1644171033