一文让你秒懂存储虚拟化

一、存储虚拟化概念

存储设备的能力、接口协议等差异性很大,存储虚拟化技术可以将不同存储设备进行格式化,将各种存储资源转化为统一管理的数据存储资源,可以用来存储虚拟机磁盘、虚拟机配置信息、快照等信息。用户对存储的管理更加同质化。

虚拟机磁盘、快照等内存均以文件的形式存放在数据存储上,所有业务操作均可以转化成对文件的操作,操作更加直观、便捷。

存储虚拟化可以解决传统DAS、NAS存储架构中单点故障的问题,可以保证存储的可用性和连续性。

实现存储虚拟化,最核心问题就是如何实现从逻辑地址到物理地址的转换

二、存储虚拟化的分类

根据SAN中存储虚拟化实现方式的不同,可以划分为三个层次:主机级、存储设备级和存储网络级。

(1)主机级

主机的虚拟化将虚拟化层放在SAN中的应用服务器上,通过改造操作系统的文件系统层或者设备层来完成卷逻辑地址到物理地址的转换,这种方式实现起来比较简单,但是存在单点故障和安装调试复杂的缺点。

⑵存储设备级

即将存储虚拟化实现在实际的物理存储设备上面,例如磁盘阵列。这样的做法的特点是兼容性高,屏蔽各种操作系统的细节,但是在跨盘阵的分布式虚拟化的设计上有局限性。

(3)存储网络级

特点为充分利用网络资源,在实现过程中,既能使用户感觉不到虚拟化的存在,而且操作上屏蔽各种细节,符合存储网格的发展趋势,同时具有很高的扩展性、灵活性。

  • 存储虚拟化可分为“带内”和“带外”两种基本类型。两者最显著的特点是管理路径和生产路径是否重叠,如果重叠,会发生争用带宽的问题,使得生产系统的效率降低。带内虚拟技术是在数据读写的过程中,在主机到存储设备的路径上实现存储虚拟化;而带外虚拟技术,是在数据读写之前,就已经做好了虚拟工作,而且实现虚拟的部分并不在主机到存储设备的访问路径上,所以带内虚拟技术可以基于主机、网络、设备和网络实现,而带外虚拟技术则只能是基于存储网络实现。

三、存储模型

存储虚拟化是将存储设备抽象为数据存储,虚拟机在数据存储中作为一组文件存储在自己的目录中。

数据存储是逻辑容器,类似于文件系统,它将各个存储设备的特性隐藏起来,并提供一个统一的模型来存储虚拟机文件。

  • 一个存储资源可以有多个存储设备

  • 一个数据存储和一个存储设备对应

  • 数据存储承载了具体的虚拟机业务,例如创建磁盘等

FusionCompute可使用的存储资源来自主机本地磁盘或专用的存储设备。专用的存储设备与主机之间应通过网线或光纤连通。

例如:将一个SAN设备【存储资源】分配的一个LUN【存储设备】接入到FusionCompute环境成为一个数据存储【数据存储】,可以在该数据存储上创建运行业务的虚拟机,对外提供服务。

华为云计算存储模型

存储资源

  • FusionCompute的存储资源包括:

IP SAN、FC SAN、Advanced SAN、本地磁盘、FusionStorage和NAS

。IP SAN是通过iscsi链路和主机建立连接。

。FC SAN是通过光纤通道和主机连接的,主机连接SAN设备后可以扫描存储设备(LUN) 。

。Advanced SAN是通过SMI-S接口扫描、管理磁盘的。

  • Advanced SAN是一种特殊的IP-SAN,兼容华为OceanStor 系列存储。

  • Advanced SAN与VIMS不同的是,在创建虚拟机磁盘时创建的是LUN,并与虚拟机进行绑定。作为虚拟机的磁盘使用

  • Advanced SAN在Advanced SAN V3存储中创建的磁盘,物理设备需要一部分空间用以保存元数据,从而会带来一些空间损耗。

  • SMI-S (Storage Management Interface Specification 存储管理接口标准)是SNIA开发的一种标准管理接口,旨在减轻多厂商SAN(存储区域网络)环境的管理负担。SMI-S 为各种网络组件提供了一个通用管理接口,减小了SAN管理的复杂性。

