5分钟了解VMware vSAN的分布式RAID
大家知道,vSAN就是一种分布式存储,其数据保护技术不是采用传统的RAID方式,而是叫分布式RAID/RAIN。
VSAN在主机之间使用RAID-1(同步镜像)来满足对系统中存储对象的可用性和可靠性的要求。虚拟机存储对象的镜像拷贝数量取决于虚拟机存储策略。根据虚拟机存储策略不同,一块虚拟磁盘最多可在一个32节点的VSAN上拥有3个镜像。
说白了,就是采用多副本技术,VSAN支持2副本或者3副本(目前实现)。
那么问题来了,为什么VSAN可以支持两副本呢?大家知道,很多的产品,比如基于hadoop的开源实现,还有包括华为的UDS,爱数的Anyshare这些商业产品,都是采用三副本技术。西瓜哥曾经和爱数的米香总聊过,为啥备份产品也搞三副本,不是有点浪费吗?米香总说三副本的可靠性比较高,如果一台主机失效,那两个副本还可以提供服务。如果是采用两副本,如果发生一个主机失效(比如心跳断了),这种脑裂特别难处理,因为,大家各有一个副本,到底哪个副本来提供服务呢?
西瓜哥想了想,这个确实是一个问题。但VSAN是如何解决的呢?
VSAN数据存储其实是一种对象存储。对象指的是一个独立的存储块设备。对象取代LUN成了VSAN的主要存储单元。在VSAN中最典型的对象就是VMDK、虚拟机交换文件、增量盘(快照)和虚拟机名字空间。
VSAN中的每个对象都有自己的RAID树,组件是RAID树上的叶子。存储数据的副本就是一个组件,为了解决脑裂的问题,VSAN引入了一个非常重要的组件——见证(witness),也就是我们经常所的仲裁盘。
如果大家对集群系统如微软的MSCS有所了解的话,都知道集群系统都会有一个仲裁的机制,一般是一个仲裁盘(LUN)。当发生脑裂的时候,谁可以访问这个仲裁盘,那么这个主机就来对外提供服务。其实存储里面的虚拟化网关,如华为的VIS、EMC VPLEX,IBM SVC都有这个仲裁的机制。
VSAN的聪明之处,就是引入了见证。这样可以实现仲裁的效果,但由于见证只是一个逻辑组件,不是一个副本,没有数据,只有元数据(大小仅2MB),占用的空间非常小。因此,可以只实现两副本的分布式集群,使用率比三副本要高很多,但有效解决了脑裂的问题,可靠性也很高。
VSAN中的一个对象要被认为可用,必须满足以下两个条件:
RAID树必须允许数据访问(RAID-1必须最少有一个完好的副本,RAID-0必须所有的条带都完好)
必须有超过50%的组件可用(注意,不包含等于哦)
简单来说,哪个对象拥有超过一半的组件,那么这个对象就可以访问。其他的对象就不能对外提供服务,这样就防止了脑裂。
这种规则的抽象,可以让VSAN支持不同的高可用策略。
这个是VSAN中不同高可用策略对副本以及主机数的要求:
有了见证这个组件,就可以支持不同的VSAN的高可用策略。比如,你允许故障数是2,那么你需要3个副本,5台主机。这个时候需要多少个见证呢?需要主机数减去副本数,也就是需要2个见证。也就是5个主机,每个主机上要么有一个副本,要么有一个见证,这样发生脑裂,只有拥有超过50%组件的对象才能提供服务。
好了,超过5分钟了,总结一下。西瓜哥认为,见证(witness)是VSAN非常有技巧的一个实现,它可以支持不同的高可用策略,而且可以有效防止脑裂。这是实现方式使得两副本这种比较经济的方式,可以在大规模的分布式存储里面实现。
延伸思考一下:IBM XIV也是采用两副本,15台主机,是否也有仲裁机制来防止脑裂呢?西瓜哥在红皮书没有看到,但考虑到XIV都在一个机柜了,工程上是一个紧密的系统,也就是主机坏了,网络不可能坏,网络不坏,心跳就可以正常通讯,就不会有脑裂的问题,或者脑裂的概率非常小。因此,不特别考虑也是可以理解的。
5分钟了解VMware vSAN的分布式RAID相关推荐
- 【VMware vSAN 7.0】5.4.2 创建 vSAN 集群
[VMware vSAN 7.0]5.4.2 创建 vSAN 集群-我们有软硬件解决方案 IT干货 2021-03-31 10:19:32 123 收藏 1 分类专栏: 1.服务器虚拟化集群方案 文章 ...
- vSAN架构细节-分布式RAID
[编者按] 首先祝大家国庆节.中秋节,双节快乐! 先分享一个快讯: DELL EMC VxRail力压Nutanix,夺得HCIA的桂冠. 根据IDC的数字,2017年第2季度,全球HCI营收达到$7 ...
- VMware vSAN 7 超融合基础架构 (HCI)虚拟化集群解决方案
一. VMware vSAN 简述 通过超融合基础架构 (HCI),可将存储.计算和网络连接功能整合到一个系统中.这种经过简化的解决方案可使用软件和 x86 服务器来替代专门构建的昂贵硬件. v ...
- 【VMware vSAN 7.0】超融合基础架构 (HCI)虚拟化集群解决方案
[VMware vSAN 7.0] 超融合基础架构 (HCI)虚拟化集群解决方案 置顶 IT干货 2021-02-24 11:43:51 1208 收藏 4 分类专栏: 1.服务器虚拟化集群方案 文章 ...
- VMware vSAN 6.7实战(六)配置vSAN存储策略
VMware vSAN 6.7实战(六)配置vSAN存储策略 https://blog.51cto.com/11694088/2462016 这一节我们继续本系列文章中的第三节继续讲述具体配置vSAN ...
- VMware vSAN网络设计中不得不说的事
VMware vSAN网络设计中不得不说的事 原创 李严省 虚实之路 2018-06-07 VMware vSAN分布式存储我想大家都已经很了解了,我再简单的啰嗦一下.VMware vSAN架构如下图 ...
- VMware vSAN性能测试那点后续的事
VMware vSAN性能测试那点后续的事 原创 李严省 虚实之路 2018-06-05 VMware vSAN条带介绍 大家好,以前我和各位朋友讲过关于VMware vSAN的性能测试那点事,分析了 ...
- vsan加入不同型号服务器,VMware VSAN的特点与要求,与优缺点
VSAN的特点与要求,与优缺点 VMware VSAN主要有5个特点: 1.运行在标准x86服务器上 2.分布式集群,把VM数据文件打散放在多个主机上,每个服务器的本地存储网络池化3.使用SSD作为读 ...
- 【VMware vSAN 7.0】5.4.5 在现有集群上启用 vSAN—我们有软硬件解决方案
目录 1. vSAN简介 1.1 vSAN 概念 1.1.1 vSAN 的特性 1.2 vSAN术语和定义 1.3 vSAN 和传统存储 1.4 构建 vSAN 群集 1.5 vSAN 部署选项 1. ...
最新文章
- GPU编程和流式多处理器(二)
- 区块链+数字经济发展白皮书,45页pdf
- laravel框架内置的各种路径帮助函数
- linux下使用sftp
- ftp+线程池批量上传文件
- 离散对数(Baby Step Giant Step)
- 第十四章:Java_网络编程
- Windows下RMAN备份脚本
- 使用Yii 1.1框架搭建第一个web应用程序
- java 编写 servlet 程序_Java技术分享:如何编写servlet程序
- 5.jenkins 自动部署
- 已知圆心及半径,通过MATLAB画圆
- 计算机wifi共享usb设备,手机设置wifi热点如何通过usb和电脑共享网络
- 计算机水印如何操作,图片的水印如何添加|怎么用word给图片添加水印
- mock.js的使用方法
- 计算机信息采集方式有哪些,数据监控都有哪些信息采集渠道
- 【视频课】8大真实金融工程案例,20多小时Python进阶课推荐给你学习!
- 腾讯汤道生:面向数实融合新世界,开发者是最重要的“建筑师”
- python中true和false_我对python里True和False的理解
- JSON——李炎灰js笔记
热门文章
- 用计算机转换层次的例子,两类层次分析法的转换及在应用中的比较-计算机工程与应用.PDF...
- JavaScript高级程序设计--01
- sscanf解析复杂字符串,双引号通配符的使用问题
- 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
- ARM 编译 phddns
- cs中ComboBox以设置DataSource方式填充后,清除选项出错
- java编程思想3感悟(4)---被隐藏的具体实现
- 强强联合,OpenCV搭载飞桨模型,帮你轻松玩转深度学习
- 含噪数据的有效训练,谷歌地标图像检索竞赛2020冠军方案解读
- 超过100G的CVPR 2020 图像匹配挑战赛数据下载!