kvm高级命令
磁盘镜像文件格式:
raw 原始格式,性能最好 直接占用你一开始给多少 系统就占多少 不支持快照
qcow2 性能上还是不如raw,有一个写时拷贝,但是raw不支持快照,qcow2支持快照。
什么叫写时拷贝?
raw立刻分配空间,不管你有没有用到那么多空间
qcow2只是承诺给你分配空间,但是只有当你需要用空间的时候,才会给你空间。最多只给你承诺空间的大小,避免空间浪费
工作当中用哪个?看你用不用快照。
工作当中虚拟机如果有多个备份,一个坏了,再起一个就行了,所有没必要用快照。当然也不一定。
数据绝对不会存储到本地。
qemu-kvm qemu是早先的一个模拟器,kvm是基于qemu发展出来的。
这个比如说,你建立好了一个磁盘,你发现你这个磁盘,想要拍快照,不能拍快照,这个时候就需要修改磁盘格式
建立磁盘文件:
首先都要进入到虚拟机默认允许加载的文件下面
[root@mingqing images]# pwd
/var/lib/libvirt/images
建立qcow2格式磁盘文件:
[root@youngfit ~]# qemu-img create -f qcow2 test.qcow2 20G
建立raw格式磁盘文件:
[root@youngfit ~]# qemu-img create -f raw test.raw 20G
查看已经创建的虚拟磁盘文件:
[root@youngfit ~]# qemu-img info test.qcow2
磁盘镜像raw格式转换为qcow2
建立raw格式磁盘文件:
[root@youngfit ~]# qemu-img create -f raw qf.raw 4G
[root@youngfit ~]# qemu-img info qf.raw
image: qf.raw
file format: raw //格式为raw格式
virtual size: 5.0G (5368709120 bytes)
disk size: 0
将qf.raw磁盘添加到某台虚拟机上(这里的虚拟机名称为"test3")
[root@youngfit ~]# virsh edit test3
vim修改的需要重新加载配置文件
[root@youngfit ~]# virsh define /etc/libvirt/qemu/test3.xml
点击进入test3虚拟机的操作界面,发现
无法点击拍快照
磁盘格式的转换:
这里注意是 -大O 不是零 raw格式转换成qcow2,加上绝对路径
[root@youngfit images]# qemu-img convert -f raw -O qcow2 /var/lib/libvirt/images/qf.raw /var/lib/libvirt/images/qf.qcow2
转换之后会发现生成了我们指定的文件qf.qcow2
[root@youngfit images]# ll -h
total 11G
-rw-r--r-- 1 root root 193K Jul 12 10:31 centos7.0-1.qcow2
-rw-------. 1 root root 9.1G Jul 12 11:48 centos7.0.qcow2
-rw-r--r-- 1 root root 193K Jul 12 13:23 qf.qcow2
-rw-r--r-- 1 root root 5.0G Jul 12 12:09 qf.raw
-rw------- 1 root root 1.3G Jul 12 13:08 test3.qcow2
查看磁盘镜像格式,发现已转换为qcow2格式
[root@youngfit images]# qemu-img info qf.qcow2
image: qf.qcow2
file format: qcow2
virtual size: 5.0G (5368709120 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
重新添加上去
[root@youngfit images]# virsh edit test3
vim修改的要重新加载配置文件
[root@youngfit images]# virsh define /etc/libvirt/qemu/test3.xml
Domain test3 defined from /etc/libvirt/qemu/test3.xml
可以正常拍摄快照拉
挂载磁盘
这里讲一下,举例说一下,你的虚拟机打不开拉,不知道什么原因,里面有很多重要的文件都需要拷贝出来,这个时候就出现了挂载磁盘,把虚拟机的磁盘挂载到能打开的虚拟机上,进行拷贝文件
将vm2虚拟机先关闭 模拟打不开
查看vm2的磁盘镜像分区信息:
宿主机上面操作
[root@kvm-server images]# virt-df -h -d vm2
文件系统 大小 已用空间 可用空间 使用百分比%
vm2:/dev/sda1 1014M 92M 922M 10%
vm2:/dev/centos/root 3.5G 863M 2.6G 25%
1.创建一个挂载目录
[root@kvm-server images]# mkdir /test
2.挂载虚拟机的跟分区到test目录
[root@kvm-server images]# guestmount -d vm2 -m /dev/centos/root --rw /test/
进入到目录下面
[root@kvm-server images]# cd /test/
[root@kvm-server test]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@kvm-server test]# cat etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
就可以进项拷贝你想要的文件拉
取消挂载
[root@kvm-server ~]# guestunmount /test