。FusionStorage是通过其管理结点提供的接口管理存储的。

  • FusionStorage是华为Server SAN产品;Server SAN是利用存储软件和服务器构建起来的SAN存储技术。

。NAS通过NFS协议扫描和挂载共享目录。

  • 主机访问存储资源:

。先需要添加存储资源。

。再选定主机并关联存储资源。

存储资源使用对比

  • 存储卸载:指将部分存储操作(模板部署、删除清零等操作)下移到存储侧进行,这样做可以不浪费主机侧资源,同时也可以提升操作效率。

  • 虚拟化:对于LUN或者本地磁盘,在不支持虚拟化的场景不能支持快照,链接克隆等高级功能,但是所创建的卷具有很好的性能。虚拟化后的数据存储,支持各种高级功能,卷格式也支持多种,但是性能低于非虚拟化的存储设备。

存储设备

  • FusionCompute的存储设备有五种:LUN 、本地磁盘、Advanced SAN存储池、FusionStorage存储池和NAS共享目录。

    • LUN在使用前需要在存储侧或者交换机侧进行配置。该配置根据不同的厂家会不一样,具体需要参照存储或交换机配置。

  • 存储设备需要通过主机探测的方式进行扫描来发现

    • 主机需要链接存储资源后才能扫描存储资源所包含的存储设备。

    • 每个主机都能发现各自的存储设备,也能发现共享的存储设备。

数据存储

  • 数据存储是在存储设备上创建的逻辑管理单元:

    • 数据存储需要创建在指定的存储设备上,且一个存储设备只能创建一个数据存储。

    • 数据存储和主机关联,为主机提供资源,数据存储可以关联到多个主机,一个主机也可以使用多个数据存储。

  • 数据存储的使用:

    • 存储设备必须被添加为数据存储才能被使用。

    • 数据存储可用于存放虚拟机磁盘、快照文件。

    • 数据存储的大小依赖于存储设备的大小。

  • 计算集群有共享存储设备时,基于该存储设备建立的数据存储被关联给计算集群中的每个主机。

  • 数据存储是FusionCompute对存储资源上的存储单元进行的统一封装。存储资源封装成数据存储并与主机关联后,就能够进一步创建出若干虚拟磁盘,供虚拟机使用。

  • 能够封装为数据存储的存储单元包括:

  • SAN存储(包括iSCSI或光纤通道的SAN存储)上划分的LUN。

  • Advanced SAN存储。

  • NAS存储上划分的文件系统。

  • FusionStorage上的存储池。

  • 主机的本地硬盘。

  • 主机的本地内存盘。

四、虚拟化存储连接

1.FC SAN存储场景

2.IP SAN存储场景

3.NAS存储场景

虚拟化的存储栈

文件系统

  • 文件系统作用在于提供文件操作接口,屏蔽存储设备的差异,为虚拟化卷文件提供存放空间。

  • 当前FusionCompute所使用的文件系统为:VIMS、EXT4、NFS。

  • 计算集群共享存储设备上的文件系统即为:VIMS文件系统或NFS文件系统。

  • 未加入计算集群的主机,且仅有本地磁盘;该主机的文件系统使用Ext4文件系统。

五、存储虚拟化特性

1.精简磁盘和空间回收

功能特性

  • 支持创建精简磁盘,可以随着用户使用而自动分配空间。

  • 膨胀的精简磁盘不会随着用户删除数据而缩小,使用空间回收工具可以将用户删除的数据空间释放到数据存储。

