目录
什么是虚拟化
存储虚拟化本质上是对存储硬件资源进行抽象化,通过在物理存储系统和服务器之间加入了一个虚拟层,将物理资源的逻辑映射与物理存储分开,通过该虚拟层可以管理和控制所有的逻辑映射资源,从而管理和控制所有的物理存储资源并对服务器提供存储,不需要关注底层物理存储设备的细节
对于管理员来说
通过存储虚拟化实现将多种、多个存储设备的集中化管理,并根据具体的需求把存储资源动态的分配给各个服务器或应用
对于用户来说
存储虚拟化就像是一个巨大的"资源池",用户不关心硬件具体使用的是什么样子的硬盘,也不关心自己的数据经过哪一条路径通往哪一个具体的存储设备,只需要关心存储池中的资源够不够用
存储虚拟化注意事项
在存储虚拟化中,所有用户的存储都是以文件的形式呈现的;虚拟机的磁盘、快照、虚拟机配置等都对应一个独立的文件
通过虚拟化技术,能够存储资源整合到一起后对外提供服务,同时实现数据安全性、容量提升、性能提升等效果
存储的基本概念
异构存储:存储系统中不同类型的存储设备的集成(包含不同的存储介质、厂商等)
存储网络架构:存储网络架构------DAS、NAS、SAN、分布式组网架构-CSDN博客
机械硬盘与固态硬盘:机械硬盘(HDD)与固态硬盘(SSD)-CSDN博客
磁盘阵列RAID:存储RAID------存储基本概念与RAID级别讲解-CSDN博客
存储虚拟化的分类
存储虚拟化的实现
存储虚拟化可以在三个层次上完成(虚拟化发生的位置)
基于主机的虚拟化、基于存储设备的虚拟化、基于网络的虚拟化
具体的实现方式有两种
带内虚拟化(in-band)、带外虚拟化(out-of-band)
具体的实现结果有五种(虚拟化对象)
块虚拟化、磁盘虚拟化、磁带虚拟化、文件系统虚拟化、文件/记录虚拟化
按照虚拟化发生的位置分类
基于主机的虚拟化
工作原理(将虚拟化管理软件安装在一个或多个主机上)
在主机层通过虚拟化管理软件实现虚拟化,通过虚拟化管理软件在物理存储资源和操作系统之间建立之间建立一个虚拟层,虚拟化层能够为服务器连接到的各种存储设备(DAS、SAN等方式连接到存储设备)进行控制,一般用于单个服务器(单个集群)访问多个磁盘阵列的场景,也可用于在不同的磁盘阵列之间做数据镜像保护;
主机将获取到的物理存储资源通过虚拟化层组成逻辑磁盘或逻辑卷(即将多个不同的磁盘阵列映射为一个虚拟的逻辑磁盘),使得主机的操作系统在运行应用程序的时候就好像与一个单一的存储设备直接通信,该逻辑磁盘更够根据需要进行扩容和缩容
注意事项
在现网中这个软件通常是由操作系统下的逻辑卷管理软件实现的(例如Windows下自带的卷管理器,不同的操作系统进行逻辑卷管理的软件也不相同);也有独立的虚拟卷管理软件(例如BIM的Tivloli等)
优点
实现最容易,设备成本最低
此时的存储虚拟化通过服务器特定软件软件来完成,经过虚拟化的存储空间可以跨越多个异构的磁盘阵列,能够实现多机间的共享存储、存储资源管理、数据复制和数据迁移、远程备份、集群系统等存储管理任务
不需要硬件支持,不修改现有系统架构
缺点
控制软件是在主机的操作系统层面去运行的,会占用主机的资源
可扩展性差,实际运行的性能不是很好
基于存储设备的虚拟化
存储设备虚拟化又称为存储控制器的虚拟化
工作原理(将虚拟化管理软件安装在存储设备的主控制器上)
在物理存储资源层实现虚拟化,将虚拟化层放在存储设备上的适配器、控制器来完成(即在存储设备上的存储控制器上加入虚拟化功能),将服务器的存储虚拟化工作分离出来,直接在存储设备上实现,极大地提高了性能;存储阵列充当主存储控制器,使用虚拟化软件汇集本磁盘阵列或其它阵列的存储资源,并够以层的形式向外提供不同类型的物理存储,能够将一个阵列上的存储容量划分为多个存储空间LUN来供不同的主机系统访问,一般用于多个主机服务器要访问同一个磁盘阵列的场景,也可用于在同一存储设备内部进行数据保护和迁移;
优点
虚拟化软件运行于存储设备中专门的嵌入式系统上,不占用主机资源
数据管理功能丰富,可以提供一些存储高级业务(精简配置、快照、链接克隆等)
缺点
一般只可以实现对本设备内磁盘的虚拟化
不同厂商的存储设备之间无法互相管理,异构产品之间很难实现存储级联
多套存储设备需要配置多套数据管理软件,成本较高
基于网络的虚拟化
工作原理(在存储网络的网络设备中添加虚拟化引擎实现虚拟化)
通过在存储网络设备上添加虚拟化引擎来实现是目前的主流技术
目前有的解决方案为在存储区域网络采用智能化的路由器、交换机、元数据服务器等来实现虚拟化的工作(这些设备都内置虚拟化引擎);所有的存储设备都通过网络设备连接,然后将以单个虚拟池的形式出现在存储网络中;一般用于当多个主机服务器需要访问多个异构存储设备,也用于异构存储系统的整合和统一数据管理
优点
与主机无关,不占用主机资源
支持异构存储设备
能够统一不同存储设备的数据管理功能,构建同一的管理平台,可扩展性好
缺点
性能有损耗
部分厂商数据管理能力弱,难以达到虚拟化同一数据管理的目的
按照虚拟化实现方式分类
带内虚拟化
控制信令和数据走的是同一条线
在存储虚拟化中,可以理解为在主服务器和存储设备之间实现虚拟化,实现虚拟化的部分就是主机到存储设备的访问路径;即在在数据读写之前,在主机到存储设备的路径上已经实现了存储虚拟化
实例
带内虚拟化可以基于主机、设备、网络实现;目前的虚拟化引擎基本上都是带内虚拟化(例如 IBM的SVC、Netapp的V-series、HDS的USP系列等)
带外虚拟化
控制信令和实际数据走的不是同一条路,控制信令走单独的通路,收到优待
在存储虚拟化中,可以理解为实现虚拟化设备安装在主机和存储之间的数据通道之外,实现虚拟化的部分并不在主机到存储设备的访问路径上;即在数据读写之前,已经做好了虚拟化的工作,只不过实现虚拟化的部分并不在主机到存储设备的访问路径上
实例
带外虚拟技术只能是基于存储网络实现;例如IBM的SanFS就是带外虚拟化、使用元数据服务器实现网络虚拟化也是带外虚拟化类型
按照虚拟化的对象分类
块虚拟化
LUN虚拟化就是将多块磁盘创建RAID,然后将RAID划分成逻辑卷LUN
块虚拟化就是将硬盘切为多个逻辑块,然后再将逻辑块组成LUN,然后基于LUN做RAID组
块虚拟化和LUN虚拟化的发展为RAID1.5→RAID2.0→RAID2.0+
存储RAID------RAID2.0+技术(块虚拟化与LUN虚拟化)-CSDN博客
磁盘虚拟化
磁盘虚拟化就是将扇区地址使用逻辑块表示,屏蔽底层物理磁盘的概念(向使用者提供虚拟磁盘);使得使用者无需了解磁盘的内部结构,通过块地址就可以访问磁盘
该方式需要针对于磁盘的逻辑地址进行管理
磁带库虚拟化
通过VTL虚拟磁带库技术将磁盘阵列虚拟为磁带库,在本质上是磁盘阵列,但是在软件功能上确模拟磁带备份的形式
对于管理员来说,它就是一个磁带库,对它的管理与对物理磁带库的管理一致
特点:虚拟磁带带库采用基于RAID保护的磁盘阵列,提高了可靠性和性能
文件系统虚拟化
将多个文件系统整合成一个虚拟文件系统,用户通过虚拟文件系统访问数据对象
底层分区对用户来说是透明的
例如Linux的VFS虚拟文件系统:Linux 磁盘挂载2(文件系统格式化、磁盘挂载、VFS虚拟化文件系统)-CSDN博客
虚拟机磁盘类型
按照磁盘的特性分类
普通磁盘
为虚拟机创建普通磁盘时,创建时的磁盘空间是多少,虚拟机实际使用的磁盘空间就是多少
并且在创建后,会对该磁盘全部用0来填充(立即分配所有空间,并全部使用0填充)
创建的速度慢;性能最好,安全性最好
普通延迟置零磁盘
与普通磁盘相比,创建磁盘时不会进行填0操作;在使用的时候进行填0操作(立即分配所有空间,在写前置0)
磁盘下放速度快;性能较好
精简磁盘
为虚拟机创建精简磁盘时不进行空间分配,在虚拟机进行数据写入时才进行空间分配(写前分配空间,使用多少分配多少)
可以分配大于存储空间的大小,提高磁盘利用率,节省磁盘空间;性能较低
差分磁盘
差分磁盘必须基于一个已有的父磁盘来创建,差分磁盘中的文件头会记录父磁盘的路径,数据区域只记录和父磁盘差异的数据;差分磁盘的大小随着数据的写入而自动增长
差分磁盘不能脱离父磁盘独立存在;差分磁盘创建后,父磁盘里面写入的所有数据都不会变
虚拟机进行数据写入操作的过程:如果虚拟机想往磁盘写入新的数据,将更改的数据写入到差分磁盘中
虚拟机进行数据读取操作的过程:当对差分磁盘进行读操作时,会先读取差分磁盘中的数据,如果不存在,则通过文件头的索引找到父磁盘,并进行数据读取
按照磁盘的安全性分类
持久化磁盘
可以做到数据永久保存
数据不受快照的影响,当还原系统状态或者回滚快照时都不会影响这个持久硬盘的数据
即当创建快照时,不对该磁盘数据进行快照;进行快照回滚时也不进行还原
非持久化磁盘
可以做到数据不永久保存,即关机就进行数据还原(适用于自动还原场景)
对于非持久化磁盘,会先创建差分磁盘,在主机运行过程中会将更改的数据全部写入差分磁盘,在关机之后将差分磁盘的数据删除,达到还原的目的