设为首页 收藏本站
查看: 1898|回复: 0

[经验分享] Windows Server 存储空间之存储冗余

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-3-22 09:50:04 | 显示全部楼层 |阅读模式
存储空间冗余度
在存储控制器服务器高可用结构中,使用不同数量的JBOD或者不同方式的存储空间布局,达到的冗余程度也有差别。如果使用两个存储箱则无法开启存储箱感知能力,从而无法实现JBOD存储箱级别的冗余,所以要实现JBOD存储箱级别的冗余必须要使用三个JBOD。如果存储空间使用双重镜像布局,存储空间最多允许一块硬盘故障,如果同时发生两块硬盘故障,那么存储将失效;而使用三重镜像布局,那么同时最多允许两块硬盘故障。Windows Server 第一代SDS结构中,存储空间冗余矩阵总结如下。
冗余类型
3 JBOD 存储箱
4 JBOD 存储箱
简单
不支持
不支持
双重镜像
一个存储箱或者一块磁盘
一个存储箱或者一块磁盘
三重镜像
一个存储箱和一块磁盘;
两块磁盘
一个存储箱和一块磁盘;
两块磁盘
单奇偶校验
不支持
不支持
双奇偶校验
不支持
一个存储箱和一块磁盘;
两块磁盘

存储空间可用性详述
在JBOD级别,三个JBOD能提供JBOD存储箱级别的冗余,因为存储控制器在数据条带化后,在底层为列选择写入的硬盘时,存储箱感知的目的是为数据写入列时为列选择不在同一个JBOD里的硬盘。存储空间数据条带后,每一份条带的数据通过I/O镜像一式两份或三份,每一份先写入列,由列把数据最终写入到硬盘。在镜像布局的存储空间里,不同的列里包含两块或三块硬盘,这些硬盘来自于一个JBOD或者不同JBOD将直接决定存储空间的JBOD级别的冗余性。
在硬盘级别,虚拟磁盘的镜像和RAID1在为数据存储时选择磁盘的原理相似,但是和RAID1/RAID10对称式的结构允许的最大硬盘故障数不同,RAID1/RAID10可以在发生一半的硬盘故障时存储依然可用。存储空间列并不会将硬盘对称地分为固定的两组或者三组然后写入数据的各个副本,列选择硬盘时遵循随机性和平均原则,随机性说明列每次为条带的数据的副本选择的写入的硬盘是变化的,平均原则说明列在选择硬盘时所有硬盘被选中的概率是一样的,而且数据条带越多越接近平均。以双重镜像的虚拟磁盘为例,复制一个100GB大小的文件到存储空间,换算成KB的单位为104857600KB,默认的Interleave为256K,先后要写409600个列,意味着要写409600对硬盘,就要产生409600对随机硬盘组合,那么每个参与数据写入的硬盘次数达到平均就成了一个必然事件。因此双重镜像的虚拟磁盘即使包含多个硬盘,每个硬盘必然都保存有这100GB文件的数据块副本,一块硬盘故障数据仍然完整,但是再有第二块硬盘同时故障,必然有数据块丢失而导致文件不完整,所以只能承受一块硬盘损坏的故障。同理,虚拟磁盘的三重镜像将会把一份数据被复制成三份写在三个不同的硬盘里,虚拟磁盘可以承受两块硬盘损坏的故障。
接下来我们列举不同的JBOD数量和存储空间布局矩阵关系的例子来阐述存储空间如何达到预期的可用性目标。
  • 两个JBOD存储箱

系统默认设计为两个JBOD不支持存储箱感知,所以两个JBOD不是推荐的配置,除非用于测试环境,或者对数据有额外的保护,否则难以满足数据的可靠性要求。因为两个JBOD不支持存储箱感知,那么为列选择关联硬盘时,随着写入的数据增多,列选择两块(双重镜像)或者三块硬盘(三重镜像)来自同一个JBOD一定是个必然事件,这样一个JBOD故障,数据会丢失所有副本导致数据不完整,如图1所示。
QQ截图20170322094907.png
图1两个JBOD数据存储示意
  • 三个JBOD存储箱