适用场景

  • 精简磁盘可应用于局点运行初期,用户磁盘使用率低的情况。能够降低初始存储投资及维护成本。存储设备只保存有效数据,不保存预留空间,可以提高存储资源利用率。

  • 空间回收可以提高精简磁盘的使用/分配比,提高存储利用率。

2.快照原理和应用

快照功能特性

  • 快照记录了虚拟机在某一时间点的内容和状态。

  • 通过恢复虚拟机快照使虚拟机多次快速恢复到这一时间点。

  • 快照包含磁盘内容、虚拟机配置信息、内存数据。

  • 多次快照之间保存差量数据,节约存储空间。

适用场景

  • 虚拟机用户在执行一些重大、高危操作前,例如系统补丁,升级,破坏性测试前执行快照,可以用于故障时的快速还原。

  • 用户触发的创建快照和恢复快照操作。

2.1存储虚拟化的快照

创建快照时会生成一个新的差分卷,虚拟机会挂载这个差分卷作为磁盘文件,虚拟机的读请求会重定向到源卷中。

创建快照采用了ROW(Redirect on write)技术,快照后的写操作会进行重定向,所有的写IO都被重定向到新卷中。所有旧数据均保留在只读的源卷中。

2.2快照链

磁盘做多个快照后,会产生一个快照链。

虚拟机卷始终挂载在快照链的最末端。

用户对一个虚拟机进行多次快照操作,可以形成快照链;一个虚拟机生成快照的数量不能超过32个,也是快照链的最大长度。

用户可以将虚拟机从当前状态恢复到快照链中的某个状态。

快照链中任意一个快照都可以删除而不影响其余快照。

3.链接克隆

链接克隆功能特性

  • 链接克隆技术是一种通过将源卷和差分卷组合映射为一个链接克隆卷,提供给虚拟机使用的技术。

  • 一个链接克隆模板可以创建多个链接克隆差分卷,对应创建多个链接克隆虚拟机。

  • 新创建的差分卷占用空间很小,随着虚拟机的使用,空间会逐渐膨胀。

适用场景

  • 能够快速、批量部署虚拟机。

  • 对于类似的虚拟机,公用的数据可以放在模板中,提高存储利用率。

4.虚拟机虚拟磁盘文件迁移(存储热迁移)

虚拟机虚拟磁盘文件迁移功能特性

  • 存储虚拟化支持将虚拟机的磁盘从一个数据存储迁移到另一个数据存储。

  • 可以将虚拟机的所有磁盘整体迁移,也可以单个磁盘分别迁移。

  • 虚拟机的快照可以一起迁移。

  • 虚拟机开启或者关闭时都可以迁移。

适用场景

  • 将数据存储的所有卷迁移后,可以对数据存储进行减容。

  • 可以调整数据存储之间的负荷。

六、存储虚拟化常用功能

1.数据存储扩容原理

在存储端对现有的LUN扩容或添加新LUN之后,在FusionCompute端可以将现有的数据存储进行扩容。数据存储扩容的空间来自于:

  • 原有LUN扩容的新空间

  • 新LUN(图中所示方式)

新增的存储空间以线性映射的方式追加至虚拟块设备末尾。

由于虚拟块设备的信息都是保存在节点内存中,则当其它节点发现数据存储空间有变化时,会自动更新虚拟块设备信息,完成扩容虚拟块设备

1.2虚拟机磁盘扩容

虚拟机磁盘扩容功能特性

  • 可以在不影响虚拟机磁盘现有数据的情况下,将虚拟机磁盘容量扩大。

  • 支持系统磁盘和用户磁盘的扩容,但分区合并需要操作系统支持(XP和WIN7支持用户分区扩容)或第三方工具。

  • 部分操作系统支持进行在线磁盘扩容。

适用场景

  • 初始磁盘分配空间时,可以按需分配,后续不够了可以进行扩容,提高存储设备利用率。

注意点:

  • 虚拟化存储支持以磁盘扩容的方式,增加虚拟机存储空间。

  • 非虚拟化存储场景下,只能通过增加独立的磁盘来实现。

