一、文件管理
概念:
1.可直接查看、修改虚拟机内部文件
2.当系统因为配置问题无法启动时可通过文件管理修改虚拟机内相应文件
3.需要专门的工具才能完成
4.不同格式的磁盘有不同的文件管理工具
kvm虚拟机磁盘格式:
1.raw格式:磁盘性能最好、速度最快、但不支持如aes加密,Zlib磁盘压缩等新功能(默认为raw格式)
2.qcow2格式:磁盘存储空间更小,支持如aes加密,Zlib磁盘压缩等新功能
KVM虚拟机的管理
注意:操作之前虚拟机最好处在关闭状态
[[email protected] ~]# virsh shutdown kvm01
libguestfs-tools可实现raw/qcow2格式磁盘镜像的文件管理
步骤
1.安装libguestfs-tools
安装libguestfs-tools之前
[[email protected] ~]# yum -y installlibguestfs-tools
安装libguestfs-tools之后
这里想说的是 安装libguestfs-tools之后可以实现更多的管理功能以下操作都是通过管理“qcow2磁盘格式的kvm虚拟机”来介绍kvm虚拟机的管理,同样对于管理“raw磁盘格式的虚拟机”也是适用的
2.转换磁盘文件格式
qemu-img convert -f raw -O(这个是“大写的O哦”) qcow2 raw格式磁盘镜像路径 qcow2格式磁盘镜像路径
[[email protected] ~]# qemu-img convert-f raw -O qcow2 /kvm/kvm01.img /kvm/kvm01.qcow2
转换的过程可能稍微费点儿时间,请大家耐心等待!!
3.修改配置文件并启动
virsh edit 虚拟机配置文件
[[email protected] ~]# virsh edit kvm01
编辑之前
修改之后
编辑了域 kvm01 XML 配置。
4. virt-edit 编辑虚拟机内文件 (这里我就给它配置一个IP地址)
现在虚拟机kvm01处于关闭状态哦
virt-edit 磁盘镜像路径 文件绝对路径
[[email protected] ~]#virt-edit/kvm/kvm01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0
5.virt-cat 查看虚拟机文件内容
virt-cat 磁盘镜像路径 文件绝对路径
[[email protected] ~]# virt-cat/kvm/kvm01.qcow2 /etc/sysconfig/network-scripts/ifcfg-eth0
6.virt-df 查看虚拟机磁盘使用情况
virt-df -h 虚拟机名称
[[email protected] ~]# virt-df -h kvm01
7.到这一步,就可以开启虚拟机了
我用ping验证了我之前的操作是没有问题的,但是注意看底下,由于我刚敲完virsh start kvm01 就去用ping测试,结果当然是ping不通的因为虚拟机正在启动的过程中,网络的配置文件还没有加载起来!!!
二、克隆
1.克隆是把虚拟机整个复制一份
2.通过克隆可快速创建一个同样的虚拟机,提高创建效率
使用virt-clone实现kvm虚拟机克隆
步骤
查看虚拟机状态,确保为关闭状态
virsh list --all
克隆虚拟机
virt-clone -o 源虚拟机名称 -n 克隆的虚拟机名称 -f 克隆的虚拟机磁盘镜像路径
[[email protected] ~]# virt-clone -okvm01 -n kvm02 -f /kvm/kvm02.qcow2
检验
启动虚拟机
virsh start 虚拟机名称
[[email protected] ~]# virsh start kvm02
三、快照
注意:到这里virsh 就不再支持以raw格式的磁盘 镜像了
1.快照是将虚拟机系统的某个状态保存起来
2.通过快照可快速恢复虚拟机的系统到某个状态
kvm快照要依赖qcow2格式的磁盘镜像
创建快照
virsh snapshot-create 虚拟机名称
[[email protected] ~]# virsh snapshot-create kvm02
查看快照信息
virsh snapshot-list 虚拟机名称
[[email protected] ~]# virsh snapshot-list kvm02
恢复虚拟机系统状态至快照
virsh snapshot-revert 虚拟机名称 快照序号 --force
[[email protected] ~]# virshsnapshot-revert kvm01 1438222709 --force
恢复快照后是没有任何的提示信息的,这个需要自己连接虚拟机来确定是否恢复了快照
删除快照
virsh snapshot-delete 虚拟机名称 快照序号
[[email protected] ~]# virshsnapshot-delete kvm02 1438181040