存储虚拟化
存储虚拟化是将来自多个存储设备的物理存储池合并为一个似乎由中央控制台管理的单一存储设备(或可用存储容量池)。该技术依靠软件从物理设备中识别可用的存储容量,然后将该容量聚合为一个存储池,供传统架构服务器或虚拟机在虚拟环境中使用(虚拟机).
的虚拟存储软件拦截来自物理或虚拟机的输入/输出(I/O)请求,并将这些请求发送到存储设备的适当物理位置,这些存储设备是虚拟化环境中整个存储池的一部分。对于用户来说,组成存储池的各种存储资源是看不见的,因此虚拟存储看起来就像一个可以接受标准读写的单个物理驱动器、共享或逻辑单元号(LUN)。
存储虚拟化的基本形式是由一个软件虚拟化层之间的硬件存储资源和许多个人电脑(PC),服务器或任何设备访问存储,使操作系统(操作系统)和应用程序访问和使用存储。即使是一个突袭阵列有时可以被认为是一种存储虚拟化。阵列中的多个物理硬盘以单个存储设备的形式呈现给用户,在后台将数据分条并复制到多个硬盘,以提高I/O性能,并在单个硬盘故障时保护数据。
存储虚拟化的类型:块和文件
虚拟化存储有两种基本方法:基于文件的或基于块的。基于文件的存储虚拟化是一个特定的用例,应用于网络连接的存储(NAS)系统。使用服务器消息块(SMB)或通用互联网档案系统(CIFS),或网络文件系统(NFS)协议,基于文件的存储虚拟化打破了正常NAS阵列中正在访问的数据与物理内存位置之间的依赖关系。NAS资源池使得在后台更容易处理文件迁移,这将有助于提高性能。通常,NAS系统的管理并不复杂,但是存储虚拟化极大地简化了通过单个管理控制台管理多个NAS设备的任务。
基于块或块访问存储——通常通过光纤通道(FC)或Internet小型计算机系统接口(iSCSI)存储区域网络访问的存储资源(圣)——比基于文件的存储系统更频繁地虚拟化。基于块的系统从存储设备(如硬盘驱动器(HDD)或固态内存设备)中的实际物理内存块抽象逻辑存储(如驱动器分区)。因为块存储系统的操作方式与本地驱动器软件类似,所以读写过程的开销更少,因此块存储系统的性能比基于文件的系统更好。
块操作是指虚拟化管理软件收集所有虚拟化阵列上可用的存储空间块的容量,并将其池化为共享资源,分配给任意数量的虚拟机、裸金属服务器或容器使用。存储虚拟化对块存储特别有利。与NAS系统不同,管理san可能是一个耗时的过程;例如,将多个块存储系统合并到一个管理界面下,通常可以让用户避免繁琐的LUN配置步骤,这可以大大节省时间。
基于块的虚拟化的早期版本是IBM的SAN卷控制器(SVC),现在称为IBM Spectrum Virtualize。该软件运行在一台设备或存储阵列上,通过将lun虚拟化到与存储控制器相连的服务器上,从而创建一个存储池。Spectrum virtualization还允许客户将块数据分级存储到公有云存储中。
另一个早期的存储虚拟化产品是日立数据系统公司的TagmaStore通用存储平台,现在被称为日立虚拟存储平台(VSP)。日立基于阵列的存储虚拟化技术使客户能够跨不同阵列创建一个存储池,即使是来自其他领先存储供应商的存储池。
存储虚拟化如何工作
要提供对存储在物理存储设备上的数据的访问,虚拟化软件需要使用元数据创建映射,或者在某些情况下使用算法动态地定位数据。虚拟化软件然后拦截来自应用程序的读写请求,并使用它创建的映射来查找数据或将数据保存到适当的物理设备上。这个过程类似于PC操作系统在检索或保存应用程序数据时使用的方法。
存储虚拟化掩盖了存储系统(如SAN)的实际复杂性,帮助存储管理员更轻松、更短时间地执行备份、归档和恢复任务。
带内虚拟化和带外虚拟化
通常有两种类型的虚拟化可以应用于存储基础设施:带内虚拟化和带外虚拟化。
- 带内虚拟化——也称为对称虚拟化——在同一通道或层中处理正在读取或保存的数据和控制信息(例如,I/O指令、元数据)。这种设置允许存储虚拟化提供更高级的操作和管理功能,如数据缓存和复制服务。
- 带外虚拟化(或称非对称虚拟化)将数据和控制路径分开。由于虚拟化设施只能看到控制指令,高级存储特性通常不可用。
虚拟化方法
今天的存储虚拟化通常是指从多个物理设备积累的容量,然后在虚拟化环境中重新分配。现代IT方法,如超融合基础设施(人机交互)和容器化,利用虚拟存储,以及虚拟计算能力和通常的虚拟网络容量。
尽管磁带存储作为备份目标媒体的作用正在减弱,但它仍然被广泛用于归档不常访问的数据。档案数据往往是大量的;存储虚拟化可以用于磁带介质,使管理大型数据存储变得更容易。线性磁带文件系统(Linear tape file system, LTFS)是一种磁带虚拟化形式,它使磁带看起来像典型的NAS文件存储设备,并且使用磁带内容的文件级目录更容易从磁带中查找和恢复数据。
有可以应用多种存储方式对于虚拟化环境:
基于主机的存储虚拟化是基于软件的,在人机交互系统和云存储中最常见。在这种类型的虚拟化中,主机或由多台主机组成的超融合系统向客户机器提供不同容量的虚拟驱动器,无论它们是企业环境中的虚拟机、物理服务器还是访问文件共享或云存储的pc。所有的虚拟化和管理都是通过软件在主机级完成的,物理存储几乎可以是任何设备或阵列。一些服务器操作系统具有内置的虚拟化功能,如Windows server存储空间。
基于数组的存储虚拟化通常指阵列作为存储的主控制器,运行虚拟化软件,将其他阵列的存储资源池化,并将不同类型的物理存储呈现为存储层。存储层可以由不同虚拟化存储阵列上的固态硬盘(ssd)或hdd组成;物理位置和特定的阵列对访问存储的服务器或用户是隐藏的。
基于网络的存储虚拟化是当今企业中最常用的形式。网络设备(如智能交换机或特制的服务器)连接到FC或iSCSI SAN中的所有存储设备,并将存储网络中的存储呈现为一个单一的虚拟池。
存储虚拟化的好处和用途
二十多年前首次引入存储虚拟化时,它往往难以实现,而且在可用技术可以使用的存储阵列的制造和模型方面的适用性有限。因为它最初是基于主机的,所以必须在所有需要访问池存储资源的服务器上安装和维护存储虚拟化软件。随着它的成熟,可以以各种方式实现该技术(如上所述),这使得在各种环境中部署更容易,因为用户可以选择对他们的商店现有基础设施最有意义的虚拟化方法。
虚拟化软件的进一步开发,以及存储管理倡议规范(Storage Management Initiative Specification, SMI-S)等标准,允许虚拟化产品与更广泛的存储系统一起工作,这使得虚拟化成为一个更有吸引力的选择,对于那些苦苦挣扎于螺旋形存储容量的企业来说。
存储虚拟化的一些好处和用途包括:
- 更容易管理。使用一个管理控制台来监视和维护多个虚拟化存储阵列,减少了管理物理系统所需的时间和精力。当虚拟化池中有来自多个供应商的存储系统时,这尤其有用。
- 更好的存储利用率。跨多个系统共享存储容量可以更容易地分配,从而更有效地分配和使用容量。对于不连接的、完全不同的系统,很可能有些系统会以满负荷运行或接近满负荷运行,而有些系统几乎不被使用。
- 延长旧存储系统的寿命。虚拟化提供了一种很好的方式来扩展旧存储设备的用途,将它们作为处理归档或不太关键数据的层包含在池中。
- 普遍添加高级功能。一些更高级的存储特性,如分层、缓存和复制,可以在虚拟化级别实现。这有助于在所有成员系统中标准化这些实践,并可以将这些高级功能交付给可能缺乏这些功能的系统。