Centos7 KVM日常运维
一、基本操作
virsh list 列出本机所有正在运行的虚拟机 virsh list --all 列出本机所有的虚拟机 virsh start centos 启动虚拟机
virsh shutdown centos 关闭虚拟机
virsh reboot centos 重启虚拟机
virsh destroy centos 强制关闭虚拟机
virsh suspend centos 挂起虚拟机
virsh resume centos 恢复虚拟机
virsh dumpxml centos >/opt/centos-off.xml 导出虚拟机配置文件
virsh undefine centos 删除虚拟机
virsh define centos-off.xml 导入虚拟机
virsh edit centos 修改虚拟机配置文件
virsh domrename centos centos7.5 虚拟机重命名为centos7.5
vim /etc/libvirt/qemu/centos.xml 也可以直接修改虚拟机配置文件
virsh autostart centos7.5 设置虚拟机随宿主机开机启动
virsh autostart centos7.5 --disable 取消开机自启动
二、快照与克隆
virsh snapshot-create-as centos7.5 --name centoskuaizhao --description "这是快照" 创建快照
virsh snapshot-create centos7.5 创建快照,以随机数字命名
virsh snapshot-list centos7.5 查看centos7.5的快照列表
virsh snapshot-parent centos7.5 --current 查看当前快照的上一级快照
virsh snapshot-edit centos7.5 --snapshotname 1591089901 编辑快照
qemu-img info centos7.5.qcow2 查看镜像文件信息
virsh snapshot-revert centos7.5 --snapshotname centoskuaizhao 恢复快照
virsh snapshot-delete centos7.5 --snapshotname 1591089901 删除快照
raw格式不支持快照,qcow2快照就存在于虚拟磁盘里面,快照越多,虚拟磁盘越大,删除快照,不会释放空间(写时复制),再次创建快照,占用原来的空间,原来空间不够,再分配空间。
三、查看VNC连接端口
virsh vncdisplay centos7.5
:0
四、配置console登陆
VNC登陆要求两端为直连,如果使用跳板机登陆,就不能用VNC登陆了,只能配置console登陆
vi /etc/ssh/sshd_config ssh登陆有点慢,优化配置文件 74 #KerberosTicketCleanup yes 75 #KerberosGetAFSToken no 76 #KerberosUseKuserok yes 77 78 # GSSAPI options 79 GSSAPIAuthentication no 修改为no 80 GSSAPICleanupCredentials no 81 #GSSAPIStrictAcceptorCheck yes 82 #GSSAPIKeyExchange no 83 #GSSAPIEnablek5users no 110 #PermitUserEnvironment no 111 #Compression delayed 112 #ClientAliveInterval 0 113 #ClientAliveCountMax 3 114 #ShowPatchLevel no 115 UseDNS no 取消注释,修改为no 116 #PidFile /var/run/sshd.pid 117 #MaxStartups 10:30:100 118 #PermitTunnel no 119 #ChrootDirectory none
修改内核文件,支持console登陆
grubby --update-kernel=ALL --args="console=ttyS0,115200n8"
输入命令console登陆,敲回车
退出切换回宿主机:Ctrl+]
五、虚拟机磁盘格式转换
qemu-img info centos7.5.qcow2 查看硬盘详细信息 qemu-img create test.raw 5G 创建一块硬盘,不指定格式,默认raw格式 qemu-img create -f qcow2 test.qcow2 5G 创建一块硬盘
qemu-img resize test.raw +5G 增加5个G
qemu-img resize test.raw 5G 调整磁盘到5个G
time qemu-img convert -f raw -O qcow2 test.raw test.qcow2 格式转换,并统计时间
修改了磁盘格式,需要修改配置文件启动文件格式和启动文件
注意:qcow2 格式的不支持缩减,生产环境,尽量不要缩减,容易丢数据。
六、虚拟机克隆
完整克隆:
1、手动克隆
cp centos7.5.qcow2 web.qcow2 复制磁盘文件 virsh dumpxml centos7.5 >web.xml 导出配置文件
vim web.xml 修改配置文件
<name>web</name> 修改虚拟机名字
<uuid>f3f1b7f6-5b7a-483f-bfbf-760bd4bdff7a</uuid> 删除uuid,生成新的
<mac address='52:54:00:6b:eb:b9'/> 删除mac地址,生成新的
2、命令行克隆
virt-clone -o web -n web01 --auto-clone
链接克隆:
1、手动克隆
qemu-img create -f qcow2 -b centos7.5.qcow2 web02.qcow2
virsh dumpxml centos7.5 >web.xml 导出配置文件
vim web.xml 修改配置文件
<name>web</name> 修改虚拟机名字
<uuid>f3f1b7f6-5b7a-483f-bfbf-760bd4bdff7a</uuid> 删除uuid,生成新的
<mac address='52:54:00:6b:eb:b9'/> 删除mac地址,生成新的
2、命令行克隆
qemu-img create -f qcow2 -b centos7.5.qcow2 web05.qcow2
virt-install --name web05 --virt-type kvm --ram 1024 --boot hd
--disk path=/opt/web05.qcow2 --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
七、删除虚拟机采坑
1、运行状态下的虚拟机
2、删除虚拟机
可以看到我们执行了删除命令,虚拟机还在,但是虚拟机的配置文件不在了。这是因为虚拟机进程还在,所以我们看到虚拟机还在。
ps -ef |grep web-clone 查看进程命令
3、关闭虚拟机
只要关闭虚拟机,就关闭了虚拟机进程,由于已经删除了配置文件,所以虚拟机就没有了,如果还想保留虚拟机,应该在关闭虚拟机之前,导出配置文件。这样就保留虚拟机配置文件,下次想要恢复,就直接导入配置文件。