当磁盘所属的数据存储类型为虚拟化本地硬盘、虚拟化SAN存储、NAS存储或FusionStorage时,才能增加磁盘容量。

当磁盘所属的数据存储类型为NAS存储,且磁盘的配置模式为普通时,不支持在线增加磁盘容量。

当磁盘所属的数据存储类型为FusionStorage时,在线增加磁盘容量需关闭虚拟机后再启动虚拟机生效。

当磁盘所属的数据存储类型为虚拟化本地硬盘、虚拟化SAN存储、NAS存储时,在线增加磁盘容量如下操作系统可直接生效,其余操作系统需重启虚拟机生效。

  • Windows Server 2003

  • Windows Server 2008

  • Windows XP

  • Windows 7

2.磁盘裸设备映射

  • 存储直通技术

    • (又称裸设备映射,RDM)为虚拟机提供了一种机制来直接访问物理存储子系统(IPSAN或FCSAN)上的LUN,VM的业务能够直接访问存储设备或直接对存储设备下发控制命令。

  • 技术特点

    • 虚拟机直接通过SCSI命令操作裸存储设备。

    • 兼容FC光纤存储和IP SAN存储。

    • 通过使用裸设备映射,可以让虚拟机识别SCSI磁盘,实现在虚拟机内部下发SCSI命令,交给主机然后透传给存储设备进行处理,最后将应答返回。

  • 适用场景

    • 集群系统软件,降低大量使用物理服务器的成本比如Oracle RAC或MSCS 。

3.设置虚拟机磁盘IO上限

  • 单个LUN提供最大的BPS和IOPS是由物理设备所决定的,主要包括硬盘类型,raid组包含盘数等。

  • 特性功能:

    • 支持查询虚拟机各磁盘实时的IO数据。

    • 支持设置磁盘的最大BPS(每秒读写字节数)和最大IOPS(每秒处理IO个数)。

    • 所有存储类型的虚拟机,都能设置IO上限值,该设置在pvdriver运行时生效。

  • 适用场景:

  • 设置非重要虚拟机磁盘的IO上限,保证在这些虚拟机业务量大时,不会影响到重要的虚拟机业务

