虚拟化磁盘模式、数据存储详解

2023-11-12

1. 配置模式

配置模式有三种:普通、精简、普通延迟置零。

1.1. 普通

  根据磁盘容量为磁盘分配空间,在创建过程中会将物理设备上保存的数据置零。这种格式的磁盘性能要优于其他两种磁盘格式,但创建这种格式的磁盘所需的时间可能会比创建其他类型的磁盘长。
  建议系统盘使用该格式

解释:假如创建10G的磁盘,磁盘在初始化时会全部空间格式化。真正的占用10G的空间资源。因为初次使用之前要完全初始化,所以第一次初始化比较慢,但是后面读写性能会非常好。

1.2. 普通延迟置零

  根据磁盘容量为磁盘分配空间,创建时不会擦除物理设备上保留的任何数据,但后续从虚拟机首次执行写操作时会按需要将其置零。创建速度比“普通”模式快;IO性能介于“普通”和“精简”两种模式之间。
  只有数据存储类型为“虚拟化本地硬盘”或“虚拟化SAN存储”时,支持该模式。

  解释:假如创建10G的磁盘,在创建磁盘后不扣除对应空间,创建一个不占空间的文件。第一次写入时扣除对应空间10G并格式化,也就是第一次写入时对全部申请空间进行格式化,它的性能也是位于普通模式和精简模式之间。

1.3. 精简

  该模式下,系统首次仅分配磁盘容量配置值的部分容量,后续根据使用情况,逐步进行分配,直到分配总量达到磁盘容量配置值为止。

使用精简模式可能导致数据存储超分配,建议超分配比例不超过50%。超分配率可通过数据存储的详细信息页签“已分配容量”和“总容量”的比率关系来确定。
针对频繁删除文件的业务场景,不建议使用精简模式磁盘。如果使用精简模式磁盘,避免数据存储超分配导致存储空间写满影响业务。

解释:假如创建10G的磁盘,创建磁盘后不扣除对应空间,创建一个不占空间的文件。后续需要使用多少就格式化多少空间。并没有真正占用10G的空间。每次使用新空间,都要初始化一下新空间,所以性能相对于普通模式而言,没有普通性能好。

2. 磁盘模式

三种磁盘模式:从属、独立-持久、独立-非持久。

2.1. 从属

  快照中包含该从属磁盘,更改将立即并永久写入磁盘

2.2. 独立-持久

  更改将立即并永久写入磁盘,持久磁盘不受快照影响,即对虚拟机创建快照时,不对该磁盘的数据进行快照。使用快照还原虚拟机时,不对该磁盘的数据进行还原。

  持久化磁盘即数据可以永久保存。在创建独立持久磁盘时,快照中不包含该磁盘,更改将立即并永久写入磁盘,回滚快照不会导致数据回滚。类似于U盘,应用于个人独有数据存放。

2.3. 独立-非持久

  关闭电源或恢复快照后,丢弃对该磁盘的更改。
  若选择“独立-持久”或“独立-非持久”,则对虚拟机创建快照时,不对该磁盘的数据进行快照。使用快照还原虚拟机时,不对该磁盘的数据进行还原。

  • 如果快照后,该磁盘被解绑定且未该磁盘未绑定其他虚拟机,则快照恢复的虚拟机会重新绑定该磁盘,但磁盘数据不进行还原
  • 如果快照后,该磁盘被删除,则快照恢复的虚拟机上不存在该磁盘。

  限制条件:
  当数据存储类型为“虚拟化本地硬盘”、“虚拟化SAN存储”、“NAS存储”或“华为分布式块存储”,且磁盘类型为“共享”时,该磁盘不支持创建快照,默认“独立-持久”。
当磁盘类型为“普通”且数据存储类型为“虚拟化本地硬盘”、“虚拟化SAN存储”、“华为分布式块存储”或“NAS存储”时,磁盘才可以创建为“独立-非持久”模式。

  非持久化磁盘:
  非持久化磁盘使用了差分卷的技术,当虚拟机启动时,会为非持久化磁盘创建差分卷,将差分卷挂载给虚拟机,虚拟机在运行过程中产生的数据会写入差分卷,虚拟机读取数据时会优先读取差分卷,如果差分卷中不存在则读取原磁盘,虚拟机关机时会将差分卷删除掉,这样虚拟机在运行过程中产生的数据在虚拟机关机时随着差分卷的删除而被删除,虚拟机再次启动时重新创建差分卷,利用非持久化磁盘技术可实现虚拟机在一次运行过程中产生的数据不会持久化保存。应用于公共计算机、计算机数据自动还原的场景。

