建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
版块 热门产品云硬盘 【Day 30--2018/3/6】云存储的核心技术:虚拟化存储

sabrina325...

发帖: 9|粉丝: 0

级别 : 新手上路

Rank: 1

+ 关注 发消息

发表于2018-3-6 15:42:23 3896 楼主 阅读模式| 显示全部楼层
[下午茶时光] 【Day 30--2018/3/6】云存储的核心技术:虚拟化存储

30截图.PNG


【下午茶时光——每日精选小知识陪你喝咖啡
有人说虚拟化解决方案就好像游历一个虚拟现实的主题公园。当游客想象他正在城市上空滑翔时,传感器就会把相应的真实感觉传递给游客,如同身历其境。同样,一个好的虚拟化工具可以对企业的存储设备做相同的工作,让数据感觉自己是存储在一个真实的物理环境里,之后就可以任意改变数据存储的位置了。以下这篇文章就是聊聊在云存储中虚拟化技术的使用,有兴趣的小伙伴多加关注啦~从今日起,下午茶时光每日精选与大家分享云计算领域中的各种小知识,继续陪大家喝咖啡<( ̄︶ ̄)>


云存储的核心技术:虚拟化存储

导语
虚拟化改变了计算机使用存储的方式。就像物理机器抽象成虚拟机(VM:Virtual Machine)一样,物理存储设备也被抽象成虚拟磁盘(Virtual Disk)。今天我们就来聊聊虚拟化存储(Storage Virtualization)技术,究竟虚拟磁盘是怎样实现的?
2137000573ff39aba04a.jpg

  • 虚拟磁盘的实现

我们知道,服务器扩展存储的手段主要有直连存储(DAS)、存储区域网络(SAN)和网络附加存储(NAS)这三种类型。那么哪种存储类型可以用来实现虚拟磁盘呢?

在虚拟化环境中,类似VMWare这样的虚拟机管理程序hypervisor,要同时给很多VM分配存储空间。这个过程中,我们需要先把物理存储资源重新划分成虚拟磁盘,然后再分配给VM。

显然我们不能用DAS方式把物理磁盘直连到VM上,如果这样,需要的物理磁盘就太多了。SAN是以逻辑单元(LUN:Logic Unit)的形式提供存储资源,但虚拟环境下的VM数量很大,LUN的数量也不足以支撑这么多虚拟磁盘。

更重要的一点,虚拟磁盘对于众多的VM来说是共享的,因为VM需要随时创建、删除或者迁移,在迁移VM的时候就需要共享存储,只有这样原来的数据才不会丢失。无论DAS还是SAN,都不适合共享存储。

考虑到资源分配以及共享的问题,hypervisor采用NAS的方式来实现虚拟磁盘。VMware通常采用VMFS(Virtual Machine File System)或NFS协议来实现虚拟磁盘,VMFS是专门针对虚拟机环境的文件系统协议。

每个虚拟机的数据实际上就是一堆文件,最主要的文件就是虚拟磁盘文件(VMDK文件),此外还有交换分区文件(vswp文件,相当于swap)、非易失性内存文件(nvram相当于bios)等。每个VM对虚拟磁盘的IO操作,实际上是对这个虚拟磁盘文件的读写。

VMFS的设计、构建和优化针对虚拟服务器环境,可让多个虚拟机共同访问一个整合的群集式存储池,从而显著提高了资源利用率。采用 VMFS 可实现资源共享,使管理员轻松地从更高效率和存储利用率中直接获益。

22c60000f1e1e9e01310.jpg


那么我们如何在云计算中使用虚拟磁盘呢?
  • 实例存储
最主要的一种使用虚拟磁盘的方式就是实例存储,每一个VM就是一个虚拟机实例,hypervisor在每个实例中提供仿真的硬件环境,包括CPU、内存和磁盘。这种方式,使得虚拟磁盘成为虚拟机实例的一部分,就像物理世界一样。VM删除后,虚拟磁盘也会被删除。

