kvm虚拟化工具--文件管理

1.qemu-img的使用
作用:主要用来操作kvm文件系统
格式:qemu-img 命令 命令选项

常见的命令选项:
check [-f fmt] filename
create [-e] [-6] [-F fmt] [-b base_p_w_picpath] [-f fmt] filename [size]
commit [-f fmt] filename
convert [-c] [-e] [-6] [-f fmt] [-O output_fmt] [-B output_base_p_w_picpath] filename [filename2 […]] output_filename
info [-f fmt] filename snapshot [ -l | -a snapshot | -c snapshot | -d snapshot] filename
rebase [-u] -b backing_file [-F backing_fmt] filename

1.1使用qemu-img创建一个存储空间为3GB,格式为qcow2的镜像文件test2.qcow2 qemu-img create -f qcow2 /home/test2.qcow2 3G
kvm虚拟化工具--文件管理
1.2检查镜像 test2.qcow2是否正常
qemu-img check /home/test2.qcow2
kvm虚拟化工具--文件管理
1.3转化镜像(Convert) 转化镜像的格式,将test2.qcow2转化成vm1.raw
qemu-img convert -c -O qcow2 /home/test2.qcow2 /home/vm1.raw

1.4增加减少镜像大小,增加vm1.raw大小,加到10G
qemu-img resize /home/vm1.raw +7G

1.5显示vm1.raw镜像文件信息
qemu-img info /home/vm1.raw
kvm虚拟化工具--文件管理
1.6创建test2.raw镜像,大小5G
qemu-img create -f raw /home/test2.raw 5G
kvm虚拟化工具--文件管理
1.7运用qemu-img减小镜像磁盘1G
qemu-img resize /home/test2.raw -1G
kvm虚拟化工具--文件管理
1.8创建快照,标签为one
qemu-img snapshot -c one /home/centos.qcow2

1.9 qemu-img snapshot查询已创建的kvm虚拟机快照
qemu-img snapshot -l /home/test2.qcow2
kvm虚拟化工具--文件管理
2.virsh的使用
作用:管理kvm的常用命令
格式:virsh 参数 域名

常见的参数:
autostart #自动加载指定的一个域
connect #重新连接到
hypervisor console #连接到客户会话
create #从一个SML文件创建一个域
start #开始一个非活跃的域
destroy #删除一个域
define #从一个XML文件定义一个域
dominfo #查看域信息
domstate #查看域状态
edit #编辑某个域的XML文件
list #列出域
quit #退出非交互式终端
shutdown #关闭一个域
suspend #挂起一个域
vcpuinfo #域的cpu信息
version #显示virsh版本

virsh edit test2(更改前要shutdown test2虚拟机)
virsh shutdown test2
kvm虚拟化工具--文件管理
virsh define /etc/libvirt/qemu/test2.xml 重定义使配置生效
kvm虚拟化工具--文件管理
重启虚拟机,查看修改后的信息
kvm虚拟化工具--文件管理
增加网卡接口:
virsh attach-interface test2 --type bridge --source br0
查看网卡是否增加:
virsh domiflist test2
kvm虚拟化工具--文件管理
3.kvm静态迁移与动态迁移
3.1 静态迁移(虚拟机需要关闭)
kvm虚拟化工具--文件管理
确定需要迁移的虚拟机的磁盘的存放路径,如虚拟机名称为test2
virsh domblklist test2 查看
kvm虚拟化工具--文件管理
导出需要迁移的虚拟机的配置文件
virsh dumpxml test2 > /data/Centos7.xml
将需要迁移的虚拟机的配置文件和磁盘文件转移到另一台主机192.168.47.128

mkdir /home/kvm
kvm虚拟化工具--文件管理
修改一下/home/kvm/Centos7.xml文件中的的路径即可
定义启动虚拟机
virsh dumpxml name>name.xml
virsh define name.xml
3.2动态迁移(虚拟机不用关闭 基于数据块)
在目标主机上执行命令,创建一个与源主机同名的磁盘文件
qemu-img create -f qcow2 /home/kvm/centos7.qcow2 10G
kvm虚拟化工具--文件管理
2、在源主机上执行命令 ssh或者tcp只要其中一种可以与目标主机进行连接就行
virsh -c qemu+ssh://[email protected]/system list --all
3、开始热迁移(在源主机上执行命令)
virsh migrate fir --live --verbose --copy-storage-all qemu+tcp://192.168.47.128/system
–copy-storage-all (基于非共享存储的全部磁盘迁移) 性能消耗较大
qemu+tcp 就是使用tcp进行对远程libvirtd进行连接访问,需要修改文件vim /etc/sysconfig/libvirtd,用来启用tcp的端口

修改文件vim /etc/libvirt/libvirtd.conf来实现

4、定义和启动虚拟机
virsh dumpxml name>name.xml
virsh define name.xml