草庐IT

云计算学习笔记——第四章 存储虚拟化

Unicorn_snow 2023-05-25 原文

一、存储虚拟化介绍

1.什么是存储虚拟化

  存储虚拟化就是把多个存储介质(如硬盘、RAID)通过一定的技术将他们集中起来,组成一个存储池并进行统一管理。从主机或工作站的角度,看到的就不是多个硬盘,而是分区或者卷,就好像是一个超大容量的硬盘。这种可以将多种、多个存储设备统一管理起来,为用户提供大容量、高数据传输性能的存储系统,就称之为虚拟存储。总的来说,存储虚拟化就是将一个存储设备虚拟成多个存储设备,或者将多个存储设备虚拟成一个存储设备的技术。

2.存储虚拟化的作用

(1)提高硬件资源的使用效率(将以前不用的资源利用起来)。
(2)简化系统管理的复杂度。
(3)大幅度增强云存储平台的可靠性,实现业务不间断运行。
(4)对管理员或者服务供应商来说,存储虚拟化可以方便的调整存储资源,提高存储资源的利用率。
(5)对使用者来说,集中的存储设备可以提供更好的性能和方便性。

3.云计算存储模型概念

(1)存储资源:表示实际的物理存储设备,例如直连存储DAS、网络附加存储NAS、存储区域网络SAN等。
(2)存储设备:表示存储资源中的管理单元,例如本地磁盘、逻辑单元号LUN、Storage存储池、NAS共享目录等。
(3)数据存储:表示虚拟化平台中可管理的存储逻辑单元,承载了虚拟机业务,如创建磁盘等。

2.使用虚拟存储的流程

(1)在主机软件界面添加存储资源(如SAN、DAS等),对主机的启动进行配置。
(2)主机关联存储资源后,进行扫描存储设备(如本地磁盘、LUN等),将具体的设备扫描到主机上。
(3)主机在选择存储设备时,进行数据存储的添加,并进行虚拟化。
(4)最后对虚拟化好的数据存储进行创建卷等操作。

二、常见存储类型

1.本地磁盘

(1)云计算虚拟化场景下的本地磁盘是指使用服务器本地的磁盘资源,经过磁盘阵列化RAID后提供给虚拟化平台使用。
(2)使用本地磁盘的优缺点
  ①使用方便。
  ②无共享框架。
  ③对跨服武器来说没有备份、冗余机制。

2.直连式存储DAS

(1)直连式存储,简称DAS,已经有四十年的使用历史,是一个存储设备与使用存储空间的服务器直接相连的架构。直连式存储DAS为服务器提供块级的存储服务。
(2)使用直连式存储的优缺点
  ①多个磁盘合并成一个逻辑磁盘,满足“海量存储”的要求。
  ②可实现应用数据和操作系统的分离。
  ③能提高存取性能。
  ④实施简单。
  ⑤服务器发生故障,数据不可访问。

3.网络附加存储NAS

(1)网络附加存储,简称NAS,将分布、独立的数据进行整合,集中化管理,以便对不同主机和应用服务器进行访问的技术。NAS将存储设备连接到现有的网络上来提供数据和文件服务。
(2)使用网络附加存储NAS的优缺点
  ①支持快照等高级特性。
  ②集中存储。
  ③提供安全集成环境(用户认证和授权)。
  ④传输速率低。
  ⑤前期安装成本高,设备成本高。

4.存储区域网络SAN

(1)存储区域网络SAN,是一种高速的、专门用于存储操作的网络,通常独立于计算机局域网(LAN)。提供主机和存储系统之间的数据传输,网络内部数据传输的效率快。(常见的架构有FC SAN、IP SAN)
(2)使用存储区域网络SAN的优缺点
  ①存储容量利用率高。
  ②兼容性高。
  ③传输距离远。
  ④高带宽。
  ⑤主机、存储设备可以独立扩展。
  ⑥成本高但较复杂。

三、存储模式

1.非虚拟化存储

(1)非虚拟化存储就是传统的存储模式,即把磁盘进行分区,分割成不同的逻辑卷,每一个逻辑卷可以给到虚拟机使用。
(2)特点:
  ①性能好(不再有中间的虚拟化层,虚拟机读写直接在磁盘上)、速度快、效率高。
  ②支持存储功能少(不支持快照、精简配置等)。

2.虚拟化存储

(1)虚拟化存储是将不同的存储设备、磁盘进行格式化,格式化的目的是屏蔽底层存储设备的能力、接口协议等差异性,将各种存储资源转化为统一管理的数据存储资源。
(2)特点
  ①支持多种存储功能(快照、精简磁盘、磁盘扩容、存储迁移等)。
  ②性能不高(没有非虚拟化存储好)。

3.裸设备映射