这种实例存储模型中,虚拟磁盘与虚拟机之间的存储关系,实际上是DAS存储。但虚拟磁盘的底层实现,上面我们说了,是用NAS方式实现的。而hypervisor的作用就是把VM层的存储模型,与虚拟机下层的实现协议(VMFS或NFS)分离开了。

  • 卷存储
实例存储有它的限制,开发者一般希望把实例数据(比如OS以及安装的一些服务器应用软件)和用户数据分开,这样重建VM的时候可以保留用户的数据。

这个需求衍生出另外一种存储模型:卷存储。卷是存储的主要单位,相当于一个虚拟的磁盘分区。不属于虚拟机实例的一部分,可以认为是虚拟机的外置存储设备。

卷可以从一个VM卸下,然后附加给另外一个VM。这样我们就实现了实例数据与用户数据的分离。

  • 对象存储
很多云应用需要在不同的VM之间共享数据,经常需要跨越多个数据中心,对象存储可以解决这个问题。

在对象存储模型中,数据存储在存储段(bucket)中,按字面意思bucket也可以被称为“桶“。我们可以用硬盘进行类比,对象就好比文件,存储段就像是文件夹(或目录)。对象和存储段可以通过统一资源标识符(URI: Uniform Resource Identifier)查找。

对象存储的核心设计思想其实也是虚拟化,具体说来,就是把文件的物理存储位置,比如卷、目录、磁盘等,虚拟化为bucket,把文件虚拟化为对象。对应用层来说,简化了对数据的存取访问,屏蔽了底层存储技术的异构性和复杂性。

22c7000112dbed1d0734.jpg

NAS与对象存储各有所长
当然你也许会问,NAS存储技术不是也可以解决数据共享的问题吗?由于对象存储的规模优势和成本优势,很多云环境采用对象存储来代替NAS。

由于对象存储将遍布于很多节点且最新的数据并非总是可用, 所以对象存储的数据一致性不强。如果对强一致性有要求,那么可以使用NAS。目前在云计算环境下,NAS和对象存储是共存的关系。

和NAS一样,对象存储也是软件架构,不是硬件架构。应用直接通过REST API来访问对象存储。


结语
在实际的云平台应用中,我们需要根据自己的实际情况来合理运用不同的虚拟化存储技术。

  • 对于非结构化的静态数据文件,如音视频、图片等,我们一般使用对象存储。
  • 对于系统镜像以及应用程序,我们需要使用云主机实例存储或者卷存储。
  • 对于应用产生的动态数据,我们一般还需要利用云数据库来对数据进行管理。


本文转载自《微说互联网》
回复 举报
分享

分享文章到朋友圈

分享文章到微博

Leo1993

发帖: 41|粉丝: 2

级别 : 注册会员

Rank: 2

+ 关注 发消息

发表于2018-3-6 16:54:06 沙发 显示全部楼层
学到了,
点赞 回复 举报

Tomchr

发帖: 13|粉丝: 0

级别 : 注册会员

Rank: 2

+ 关注 发消息

发表于2018-3-6 18:42:41 板凳 显示全部楼层
点赞1 回复 举报

hustzjs

发帖: 14|粉丝: 0

级别 : 注册会员

Rank: 2

+ 关注 发消息

发表于2018-3-7 18:44:50 地板 显示全部楼层
讲解的很清晰。
点赞 回复 举报

紫菜菊花汤

发帖: 10|粉丝: 1

级别 : 注册会员

Rank: 2

+ 关注 发消息

发表于2018-3-7 19:00:04 5# 显示全部楼层
点赞 回复 举报

紫菜菊花汤

发帖: 10|粉丝: 1

级别 : 注册会员

Rank: 2

+ 关注 发消息

发表于2018-3-7 19:00:18 6# 显示全部楼层
感谢分享。
点赞 回复 举报

蓝书签

发帖: 12|粉丝: 3

级别 : 版主

Rank: 7Rank: 7Rank: 7

+ 关注 发消息

发表于2018-3-16 20:55:49 7# 显示全部楼层
虚拟化存储有时间可以好好学学
点赞 回复 举报

游客

您需要登录后才可以回帖 登录 | 立即注册