微软双机双柜方案讨论
前阵子有位网友在老王的博客下面询问微软双机双柜方案,那种性价比最高,需要最少的硬件投入,老王觉得这个话题挺有意思,今天特地与大家分享讨论
按照老王的理解所谓双机双柜是指两台服务器,每台服务器接自己的存储机柜,然后两台服务器实现复制,以确保应用故障转移时的存储支援
如果按照这个概念来讲,微软双机双柜方案有两个,一个是Hyper-V复制,另外一个是存储副本,下面我们来逐个进行分析
Hyper-V复制是微软在2012 hyper-v3.0时引入的虚拟机复制技术,支持将虚拟机复制到其它主机或群集或Azure,支持在没有群集的情况下灾难恢复虚拟机
Hyper-V复制技术优缺点
存储无关性,参与复制的hyper-v宿主机可以连不同的存储,可使用现有盘柜或本地磁盘
支持标准版与数据中心版
支持工作组部署
复制过程使用80或443端口,支持证书加密
支持单机对单机复制,群集对群集复制,单机对群集复制,群集对单机复制
支持扩展复制,A-B B-C (2012R2引入)
支持计划内故障转移
支持灾难恢复,但是需在备份节点手动故障转移
支持多子网架构TCP/IP预设,例如可以设定虚拟机转移到备站点开机后自动设置为备站点IP
支持反向复制
支持LAN环境或WAN环境
复制过程区分主备架构,对于一台参与复制的虚拟机来说,仅在主节点开机,备节点关机,主节点按照时间间隔复制虚拟机增量数据至备节点
支持测试故障转移,开一台测试虚拟机出来,监视资料是否正常复制
支持通过ASR将虚拟机复制到Azure
Hyper-V虚拟机级别复制,支持复制虚拟机所有虚拟磁盘(除直通)
支持多个恢复点
支持应用程序一致性,如果虚拟机里面承担SQL等数据库服务,使用应用程序一致性复制虚拟机,可以支持复制时内存数据Flush到磁盘上后再创建恢复点
具备官方复制规划软件,微软SCOM平台可以对其监控,SCVMM不能操作hyper-v复制
总结,hyper-v复制可以说以一款虚拟机复制的灾难恢复解决方案,对于硬件的改变老王认为是几种方案里面最小的,直接使用现有双机双柜架构即可,对于存储没有要求,复制功能本身并不过多占用系统资源,各项复制功能,如扩展复制,测试故障转移,恢复控制,架构支持,应用感知,数据安全等都相对完善,缺点主要还是计划外故障必须手动故障转移,原生不能自动故障转移,如果需要自动故障转移还需要再学习SCO或使用ASR,仅适用于Hyper-V虚拟机负载,如果没有使用虚拟化则不适用
存储副本技术是微软Windows Server 2016上面推出的基于块级别复制技术,在系统级别对分区进行复制,支持分区对分区,单机对单机,延伸群集,跨群集复制等灾备场景的复制,帮助组织更好的提高业务连续性
优缺点总结
仅支持2016数据中心版
参与存储复制的节点必须加入域
系统级别分区复制,应用并不知道底层发生复制
复制使用SMB 3.1.1通讯协议,445端口
支持同步复制与非同步复制
存储无相关性,节点底层可以是任何存储结构
支持固定式磁盘和精简置备磁盘
复制过程存在主备关系,主复制分区可读写,备复制分区不可读写,暂未支持备只读模式
单机对单机和跨群集复制时只能使用Powershell命令管理复制,延伸群集支持GUI管理
单机对单机和跨群集复制需手动故障转移,延伸群集实现全自动故障转移
延伸群集仍需每个站点接入各自站点存储,不支持直接使用各节点本地磁盘
跨群集复制支持两个群集使用不同架构存储
复制时会需要日志磁盘与数据磁盘,数据先写入日志磁盘,再Commit数据磁盘
复制节点至少需要两个磁盘,一个数据磁盘,一个日志磁盘
数据磁盘和日志磁盘的格式必须为GPT,不支持MBR格式磁盘
两个数据磁盘大小与分区大小必须相同,最大 10TB
两个日志磁盘大小与分区大小必须相同,最少 8GB
不支持扩展复制,不支持多个恢复点,不支持应用一致性感知,不支持工作组,不支持群集对单机
支持通过SCOM监控,SCVMM管理,OMS监控,Honolulu管理
总结,存储复制是server 2016上面系统级别的块存储复制,工作在分区之上卷之下的区域,对于单机对单机,存储底层没有太多限制,但是对于延伸群集仍然要求各自节点连接自身存储机柜,存储复制和Hyper-V复制的不同在于存储复制只是系统级别的实现,并不绑定在虚拟化,因此大多数应用都可以利用此功能,缺点在于,虽然说存储复制也算是一种灾难恢复技术,单机对单机可以实现存储的复制,手动切换,延伸群集可以实现存储加计算的全自动故障转移,但是在灾难恢复软件的层面看,存储复制还是缺少一部分功能,例如扩展复制功能不支持,群集对单机功能不支持,导致存储复制在架构上非常不灵活,这也是未来需要改进的地方,区别于微软的DFS,存储复制不像DFS原理那么复杂,检测NTFS USN,更新DFSR DBID ,更新GVSN,RDC同步数据,存储复制使用日志+存储机制,主要检测磁盘的写入IO,检测到有写入IO,按照同步复制机制或异步复制机制执行日志和存储的写入,因此存储复制可以复制正在打开的文件,讨论使用场景的话,老王认为单机对单机的复制适用于以下场景
1.文件经常被打开,使用DFS有时候不会复制,这时候可以使用存储复制整体复制分区
2.针对于VHDX文件,VMM库共享,数据库MDF结果集文件,这类经常被打开的大文件,可以在两个节点直接进行复制
3.适用于归档场景,例如有些虚拟机常年处于关机状态,但是里面又有一些关键数据,这时候可以使用存储复制,简单复制归档虚拟机的虚拟磁盘
以上为老王设想到的存储复制单机对单机场景,另外一点要说的是延伸群集,延伸群集可以说是存储复制的最大亮点,即使用非对称存储架构,各自节点挂载存储,通过存储副本+群集配合可以做到发生故障时先故障转移存储,再故障转移上层虚拟机
大家看到很多文档,可能都会说延伸群集适用于多站点架构,例如北京站点和上海站点各自站点只是接入简单存储机柜,并未配置硬件级别的存储复制,而通过微软2016延伸群集实现,当北京站点宕机时,可以在上海站点连同存储和计算资源一起启动,这确实是延伸群集的最主要意义,帮助公司省一大笔硬件费用,两点,一点是实现了原生自带的存储复制,一点是实现了存储复制和群集融合,群集检测节点宕机,自动故障转移存储和应用。
但是,这种自动故障转移存储和应用的实现,如果没有多站点是不是就不能实现了,答案是不是的,即使你就一个数据中心,一个机房,两个节点,两个存储机柜,各自节点接入机柜,就可以做到延伸群集的架构,只要符合延伸群集的配置要求,延伸群集并不关心你是否是本地数据中心还是异地数据中心,这取决于您的技术选型
延伸群集架构带来的好处是存储复制和群集的融合,完美处理存储的单点故障和应用的单点故障,并且做到存储和群集节点故障转移联动,因此如果本地数据中心,您想要这个功能,也是OK的。
存储复制对比Hyper-V复制
存储复制是系统系别,不支持复制系统磁盘,Hyper-V复制是虚拟机级别,不支持复制直通类型磁盘
存储复制可以用于物理机,虚拟机,私有云,公有云,只要有OS就可以实现,hyper-v复制需在物理机上面配置实现
两者都不需要额外更换存储,都可以使用现有存储机柜来完成利旧
存储复制就是复制存储,做好存储的切换,别的不管,hyper-v复制会包含内存状态,也会把主节点内存状态进行复制。
存储复制功能只有2016数据中心版才有,如果企业没有需要额外构建,且2016对于系统要求比2012要大,如果配置存储复制功能,建议为系统至少预留2-4GB内存
存储复制实现为日志磁盘加数据磁盘架构,管理员需额外管理日志磁盘和数据磁盘,hyper-v复制则无此架构
存储复制不是基于检查点,而是连续复制,所以变化的增量往往远低于基于快照的产品
如果希望在虚拟机级别复制一个应用,并且希望实现虚拟机直接开机就用,应用事务并不丢失,建议使用Hyper-v复制配应用一致性
如果是希望复制VHDX库,数据库MDF结果集文件,归档虚拟机,或一些会被打开的日常文件,可以使用存储复制
如果希望实现双机双柜存储复制+自动化故障转移,建议使用延伸群集
如果希望获得虚拟机级别的扩展复制 等更灵活的复制架构,建议使用Hyper-V复制
以上为老王关于微软正儿八经双机双柜方案,hyper-v复制与存储复制的浅谈,两者的主要优势都是可以直接利旧,使用现有存储机柜,不需要改变基础架构就可以实现灾难恢复,hyper-v复制不能做到自动故障转移,存储复制可以配置延伸群集实现自动故障转移,这个可能是一个主要的思考点,另外存储复制比hyper-v复制更占用系统CPU和内存资源,hyper-v复制比存储复制在灾难恢复上面更加专业,更适用于重要的虚拟机整体复制,具体大家实际使用时,可以结合老王提到的这些功能点选择适用的场景。
除了这两种可以直接利旧的方案外,针对于此类没有共享存储的场景,微软2016还推出了S2D的功能,它将2012R2的存储池和存储空间功能,扩展到了多个节点上,具体实现为以下两点
可以把各群集节点上面本地磁盘汇集到一起,每个节点会有一个clusport组件充当适配卡角色,群集中会有一个clusblft角色,负责连接各个节点的clusport,通过这两个组件,可以把各个群集节点上面符合要求的本地磁盘汇集到一起,形成群集的逻辑存储池,这个逻辑存储池可以被进一步配置存储空间,但其实这个逻辑存储池里面是各个群集节点的本地磁盘,经过构建完成存储空间后,生成的虚拟磁盘就可以被用于群集磁盘
另外一点是存储空间延伸至群集后实现的全新容错机制,2016 S2D,可以根据存储空间的不同容错配置,把数据写入分成多个extent,一个extent 1GB,如果配置为双重镜像,那就是数据后台会生成两个extent,两个extent可以被洒在不同节点,不同机柜,不同机架,通过这个功能就把存储空间延伸至了群集,一个节点或磁盘的故障,并不会影响上层应用的读取,因为所有的磁盘会被在另外节点上面读取,数据也会在另外节点上面重建,S2D会遵循extent容错反相关性原则,始终把同一份数据的多个extent撒在不同节点,当一个IO进来,只有当数据所有extent都完成写入后,这个IO才会回传结束
因此,如果全新部署的一个环境,利不利旧也无所谓,那么您可以尝试这种全新的超融合架构,非对称存储架构不用,直接超融合使用各节点本地存储,透过数据始终容错写入不同节点,以确保数据的高度可用,并且支持SSD,NVME,NVDIMM-N缓存设定,能够获得更高的性能,缺点在于,S2D比存储复制更消耗资源,尤其是网络和内存,而且S2D并不是备份方案或灾难恢复方案,一旦S2D这个功能不work了,数据读取将非常麻烦,所以如果采用S2D,您需要额外考虑单独的备份机制
除了微软自身的三种方案外,DataKeeper SIOS,Starwind,Symantec SFW也是不错的解决方案,SIOS支持各节点本地存储或非对称机柜的复制,可以在SIOS上面完成存储的复制配置,经过SIOS复制后的磁盘可以直接显示在WSFC群集磁盘,如果没有server2016使用这个工具也不错,它和群集完美集成,也可以做到自动故障转移,SFW与它类似,自身管理不同节点存储,构建出磁盘组,然后交付给群集,Starwind是连接各节点存储,进行复制,复制好了后虚拟出磁盘,再以ISCSI的方式提供给各个群集节点使用。
转载于:https://blog.51cto.com/wzde2012/2093024
微软双机双柜方案讨论相关推荐
- 微软-IT-解决方案-统一沟通-发布会
微软-IT-解决方案-统一沟通-发布会<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office& ...
- java saas_应用系统的SaaS化的方案讨论
应用系统的SaaS化的方案讨论 文/阿蜜果 日期/2012-11-26 1.SaaS的概念 SaaS是Software-as-a-service(即服务)的简称.SaaS在业内的叫法是,或称软营.是一 ...
- 汉字转拼音技术方案讨论
汉字转拼音技术方案讨论 将汉字转化成拼音的应用需求有很多,例如:1.在搜索引擎输入框的智能纠错上,将"刘德花"自动纠正成"刘德华";2.按照拼音检索电话本. ...
- IBM Power System P550双机系统方案
1.1 硬件拓扑 服务器群集的核心是共享的存储,所以存储架构是整个系统的基础,选择完善的技术方案是重中之重.根据本次项目情况,我们推荐采用服务器与存储直连的架构,整个平台采用IBM的p550服务器和D ...
- 微软引入linux内核,微软内部已在讨论Linux内核中加入exFAT的可能性
微软的exFAT文件系统已经有十多年的历史了,虽然已经有了一些突破,但是主流Linux内核仍然不支持此文件系统,即使它出现在更多的SD卡和其他设备上.但现在又重新努力将exFAT驱动程序引入Linux ...
- 睡眠音频分割及识别问题(六)--输入输出及方案讨论
简介 2021年7月13日,我和我的三个研究生一起拜访了玉米树,和王总等一起针对睡眠音频分割及识别问题进行了深入的讨论,达成了如下共识. 输入 由于保存整个晚上的睡眠音频所需要的存储空间过大,目前拟采 ...
- Java中“附近的人”实现方案讨论及代码实现
前言 在我们平时使用的许多app中有附近的人这一功能,像微信.qq附近的人,哈罗.街兔附近的车辆.这些功能就在我们日常生活中出现. 像类似于附近的人这一类业务,在Java中是如何实现的呢? 本文就简单 ...
- 雪花算法snowflake分布式id生成原理详解,以及对解决时钟回拨问题几种方案讨论
文章目录 一.前言 二.雪花算法snowflake 1.基本定义 2.snowflake的优缺点 三.Java代码实现snowflake 1.组装生成id 2.计算最大值的几种方式 3.反解析ID 4 ...
- 直播系统中使用SEI传输用户自定义数据方案讨论
在直播系统中,除了直播音视频之外,有时候还想从主播端发布文本信息等,这些信息可以不通过视频传输通道发送给用户播放端,但如果传输的数据想和视频保持精准同步,那最好的办法就是这些信息和视频数据打包在一起传 ...
最新文章
- html流式布局怎么用,css 流式布局什么意思?
- 组原-OS-政治截图
- MySQL优化篇:数据准备
- 关于学习Mongodb的几篇文章
- JavaScript函数练习
- Windbg调试命令详解(3)
- java数组转list(Arrays .asList)
- Redis java客户端操作
- 上传docker镜像到hub.docker
- CES 2021落下帷幕 未来3年展会时间已公布
- jsp过时了吗_知乎高赞:Spring MVC 过时了吗?网友:你连V和C都还没搞明白~
- oralce 存储过程、函数和触发器
- 让c像python一样可以在命令行写代码并且编译
- 根据文件名 kill 进程
- 根据经纬度计算两点间的距离_全班学生被此奥数题难倒,理解两点间距离公式的几何意义是关键...
- Android 中AlarmManager升级4.2
- 2022谷粒学院BUG记录
- CTFmisc常见音频隐写总结
- java httpsession 类型_JavaWeb HttpSession
- php excel 输出条形码,excel如何将数字转换条形码
热门文章
- servlet-servletContext简述
- springMVC 全局异常处理
- 旅行 jzoj 1281
- python 百度识图_python如何调用百度识图api
- java加载配置文件_java 读取和修改配置文件
- C语言为运算表达式添加括号,读书笔记-c语言-运算符与表达式
- java junit 运行_运行Junit方法项目启动不了
- mysql migration tool 64bit_Migration Tool支持MySQL业务SQL迁移
- mysql空指针异常处理_mysql 查询空指针异常
- python闭包技巧_案例详析:Python闭包与nonlocal关键字