若虚拟机磁盘的磁盘模式为“独立-非持久”时,则不支持在线增加磁盘容量

  不同类型数据存储支持的模式:

数据存储类型 普通模式 精简模式 普通延迟置零模式
虚拟化本地磁盘 支持 支持 支持
虚拟化SAN存储 支持 支持 支持
裸设备共享存储 支持 不支持 不支持
NAS存储 支持 支持 不支持
华为分布式存储 不支持 支持 不支持

3. 数据存储

在这里插入图片描述
  存储虚拟化是将存储设备抽象为数据存储,虚拟机在数据存储中作为一组文件存储在自己的目录中。数据存储是逻辑容器,类似于文件系统,它将各个存储设备的特性隐藏起来,并提供一个统一的模型来存储虚拟机文件。存储虚拟化技术可以更好的管理虚拟基础架构的存储资源,使系统大幅提升存储资源利用率和灵活性,提高应用的正常运行时间。

  • FusionCompute支持的存储类型以及各存储形态:

在这里插入图片描述

3.1. 虚拟化类型数据存储

虚拟化类型数据存储的IO工作流程:
在这里插入图片描述
  VIMS:虚拟镜像管理系统
  虚拟机要往文件系统(NTFS)写文件(也就是file IO),被NTFS文件系统翻译成block io写到磁盘上,而虚拟化类型的数据存储只能接收file io,所以虚拟化软件(CNA)还要继续将block io转换成file io,LUN是一块block,所以会再次将file io转换成block io(这次的io转化是VIMS做的),也就是VM要完成一个IO的时候,会做3次IO转换,效率差,性能很低。
物理机写一个文件的时候,只有一次io转换,将file io转换成block io(硬盘),所以物理机性能好,虚拟机性能差,因为虚拟机要进行多次的io转换
多个CAN主机可以共享虚拟化类型的数据存储,方便实现HA

3.2. 非虚拟化类型数据存储

  FusionStorage只能做成非虚拟化类型的数据存储,创建虚拟机的时候系统盘可以选择非虚拟化类型的数据存储
在这里插入图片描述
  在2000G的存储池中划分50G的分区给虚拟机使用,这个分区会被做成block设备,虚拟机认为自己使用的就是block,虚拟机的file io往自己的block 设备上写,虚拟机的硬盘确实也是block设备(非虚拟化类型数据存储的分区),确实也只有一个转换,但是还有一层就是block转化成分区,所以性能要比裸设备差一点。

3.3. 裸设备类型数据存储

  性能无限接近于物理机性能(也只有SAN存储资源的LUN存储设备可以实现)
在这里插入图片描述
  虚拟机在选择系统盘的时候,不会看到裸设备类型的数据存储,只能看到虚拟化类型的数据存储,所以裸设备类型的数据存储不能用于虚拟机的系统盘,但是可以用于虚拟机的数据盘

对比:

  • 性能对比:裸设备>非虚拟化类型>虚拟化类型
  • 灵活性对比:裸设备<非虚拟化类型<虚拟化类型
  • 灵活性就是创建虚拟机选择系统盘时,裸设备只能给一个虚拟机使用
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚拟化磁盘模式、数据存储详解 的相关文章

  • 关于C++中constexpr的用法

    在C 11 primer中 关于constexpr用法给出的解释是 允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式 声明为constexpr的变量一定是一个常量 而且必须用常量表达式初始化 第一句中 c

