查看: 197|回复: 0

云计算虚拟化三部曲(2):存储虚拟化的原理与实现

[复制链接]
  • TA的每日心情
    奋斗
    2022-7-25 00:26
  • 签到天数: 1 天

    [LV.1]初来乍到

    5万

    主题

    5万

    帖子

    16万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    167923
    发表于 2024-1-4 23:01:57 | 显示全部楼层 |阅读模式
    1 r; t {" H; d$ [

    大家好,我是IT售前工程师Bernie.

    5 C1 S2 ?# x4 m( q- D) u& D3 H) a

    前面一篇文章中我们讨论了计算资源的虚拟化,本篇文章我们重点讨论下存储资源的虚拟化原理与过程,欢迎阅读。

    2 r7 \7 O$ A; w( h) ^$ L
    8 {1 {) `$ _1 b5 |* g

    对于云计算来说,我们通常讲的存储资源不仅仅包括像硬盘这样的存储形式,还包括其他多种形式的存储空间,以及IO性能。一言以蔽之:VM可能用到的所有的存储设备都可以认为云计算的存储资源。

    # c1 s6 {4 W" z" m; Q$ r

    存储资源分类

    " V1 j% f# _8 D5 Q) i% p- _3 t

    基于上述逻辑,我们做一个简单的分类。常用到的存储资源可以分为3大类:本地存储空间、共享存储空间和分布式存储空间。

    ( p: k( M7 _! h# A I
    ' D5 S' c2 I, n4 F' V

    除了存储资源以外,IO性能也是一个重要的指标,也是可以被VM经常争抢的资源。

    5 h5 Z: H( ]5 {( j( B) z

    比如:某个硬盘的IOPS(存储的每秒读写速度性能)是200,那么当host OS上同时运行了5个虚拟机VM时,存储的读写性能如何分配?

    1 n! r+ m \( J4 K/ ^- @% q3 S

    这里需要特别说明一点:因为不同存储设备的IO性能不尽相同,所以这里说的是IOPS是基于某个VM而言的,即:某个虚拟机可能会使用到的存储资源。而非整个资源池的维度,不一定是整个集群的整体存储资源总和。

    7 A8 I( c: V' o, ~; ?" l
    - P, y) j, b0 ]: U, a

    VM如何申请存储资源

    ! w7 { d# w A( f- E0 Z

    讲完了存储资源的分类,接下来我们说一下虚拟机VM是如何申请存储资源的,即存储资源的分配原理。

    * d8 ]& W2 C3 z0 |5 G( H8 Q

    我们以vmware虚拟机为例,虚拟机也是一个镜像文件,它也是以资源的形式存储在某个存储空间内,虚拟机以VMFS的文件系统来格式化磁盘。当某个VM想要使用存储设备时,它会给存储设备在本地规划一个虚拟的空间,用以存储数据。

    3 D; y& ]$ R7 j: R9 e; J- Y" w

    这个虚拟的空间的后缀名是.vmdk,每个虚拟机都会生成一个或多个vmdk文件(虚拟磁盘),来存储文件和数据。

    $ l5 ~7 r: J/ H8 l7 Q

    如下图所示,4个虚拟机想使用磁盘时,遵循“先到先得”的逻辑。只要有存储空间,谁先申请先给谁。

    5 d& _! ]3 r2 E; E
    1 t- r Y4 t1 m7 K" T" h

    这里需要特殊说明:一个虚拟机到底是占用多少的存储空间,实际上还可以再分为三种情况。

    # T) M" T3 X! _% g B

    精简置备

    0 h$ L1 O4 B7 {! w' c

    概念:按需占用空间。比如VM设置的硬盘是200G,实际占用了100G,那实际占用的物理存储的100G。

    $ l4 T) P+ z G

    优缺点:精简置备的方式,可以极致地空间节省,多个VM可以复用存储资源。但是,由于申请用到的时候临时申请空间,有可能导致磁盘上限被突破,被写爆!体验差一些。

    * }' t! Z; j) q0 h

    厚置备延迟置零

    ; j; G0 \& b; F8 g4 F2 J3 E8 x

    概念:在VM创建的时候就做存储预留。比如VM设置的硬盘是300G,创建VM时直接从硬盘上划分出300G该VM独占,不管其实际有没有用这么多.

    1 [8 g& V/ t+ d4 K3 S) E# F

    优缺点:不会存在空间被写爆的情况,,但是存在空间利用率低的情况、也不允许超分。

    " x+ [1 V! E0 t

    厚置备快速置零

    5 K& ~3 ^& f' z7 G( b

    概念:在虚拟机创建时,就预留全部硬盘空间,并且会置零这个空间内所有的数据。

    ( B3 O3 Q3 J( y' i: N

    优缺点:不会存在空间被写爆的情况,由于前面将空间置零了,所以首次创建时候速度会比较慢。

    0 t5 ]% s- r3 O2 w3 `
    : P4 T8 [* j' ~

    存储资源如何回收

    6 h' R. f$ ]; K# W8 z5 g

    当VM使用完毕,虚拟机销毁时,它所对应的存储资源的回收机制是什么样子的呢?实际上,存储空间的回收跟内存的回收原理是相似的。

    L# s7 @: E4 M8 I( [

    起初,一个虚拟机VM上有一个1G的大文件需要删除,虚拟磁盘vmdk是没有办法直接将这个文件物理删除的,也就是说这个1G的内存空间是没有被真正回收的!这就导致存储空间只能越用越少。

    ; x+ X$ Y9 R/ j- ?4 X0 ?# D6 ?4 {

    所以,我们得想一点办法实现真正的回收。在VMFS6.0以后实现了自动的回收(之前是手动回收的)。

    / L1 u& j9 b" p$ P- ?) B

    自动回收的机制原理大概是:对于已经逻辑删除的空间VMM会置零,虚拟化层会周期性检测置零的文件,然后再回收。过程如下

    . T% t. Q; N9 l0 e
    1 V" B5 l0 W4 |6 E

    总结

    4 H4 Y$ V4 j0 u5 o7 _

    以上是云计算中存储虚拟化的全部分享,后续将发文进一步探讨存网络虚拟化的相关内容。关于CPU和内存等计算资源虚拟化,有兴趣的小伙伴可以在合集《Bernie说云计算》进行查看。

    ( d. {6 P0 Z+ s/ @! O8 O

    我是IT售前工程师Bernie,欢迎关注!下期见~

    7 k \1 {% E0 G' ^" X- ~: a+ b& [0 r/ b) @1 [) ?( Z; z$ |6 @ 4 i7 H, k5 t4 h& }. N9 y
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    客服QQ/微信
    921439866 周一至周日:09:00 - 21:00
    致力打造互联网创业第一品牌,学习网上创业赚钱,首选泓嘉网络创业,值得信赖! 泓嘉网络科技 版权所有!

    本站内容均转载于互联网,并不代表泓嘉网立场! 拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!。

    信息产业部备案号 豫ICP备2022016396号-1

    QQ|免责声明|广告服务|小黑屋|泓嘉网创 ( 豫ICP备2022016396号-1 )|网站地图

    GMT+8, 2026-4-17 12:05 , Processed in 0.541277 second(s), 26 queries .

    快速回复 返回顶部 返回列表