三个JBOD支持存储箱感知,所以三个JBOD是要实现存储箱冗余时推荐的配置,而且要在存储池启用IsEnclosureAware参数。三个JBOD启用存储箱感知,存储空间列选择关联硬盘时,一定会选择不同JBOD存储箱里面的硬盘写入数据。对于双重或者三重镜像,不管JBOD里面有多少硬盘,也不管写入了多少数据,由于任何条带后数据的一式两份和三份不在同一个JBOD硬盘里存储,所以一个JBOD故障,其他两个JBOD一定存放着所有数据的另外的副本来保持数据的完整性,如图2所示。
QQ截图20170322094917.png
图2 三个JBOD数据存储示意
除了存储箱感知这个参数以外,列在其中的作用非常重要,列就像一个组织者,有序地组织数据往硬盘写入,存储箱感知控制列在选择硬盘时起到同一个JBOD里面的硬盘“互斥”的作用,这样一个列所关联的硬盘一定不会来自于同一个JBOD。讨论了JBOD级别的可用性实现,接下来讨论JBOD结合存储空间布局的可用性实现。
  • 三个JBOD加双重镜像

如果存储空间是双重镜像布局,如图3所示,JBOD1里的DISK1可以和JBOD2,JBOD3里面的6块硬盘的其中任意一块随机组合成列,而不会去找JBOD1里面的其他硬盘组合成列。同理,JBOD3里的DISK5可以和JBOD1,JBOD2里面的6块硬盘的其中任意一块随机组合成列。虚拟磁盘的双重镜像使用三个JBOD并启用IsEnclosureAware参数后,可以保证数据的两个副本不会写在同一个JBOD里,一个JBOD故障,数据剩下一个副本,这个副本存储在其他两个正常的JBOD里,因此数据是完整的。但这时候剩下的两个JBOD里任何一块硬盘都可能保留着所有数据的剩下的唯一副本,不能再允许出现JBOD故障和任意一块硬盘故障,因为任何一个硬盘故障都有可能导致数据丢失。因此,三个 JBOD(存储箱感知)加双重镜像这种存储空间虚拟磁盘可以承受的极限是一个JBOD或一块硬盘损坏的故障。
QQ截图20170322094927.png
图3 三个JBOD和双重镜像数据存储示意
  • 三个JBOD加三重镜像

存储空间的三重镜像将会把一份数据被复制成三份写在三个JBOD的不同的硬盘里。三重镜像的每个列关联三块硬盘,在为列关联硬盘时,能保证三块硬盘不在同一个JBOD里,但三重镜像的一个列关联的硬盘不一定分别平均来自三个不同的JBOD里面的硬盘,可能有两块硬盘在同一个JBOD里,一块在另外一个JBOD里。条带化的数据复制成三份以后,数据的一个副本存储在一个JBOD的硬盘里,另外两个副本写入就和两个JBOD效果一样了,数据副本可能存在同一个JBOD的两块硬盘,也可能分开平均存放在两个JBOD的两块硬盘里,如图4所示。按照列选择硬盘的随机性和平均原则,另外两个副本写入同一个JBOD的两块硬盘是必然事件,因此剩下的两个副本的冗余性和两个JBOD加双重镜像布局一样,只能允许一块硬盘故障。所以,三个JBOD(存储箱感知)加三重镜像这种存储空间虚拟磁盘可以承受的极限是一个JBOD和一块硬盘损坏的同时故障,或者两块硬盘同时损坏。
QQ截图20170322094938.png
图4 三个JBOD和三重镜像数据存储示意



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-353413-1-1.html 上篇帖子: Windows Server 存储空间之存储分层和缓存管理 下篇帖子: 如何变更站点 AD 域服务器IP地址 Windows 空间
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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