(1)裸设备映射是将硬盘直接给到虚拟机使用,让虚拟机直接处理调用存储的命令(直接访问磁盘)中间虚拟化层,不再对其进行任何干预(卷都不需要创建)。
(2)特点:
  ①速度快(三种模式中最快)、性能好。
  ②支持的存储功能少(不支持快照、精简配置等),仅支持部分操作系统的虚拟机使用、数据存储只能整块当做裸设备映射的磁盘使用,不可分割。

四、存储虚拟化方法

1.基于主机的存储虚拟化

(1)若仅仅是单个主机服务器(或者是单个集群)访问多个磁盘阵列,可以使用基于主机的存储虚拟化技术。虚拟化的工作通过特定的软件在主机服务器上完成,经过虚拟化的存储空间可以跨越多个异构的磁盘阵列。最大优点是其久经考验的稳定性,以及多异构存储系统的开放性。
(2)特点:
  ①软件运行在主机上,应用开销比较大。
  ②稳定性好,兼容性高。

2.基于设备的存储虚拟化

(1)若是多个主机服务器需要访问同一个磁盘阵列的时候可以采用基于存储设备的虚拟化技术。此时,虚拟化的工作是在阵列控制器上完成,将一个阵列上的存储容量划分多个存储空间LUN,供不同的主机系统访问。这种技术主要用在同一存储设备内部,进行数据保护和数据迁移,他的优势是与主机无关,不占用主机资源,数据管理功能丰富。
(2)软件运行于存储设备中专门的嵌入式系统上。
(3)从与SAN连接的存储上创建虚拟卷。

3.基于网络的存储虚拟化

(1)基于网络的存储虚拟化是通过在存储区域网SAN中添加虚拟化引擎实现的主要用于异构存储系统的整合和统一数据管理。优势是与主机无关,不占用主机资源;支持异构主机、异构存储设备;能使不同存储设备的数据管理功能统一;统一管理平台,可扩展性好。
(2)软件运行于存储网络中的磁盘阵列上。
(3)在与磁盘阵列连接的存储上创建虚拟卷。

五、存储虚拟化功能

1.精简磁盘和空间回收

(1)精简磁盘和空间回收用户提高存储资源的使用效率、减小虚拟机未使用空间在主机上占用率过大的问题。
(2)特点:
  ①用户用多少分配多少空间(自动分配)。
  ②空间回收可以将用户删除的数据空间释放到数据存储。

2.快照

(1)指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像。快照可用是其所表示的数据的一个副本,也可以是数据的一个复制品。快照的作用主要是能够进行在线数据备份与恢复。
(2)特点:
  ①记录了虚拟机在某一时间点的内容和状态。
  ②恢复虚拟机快照可用使虚拟机多次快速恢复到某一时间点。
  ③快照包含磁盘内容、虚拟机配置信息、内存数据。
  ④多次快照之间保存差量数据,节约存储空间。
(3)创建快照时,会生成一个新的差分卷,虚拟机会挂载这个差分卷作为磁盘文件。
(4)快照方式:ROW写时重定向;COW写时拷贝;WA随机写。
(5)快照链:对虚拟机进行多次的快照操作,这些多次的快照操作形成快照链。
(6)虚拟机卷始终挂载在快照链的最末端。

3.链接克隆

  将源卷和差分卷组合映射为一个链接克隆卷,给虚拟机使用。一个链接克隆需要和原始虚拟机共享统一虚拟磁盘文件。采用共享磁盘文件缩短了创建克隆虚拟机的时间,同时还节省了物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。

4.虚拟机虚拟磁盘文件迁移

  将虚拟机的磁盘从一个数据存储迁移到另一个数据存储。可以将虚拟机的所有磁盘整体迁移,也可以单个磁盘分别迁移。虚拟机的快照可以一起迁移。虚拟机的开启或关闭时都可以迁移。

有关云计算学习笔记——第四章 存储虚拟化的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  3. ruby - Rack:如何将 URL 存储为变量? - 2

    我正在编写一个简单的静态Rack应用程序。查看下面的config.ru代码:useRack::Static,:urls=>["/elements","/img","/pages","/users","/css","/js"],:root=>"archive"map'/'dorunProc.new{|env|[200,{'Content-Type'=>'text/html','Cache-Control'=>'public,max-age=6400'},File.open('archive/splash.html',File::RDONLY)]}endmap'/pages/search.

  4. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  5. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  6. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  7. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  8. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  9. ruby-on-rails - 为什么在 Rails 5.1.1 中删除了 session 存储初始化程序 - 2

    我去了这个website查看Rails5.0.0和Rails5.1.1之间的区别为什么5.1.1不再包含:config/initializers/session_store.rb?谢谢 最佳答案 这是删除它的提交:Setupdefaultsessionstoreinternally,nolongerthroughanapplicationinitializer总而言之,新应用没有该初始化器,session存储默认设置为cookie存储。即与在该初始值设定项的生成版本中指定的值相同。 关于

  10. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

随机推荐