创建虚拟磁盘文件
命令行创建虚拟机
virsh命令
查看运行的虚拟机
查看创建的所有虚拟机
启动虚拟机
挂起虚拟机
恢复被挂起的虚拟机
开机启动虚拟机,即在虚拟机服务(libvirt)启动的时候,就启动虚拟机。
关闭开机启动虚拟机
关闭虚拟机
强制关闭虚拟机,这种方式是从virsh list列表中将虚拟机删除,仍然可以start起来
启动默认的网络
自启动默认网络
彻底删除虚拟机步骤
1)关闭虚拟机:
2)删除定义:
3)删除虚拟机文件:
克隆虚拟机
创建快照
恢复快照
删除快照
修改虚拟机配置
查看虚拟机配置
增加网卡接口,要添加的虚拟机保持开启状态才可添加
qemu-img命令
创建镜像文件test2.qcow2
检查文件镜像是否正常
转化镜像格式,将test2.qcow2转化成test2.raw
增加test2.raw镜像大小
显示test2.raw镜像文件信息
创建test2.raw镜像,大小为5G
减小镜像磁盘1G
创建快照,名为rhel6.4_ss
查询已创建的kvm快照
KVM虚拟机的静态迁移和动态迁移
1.静态迁移(虚拟机需要关闭)
查看虚拟机rhel6.4_clone的存放路径
导出rhel6.4_clone的配置文件以及虚拟磁盘文件到/data/kvm/下
将导出的配置文件和虚拟磁盘文件复制到192.168.6.54主机上
进入192.168.6.54主机,修改/data/kvm/rhel6.4_clone.xml配置文件中的的路径,对应虚拟磁盘文件存放路径。
定义注册虚拟机
测试启动新定义的虚拟机
2.动态迁移(迁移的虚拟机保持开启开启状态),配合nfs服务
源主机:ss
目标主机 :ee
需要开启迁移目标主机的tcp端口,开启方法:
在目标主机上配置nfs服务端,启动并设置自启
创建/data目录并赋予755权限
为fstab文件添加一行配置,永久挂载新硬盘到/data目录下
查看nfs服务端(目标主机)的挂载目录列表
在源主机上安装nfs服务,并挂载到目标主机的nfs共享目录下
在目标主机上做软链接
在源主机上执行动态迁移
在目标主机上查看虚拟机状态
将迁移来的虚拟机配置文件导出,重新定义
打开图形界面,运行虚拟机查看状态,完成
----------------------------以下是失败的一次热迁移,迁移后的虚拟物无法正常运行-------------------------
在目标主机上创建一个与源主机同名且同位置的磁盘文件
进入源主机,尝试热迁移
报错1:
error: Cannot access storage file ‘/var/lib/libvirt/images/rhel6.4.qcow2’ (as uid:107,gid:107): No such file or directory
解决方法:
1、因前面误操作,没有在目标主机响应位置创建磁盘文件。对应创建即可
2、赋予源主机的/var/lib/libvirt/images/rhel6.4.qcow2文件777权限
3、发现/var/lib/libvirt/images/rhel6.4.qcow2文件属主及属组为root,更改为qemu:qemu
4、修改/etc/libvirt/qemu.conf文件
将#user = "root"和#group = "root"和#vnc_listen = "0.0.0.0"三行取消注释,配置完成后重新启动libvirtd服务
报错2:
error: unable to connect to server at ‘192.168.6.54:16509’: No route to host
解决方法:
关闭源主机和目标主机的firewalld及selinux
报错3:
error: unsupported configuration: Unable to find security driver for model selinux
解决方法:
关闭selinux后并重启系统
报错4:
error: Unable to resolve address ‘ee’ service ‘49152’: Name or service not known
解决方法:
在/etc/hosts中加入对应解析:192.168.6.54 ee
报错5:
error: internal error: unable to execute QEMU command ‘migrate’: this feature or command is not currently supported
解决方法:
配置yum源qemu-kvm-rhev.repo,内容为:
[qemu-kvm-rhev]
name=oVirt rebuilds of qemu-kvm-rhev
baseurl=http://resources.ovirt.org/pub/ovirt-3.5/rpm/el7Server/
mirrorlist=http://resources.ovirt.org/pub/yum-repo/mirrorlist-ovirt-3.5-el7Server
enabled=1
skip_if_unavailable=1
gpgcheck=0
并使用yum安装qemu-kvm-rhev,重启rhel6.4虚拟机
报错6:
error: unsupported configuration: CPU model Haswell-noTSX is not supported by hypervisor
解决方法:
进入/usr/share/libvirt/cpu_map.xml文件查找所迁移虚拟机的对应model
编辑虚拟机配置:virsh edit rhel6.4
找到Haswell-noTSX将其修改为cpu64-rhel6,重启rhel6.4虚拟机
再次尝试热迁移。
迁移过程中又报错:
error: internal error: qemu unexpectedly closed the monitor: nbd.c:nbd_trip…
解决方法:
查看目标主机剩余空间,空间充足。进入/var/lib/libvirt/images目录查看上面创建的虚拟磁盘文件大小为10G,删除,重新创建50G虚拟磁盘文件。
再次尝试迁移,在达到100%后又再次报错:
Migration: [100 %]error: internal error: qemu unexpectedly closed the monitor: qemu-kvm: qemu-coroutine-lock.c:147: qemu_co_mutex_unlock: Assertion `mutex->locked == 1’ failed.
解决方法:
更改热迁移语句的选项为
virsh migrate --live --persistent --verbose rhel6.4 qemu+tcp://192.168.6.54/system --unsafe
再次执行热迁移,成功。
进入目标主机查看当前虚拟机状态
导出迁移来的虚拟机的配置文件,重新定义以永久生效