如果您对本文有疑问,可以添加小老虎的微信,共同探讨哦,另外,有想领取太阁课程学习资料的小伙伴,想咨询太阁课程价格的小伙伴,你们都可以扫码添加小老虎微信,跟小老虎聊一聊,大家共同努力,出发吧,就是现在!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux内核是一种开源的操作系统内核,是Linux操作系统的核心组成部分。它提供了操作系统与硬件之间的抽象层,负责管理系统的资源、调度任务、提供驱动程序等功能。 Linux内核采用分层的架构,包括硬件抽象层、系统调用层、进程管理层、文件系统层和网络层等。硬件抽象层负责将不同硬件设备的接口统一起来,使得上层的软件可以方便地与硬件进行通信。系统调用层提供了一组API供用户进程调用,如文件操作、网络通信等。进程管理层负责进程的创建、销毁以及调度等任务。文件系统层负责文件的管理和存储网络层负责网络协议的实现和网络通信。 Linux内核的工作原理可以简单概括为以下几个关键步骤。首先,当一台计算机启动时,BIOS会加载内核映像到内存中,并执行启动代码。然后,内核初始化各种数据结构、驱动程序和关键服务。接下来,内核创建一个初始的用户空间进程,称为init进程。init进程是所有其他进程的祖先进程。在此之后,内核根据调度算法来决定哪个进程可以使用CPU,并依次执行。同时,内核会提供一个中断机制,以便处理硬件事件的优先级。 内核还提供了许多系统调用供用户进程调用,以实现对各种功能的访问。当用户进程需要操作文件、创建进程或进行网络通信时,会通过系统调用将请求传递给内核,由内核代表用户进程执行相应的操作。内核通过调度算法来分配CPU时间片,并通过虚拟内存管理来管理内存资源的分配和回收。 总而言之,Linux内核是一个高度可配置和模块化的操作系统内核,通过分层架构和系统调用机制实现了对硬件的抽象和对用户进程的管理。了解Linux内核的架构和工作原理,有助于深入理解Linux操作系统以及开发和调试相关应用程序。 ### 回答2: Linux是一种开源的操作系统内核,其设计目标是为了在不同的计算机硬件平台上提供高效的、稳定的和安全的操作系统服务。 Linux内核的架构可以分为三个主要部分:进程管理、内存管理和文件系统管理。 在进程管理方面,Linux内核使用了多任务处理技术,可以同时运行多个进程。每个进程都有独立的地址空间和资源,通过调度算法可以合理分配CPU时间片,优化系统的响应速度和资源利用率。 在内存管理方面,Linux内核使用了虚拟内存技术,将物理内存和逻辑内存进行了映射,使得每个进程都有独立的地址空间。当物理内存不足时,Linux内核会通过页面置换算法将暂时不使用的页写入磁盘交换空间,以释放物理内存供其他进程使用。 在文件系统管理方面,Linux内核支持多种文件系统,包括传统的ext3和ext4文件系统,以及现代的Btrfs和XFS文件系统。它负责文件的读写操作,以及文件的权限控制和磁盘空间的管理。 Linux内核的工作原理可以简单概括为以下几个步骤:首先,启动引导程序将内核加载到内存中,并进行初始化。然后,内核分配一部分内存作为内核空间,用于存放内核代码和数据结构。接着,内核根据系统的硬件配置进行设备的初始化和驱动程序的加载。之后,内核根据系统的启动参数和配置文件进行一系列的初始化工作,包括启动系统服务和加载用户程序。最后,内核进入主循环,不断地处理中断、调度进程、管理内存和文件系统,以提供稳定的操作系统服务。 总之,Linux内核是一个复杂而高效的软件系统,它通过进程管理、内存管理和文件系统管理等功能,实现了操作系统的基本功能。了解Linux内核的架构和工作原理,有助于我们更好地理解和使用这个优秀的开源操作系统。 ### 回答3: Linux内核是一个开放源代码的操作系统内核,由一个核心程序和一组通用的系统工具组成。它是Linux操作系统的核心,负责处理硬件设备、管理系统资源、实现进程管理、文件系统和网络功能等。 Linux内核的架构可以分为两个层次:用户空间和内核空间。用户空间包括用户应用程序,如图形界面、终端程序等,它们通过系统调用接口与内核进行通信。内核空间包括内核核心的数据结构和程序,用于管理和控制硬件资源。 Linux内核的工作原理可以概括为以下几个方面: 1. 进程管理:内核负责创建、调度和终止进程。它使用进程描述符(task_struct)来跟踪进程的状态和资源使用情况,并根据调度算法分配CPU时间片给不同的进程。 2. 内存管理:内核负责管理系统的物理内存和虚拟内存。物理内存管理包括内存分配和释放,虚拟内存管理包括页面置换和页面回写等策略,以优化内存的使用效率。 3. 文件系统:内核提供文件系统接口,管理文件和目录的创建、读写和删除等操作。它通过虚拟文件系统层(VFS)将不同的文件系统统一管理,如ext4、NTFS等。 4. 设备驱动:内核提供了访问硬件设备的接口,通过设备驱动程序与硬件交互。不同的硬件设备需要不同的驱动程序,如网卡、显卡、声卡等。 5. 网络功能:内核提供TCP/IP协议栈和网络设备驱动程序,用于实现网络通信功能。它提供网络连接的建立、数据传输和断开等功能,支持各种网络协议,如HTTP、FTP、SSH等。 总的来说,Linux内核是一个非常复杂且功能强大的软件,它负责管理计算机的各种资源和提供操作系统的各种功能。通过深入理解其架构和工作原理,我们可以更好地理解和使用Linux操作系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值