开发者社区> cloudman6> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

KVM 存储虚拟化 - 每天5分钟玩转 OpenStack(7)

简介: KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。 Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论。Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。
+关注继续查看

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。

Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论。Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。

下面我们学习不同类型的 Storage Pool

目录类型的 Storage Pool

文件目录是最常用的 Storage Pool 类型。
KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool。

那么 Volume 是什么呢?
答案就是该目录下面的文件了,一个文件就是一个 Volume。

大家是否还记得我们之前创建第一个虚机 kvm1 的时候,就是将镜像文件 cirros-0.3.3-x8664-disk.img 放到了这个目录下。文件 cirros-0.3.3-x8664-disk.img 也就是Volume,对于 kvm1 来说,就是它的启动磁盘了。

那 KVM 是怎么知道要把 /var/lib/libvirt/images 这个目录当做默认 Storage Pool 的呢? 实际上 KVM 所有可以使用的 Storage Pool 都定义在宿主机的 /etc/libvirt/storage 目录下,每个 Pool 一个 xml 文件,默认有一个 default.xml,其内容如下:

注意:Storage Pool 的类型是 “dir”,目录的路径就是 /var/lib/libvirt/images

下面我们为虚机 kvm1 添加一个新的磁盘,看看有什么变化。 在 virt-manager 中打开 kvm1 的配置页面,右键添加新硬件

在默认 Pool 中创建一个 8G 的卷。

点击 “Finish”,可以看到新磁盘的信息。

在 /var/lib/libvirt/images/ 下多了一个 8G 的文件 kvm1.img

root@ubuntu:~# ls -l /var/lib/libvirt/images/        
total 14044 -rw-r--r-- 1 root root   14417920 Sep  4 11:24 cirros-0.3.3-x86_64-disk.img -rw------- 1 root root 8589934592 Sep  4 21:39 kvm1.img

使用文件做 Volume 有很多优点:存储方便、移植性好、可复制、可远程访问。 前面几个优点都很好理解,这里对“可远程访问”多解释一下。

远程访问的意思是镜像文件不一定都放置到宿主机本地文件系统中,也可以存储在通过网络连接的远程文件系统,比如 NFS,或者是分布式文件系统中,比如 GlusterFS。

这样镜像文件就可以在多个宿主机之间共享,便于虚机在不同宿主机之间做 Live Migration;如果是分布式文件系统,多副本的特性还可以保证镜像文件的高可用。

KVM 支持多种 Volume 文件格式,在添加 Volume 时可以选择

raw 是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。

qcow2 是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。

vmdk 是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。

下一节介绍 LVM 类型的 Storage Pool。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
kvm虚拟化部署
kvm虚拟化部署
0 0
虚拟化平台cloudstack(3)——安装(下)
登录时用户名和密码错误 默认账号密码 admin/password 管理节点安装好后,初始化数据库,完了使用admin和password登陆提示用户名密码错误,查看日志: Fail to generate certificate! 经过检查原来是ssh没有安装,输入: sud...
424 0
虚拟化平台cloudstack(2)——安装(上)
vmware workstation安装ubuntu server12.04 这个其实没什么说的了,下软件,安装,一顿下一步,OK。 安装完成后,为ubuntu server 12.04安装桌面。 使用下面的命令来进行更新源列表和安装图形桌面。
761 0
虚拟化平台cloudstack(1)——介绍
什么是cloudstack CloudStack是一个开源的具有高可用性及扩展性的云计算平台。目前Cloudstack支持管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。
678 0
+关注
cloudman6
云计算深度实践者。《每天5分钟玩转OpenStack》《每天5分钟玩转Docker容器技术》作者。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Mesos,数据中心操作系统的核心
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载