默认存储池
/var/lib/libvirt/images/
1、存储池管理
1.创建基于文件夹的存储池(目录)
# mkdir -p /data/vmfs
2.定义存储池与其目录
格式:virsh pool-define-as 存储池名称 --type 类型 --target 定义到哪个目录
# virsh pool-define-as vmdisk --type dir --target /data/vmfs
3.创建已定义的存储池
(1)创建已定义的存储池
# virsh pool-build vmdisk
(2)查看已定义的存储池,存储池不激活无法使用
# virsh pool-list --all
4.激活并自动启动已定义的存储池
# virsh pool-start vmdisk
# virsh pool-autostart vmdisk
这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。
5.在存储池中创建虚拟机存储卷
格式:virsh vol-create-as 创建到哪个存储池 卷的名字(后缀可自定义) 空间大小 --format 指定格式
# virsh vol-create-as vmdisk oeltesto3.qcow2 20G --format qcow2
注1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池,虚拟机存储卷创建完成后,剩下的操作与无存储卷的方式无任何区别了。
注2:KVM存储池也要用于虚拟机迁移任务。
查看是否创建成功
现在开始创建虚拟机 kvm-安装虚拟机
6.存储池相关管理命令
(1)在存储池中删除虚拟机存储卷
# virsh vol-delete --pool vmdisk oeltesto3.qcow2
(2)取消激活存储池
# virsh pool-destroy vmdisk
(3)删除存储池定义的目录/data/vmfs
# virsh pool-delete vmdisk
(4)取消定义存储池
# virsh pool-undefine vmdisk
2、磁盘格式
1.磁盘镜像文件格式
raw:原始格式,性能最好
qcow:写时拷贝copy on write,性能远不能和raw相比,所以很快折了,所以出现了qcow2
qcow2:性能上还是不如raw,但是raw不支持快照,qcow2支持快照。
qed:现在默认安装好的用的是raw格式,所有做快照要把他转换成qcow2格式
什么叫写时拷贝?
raw立刻分配空间,不管你有没有用到那么多空间
qcow2只是承诺给你分配空间,但是只有当你需要用空间的时候,才会给你空间最多只给你承诺空间的大小,避免空间浪费
2.创建磁盘文件
创建qcow2磁盘文件:
# qemu-img create -f qcow2 /var/lib/libvirt/images/test.qcow2 3G
创建row磁盘文件:
# qemu-img create -f raw /var/lib/libvirt/images/test.img 2G
查看占用空间大小
3、挂载磁盘
作为虚拟化环境管理员,你肯定遇到过虚拟机无法启动的情况。实施排错时,你需要对虚拟机的内部进行检查。而Libguestfs Linux工具集可以在这种情况下为你提供帮助。
利用 Libguestfs找出损坏的虚拟机文件
Libguestfs允许在虚拟机上挂载任何类型的文件系统,以便修复启动故障。
使用 Libguestfs,首先需要使用 Libvirt. Libvirt是一个管理接口,可以和KVM、Xen和其他一些基于 Liunx的虚拟机相互连接。 Libguestfs的功能更加强大,可以打开 Windows虚拟机上的文件。但是首先你需要将虚拟机迁移到
libguestfs可用的环境当中,也就是 Linux环境。
假如你是 vmware的ESX虚拟机,为了将虚拟机迁移到 Linux当中,你可以使用SSH连接到ESXi主机,这意味着你首先需要启用ESXi主机上的SSH访问方式。完成之后,在 Linux平台上运行下面的scp命令
查看磁盘镜像分区信息:
# virt-df -h -d vml
# virt-filesystems -d vml
挂载磁盘镜像分区:
# guestmount -d vm1 -m /dev/centos/root --rw /mnt
取消挂载:
# guestunmount /mnt