随机推荐

  • 冬来春往

    二月 我回来了 黄昏与日落 高山与河流 城镇与村庄 冷风 我感觉到了你透过车窗缝隙那透心凉的滋润 随着二月而来 又伴三月而去 二月 你游戏了我春去冬来的过往 如候鸟一般 俯瞰天南地北 归去来兮 候鸟 你是一种循着春节轻装上阵飞翔的姿态 天空
  • Java获取文本文件字符编码的两种方法

    Java判断文本文件字符编码的两种方法 1 通过文件流的前面部分字节判断 2 通过cpdetector库提供的监听方法来判断 1 取文件流方式 public static String codeString String fileName
  • 阿里云oss使用教程

    一 准备工作 1 点击 注册账号账号 输入用户名 密码 手机号 2 实名阿里云账号 点击跳到个人中心 对阿里云账号进行实名 这里我建议选择企业实名 3 购买阿里云OSS 打开OSS入口 选择 OSS资源包 地区 中国大陆 标准 本地冗余存储
  • jeesite框架下获取当前登录人的部门编号部门名称以及姓名:

    部门编号 String dept StringUtils isNotBlank EmpUtils getOffice getOfficeCode EmpUtils getOffice getOfficeCode 部门名称String dep
  • 第十二讲:生成树概念及STP技术应用

    在传统的交换网络中 设备通过单条链路进行连接 当某一个点或是某一个链路发生故障时可能导致网络无法访问 解决这种问题的办法是在网络中提供冗余链路 但是交换机网络中的冗余链路会产生广播风暴 MAC地址失效等现象 最终出现的结果就是网络瘫痪 为避
  • 如何一眼分辨是C还是C++

    C语言的历史 C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的一种通用程序设计语言 在早期的计算机时代 许多计算机使用不同的汇编语言编写程序 这导致了程序的可移植性和代码的可重用性很低 因此 Dennis Rit
  • markdown模板(个人使用)

    头部1 博客标签规定 文章目录 一 常用可以内嵌的HTML标签 一 标题 知识点 知识点 二 图片 三 字体 五 表格 六 锚链接 七 Typora中的技巧 一 常用可以内嵌的HTML标签
  • 编译原理第二版3.4答案

    3 4 节的练习 3 4 1 给出识别练习 3 3 2 中各个正则表达式所描述的语言状态转换图 解答 解答步骤 NFA gt DFA gt 最少状态的 DFA 状态转换图 a a b a NFA DFA NFA DFA a b 0 A B
  • 报错: 登录异常:Could not read JSON: Could not resolve type id ‘com.macro.mall.tiny.modules.ums.model.UmsAd

    全部报错信息 登录异常 Could not read JSON Could not resolve type id com macro mall tiny modules ums model UmsAdmin as a subtype of
  • 无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录

    1 点击 系统属性 2 点击 高级系统设置 3 点击 高级 点击用户配置文件的设置 删除指定的用户账号 重启才能登录账号
  • C++ 标识符

    标识符 lt cpp language 一个标识符是一个由数字 下划线 小写和大写拉丁字母 和大多数 Unicode 字符 见下文的详细说明 组成的任意长度的序列 有效的标识符必须以一个非数字字符 拉丁语字母 下划线或 Unicode 非数
  • java 事件监听connection_java 事件监听

    事件监听实现 三要素 1 事件源 数据源 要处理的数据 2 事件 承载数据 传递信息并被监听 3 监听器 负责对数据的业务处理 该开发用例采用了Spring的事件监听 1 定义事件类型 public class MyEvent extend
  • unity——Rigidbody类 (刚体)

    unity Rigidbody类 刚体 博客分类 unity3d unity Rigidbody类 转载自 http hi baidu com quibos item 0b035e15e63041b499ce33d8 游戏对象添加Rigid
  • mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的?

    个人博客导航页 点击右侧链接即可打开个人博客 大牛带你入门技术栈 Ext1 本文源码解析基于 mybatis spring boot starter 2 1 1 即 mybatis 3 5 3 版本 Ext2 本文主要是对源码的讲解 着重点
  • 学习入门 MQTT 协议原理与应用场景

    学习认识 MQTT 协议 掌握学习MQTT协议 本文章学习借鉴于太极创客团队 以表感谢 官网http www taichi maker com 文章目录 学习认识 MQTT 协议 一 MQTT是什么 1 MQTT版本 二 MQTT基本原理
  • 【计算机技术】我用两句话在电脑课上解除了老师的控制

    前言 时光荏苒 日月如梭 转眼间暑假就过完了 我又回到了校园的怀抱 不过这不重要 在语数外之余 我每周还是有两节电脑课的 但是 事情远没有我想的这样美好 就在我满怀期待的准备一展身手 啪 很快啊 美好的一节电脑课从被老师控制结束 要是放在以
  • 机器学习——sklearn转换器和预估器(估计器)

    这里写目录标题 学习目标 1 转换器 特征工程的父类 2 预估器 估计器 estimator 学习目标 目标 知道sklearn的转换器和预估器的执行流程 内容预览 转化器 预估器 估计器 sklearn机器学习算法的实现 1 转换器 特征
  • webpack打包用的cdn,速度明显加快,只要10秒不到,全部import需要近一分钟,--最终算是彻底失败-axios

  • Swin-Unet模型代码详解及改进思路

    Swim unet是针对水下图像分割任务提出的一种模型结构 其基于U Net模型并加入了Swin Transformer模块 可以有效地解决水下图像分割中的光照不均匀 噪声干扰等问题 Swim unet模型代码详解 首先 在导入必要的库后
  • 虚拟化磁盘模式、数据存储详解

    虚拟化磁盘模式 数据存储详解 1 配置模式 1 1 普通 1 2 普通延迟置零 1 3 精简 2 磁盘模式 2 1 从属 2 2 独立 持久 2 3 独立 非持久 3 数据存储 3 1 虚拟化类型数据存储 3 2 非虚拟化类型数据存储 3