KVM 存储虚拟化

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

[email protected]:~# 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。

时间: 2024-10-06 21:28:30

KVM 存储虚拟化的相关文章

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

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种类型,后面会详细讨论.Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘. 下面我们学习不同类型的 Storage Pool 目录类型的 Storage Pool 文件目录是最常用的 Storage Pool 类型.KVM 将宿主机目录 /v

KVM存储虚拟化

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的.Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型:Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配 给虚拟机,Volume 在虚拟机中看到的就是一块硬盘. 文件目录是最常用的 Storage Pool 类型.KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool 创建Storage P

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析

Xen,VMware ESXi,Hyper-V和KVM等虚拟化技术的原理解析 2018年04月03日 13:51:55 阅读数:936 XEN 与 VMware ESXi,Hyper-V 以及 KVM 特点比较: XEN 有简化虚拟模式,不需要设备驱动,能够保证每个虚拟用户系统相互独立,依赖于 service domains 来完成一些功能: Vmware ESXI 与 XEN 比较类似,包含设备驱动以及管理栈等基本要素,硬件支持依赖于 VMware 创建的驱动: Hyper-V 是基于 XEN

kvm存储虚拟机介绍

KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的.Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型:Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘.  二.目录类型的 Storage Pool文件目录是最常用的 Storage Pool 类型.KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Stor

云计算学习(4-3)虚拟化技术-存储虚拟化

云计算学习(4-3)虚拟化技术-存储虚拟化 存储虚拟化:统一存取接口,屏蔽物理实现. 本地存储:本地硬盘 光纤FC存储:光纤 ISCSI存储:TCP/IP NFS存储:TCP/IP,NAS 分布式存储:FunsionStorage,能够形成存储池,像普通设备一样提供稳定的存储服务. 虚拟化存储:用文件系统屏蔽了底层设备差异,能够提供高级特性. 非虚拟化存储:没有高级特性,但性能更好. 裸设备映射: 优点: 精简配置:能够让虚拟磁盘不必一次占用所有空间,而是随使用逐渐增长. 快照:用来快速备份和恢

存储虚拟化(二)

上篇我们介绍了存储虚拟化出现的背景及什么是存储虚拟化,下面详细介绍下由于实现位置不同而划分的几种存储虚拟化. 一.基于主机的存储虚拟化 当仅需要单个主机服务器(或单个集群)访问多个磁盘阵列时,可以使用基于主机的存储虚拟化技术.该技术又称为逻辑卷管理,通常由主机操作系统下的逻辑卷管理软件实现.逻辑卷管理软件把多个不同的磁盘阵列映射成一个虚拟的逻辑块空间.当存储需求增加时,逻辑管理软件能把部分逻辑空间映射到新增的磁盘阵列,因此可以在不中断运行的情况下增加或减少物理存储设备. 基于主机的存储虚拟化示意

存储虚拟化(一)

一.存储虚拟化的产生 随着 IT 技术的发展: ·公司爆炸式的数据增长导致对存储容量的需求增长极快:此外,管理这些存储环境的成本远远高于硬件的采购成本:同时要求数据管理人员需要更好的工具来管理 增长的数据量.日益增长的存储空间和随之而来的管理压力亟待新的技术解决. ·一些独立的研究报告披露,磁盘存储系统的平均利用率仅为35%到50%.由于有很多存储设备是被固定连结在某个主机服务器上,它的多余空间无法被其他主机利用, 并且,也会形成很多存储系统的孤岛. ·由于存储扩容或者改变配置而造成的计划内或计

kvm嵌套虚拟化

KVM嵌套虚拟化 嵌套虚拟化指的是在宿主机上创建的虚拟机中,再运行hypervisor,从而在虚拟机里面再运行一个虚拟机,可以是KVM嵌套KVM,Xen嵌套Xen,或者是不同类型hypervisor的嵌套(如KVM嵌套Xen,VMware嵌套KVM等) 下面开始嵌套虚拟化的实验,我选择的类型是KVM  on KVM的嵌套 实验环境: 主机名 角色 KVM 宿主机 vm1 第一层虚拟机 vm1-1 第二层虚拟机 首先宿主机的内核版本需要3.0+,其次内核需要打开nested的功能,让内核支持嵌套虚

说说存储虚拟化技术(1 )

存储虚拟化技术其实不是一个新东西,在很早以前就有了存储虚拟化技术.技术发展到今天,在存储虚拟化技术之上又诞生了其他很多新的概念和技术.记得在2006年的时候,我们实验室在做一个非常宏大的项目叫VSDS,这个项目就是一个典型的存储虚拟化项目. 在这个项目中,采用了大量的存储虚拟化技术.首先将磁盘进行虚拟化,通过池化的方式将所有磁盘存储资源进行管理,然后再将磁盘存储池中的资源分配给系统中的存储卷.形成存储卷资源的动态分配.这个概念在当时是非常前卫的,和LVM卷管理系统有着截然不同的存储资源管理效果.