微软S2D2016滚动升级2019

Storage Space Direct(简称S2D)是微软在Windows Server 2016数据中心版集成的第三代软件定义存储技术,S2D技术可以将工业标准X86服务器的本地磁盘汇总构建出具有高可用、高性能和易扩展的软件定义存储架构。S2D的优点在于和自家产品如Hyper-V/WAC/SCVMM/SCOM整合较好,适用于那些已经普遍使用微软企业级产品的用户,微软不只有成熟企业级产品,也有成熟的OEM生态圈,微软不只在今年发布了Windows Server 2019,同时还宣布了WSSD产品的路线图。随着Windows Server 2019功能的不断优化与加强,S2D的性能与可靠性已经获得企业用户承认,相信会有部分已经在使用2016版本S2D用户会选择将原有环境升级至最新版本,故本文老王将为你们介绍如何在不停机的状况下将2016环境的S2D滚动升级2019服务器


本文老王将不会过多介绍S2D相关概念原理,咱们将主要专一于S2D滚动升级的过程思考网络

本文老王以S2D融合架构为例主要讲解,对于超融合场景会进行简单提示架构

因为目前网络上面尚未相关文章,老王会将S2D滚动升级细节所有呈现,以供往后国内用户升级时参考ide


滚动升级以前老王曾经写过一篇Hyper-V 2012滚动升级2016的文章,滚动升级的概念可以得以实现,即在同一个群集内完成不停机的升级,前提条件有二,一 群集支持混合模式,二 虚拟化软件支持向下兼容。来到S2D一样是这个道理,只不过不是2012到2016,而是2016到2019支持滚动升级,因为2012存储空间与2016S2D架构不一样,因此2012存储空间升级到2016S2D时只有在2012节点重装2016,而后升级存储池,所以当中必定会产生宕机时间,可是2016到2019就不一样了,因为2016和2019采用的是相同的S2D架构,所以咱们能够在升级过程当中,实现数据同时在2016节点与2019节点撒下,意味着当咱们重作了一台2016节点装成2019时,这个节点能够直接加入现有存储池的容错,不会对业务产生任何可用性影响。性能

2018-10-23_214058.png

理解了前提条件以后,继续日后看,众所周知,S2D是基于微软WSFC群集实现的架构,而一旦一个WSFC群集变成了S2D群集以后,每一个机器除了做为普通群集节点,还会承担S2D数据写入故障域的角色,S2D将各个群集节点本地磁盘汇总起来,在群集里面造成一个虚拟机的盘柜,当数据写入时,S2D会把数据切分红一个个1GB的extent,按照虚拟磁盘容错规则进行写入,若是是镜像,则确保extent两个副本始终写入在两个不一样节点,以此类推,不容许由于单个节点故障影响虚拟磁盘可用。优化


这样咱们就须要额外考虑一些问题,不能当成单独的群集滚动升级对待,例如,当咱们暂停或删除一个节点时,对于S2D产生的影响,节点恢复后应该执行那些操做,带着这些疑问咱们走进环境开始实战spa


环境介绍,当前有一套三节点S2D2016群集,已经开启了S2D,已经建立一个镜像容错的虚拟磁盘正在使用操作系统

2018-10-22_180033.png

咱们将经过不停机滚动升级的方式最终将三个节点都升级为2019,关于验证不停机的方法,老王采用实时写入脚本进行验证,脚本以下3d

for /L %i in (1,1,30000) do fsutil File createnew %i 1024 blog

这段脚本的意思是每隔一秒钟对S2D卷写入一个1KB的文件,写入30000次,若是写入在升级过程当中没有中断,能够持续写入,则说明滚动升级没有对写入形成任何影响,脚本能够在一个节点一直跑到最后,直到最后这个节点要升级时,切换到其它节点继续跑。

2018-10-22_180131.png

在执行S2D滚动升级以前,首先要作的一个步骤是检查,检查四样东西


1.虚拟磁盘是否健康

2018-10-22_181546.png

2.是否有未完成的存储做业

2018-10-22_181533.png

3.检查磁盘操做状态,是否存在Needs Rebalance提示,若是有请执行Optimize-Storagepool操做

2018-10-23_182608.png

4.是否存在CAU或VMM等自动更新任务,若有,请针对群集节点所有关闭,以防止影响手动操做群集升级过程。


确保环境已就绪,咱们就要开始执行S2D滚动升级第一个操做,暂停节点,对于通常的群集节点而言,暂停节点意味着按照放置规则排出角色到其它节点,对于S2D意义又多了一点,首先,正常状况下,数据会在三个节点之间随机找到两个节点进行镜像写入,假设一个群集节点宕机,那么对于虚拟磁盘来讲会变成降级状态,由于在该节点上面的extent副本将不可用,意味着一些数据块可能此时会是没有第二个副本可用的,暂停节点后数据再次写入,extent将不会再次撒在暂停节点,当节点恢复后,暂停期间其它节点写入的增量数据会自动同步到暂停节点。若是是超融合场景下,此步骤虚拟机中也将一块儿被排出到其它节点。

2018-10-22_180229.png

暂停节点时S2D将执行刷新和提交数据,所以务必要记得执行暂停节点操做,当节点被置为暂停状态后,下一个操做是将节点从S2D群集中删除,咱们仅执行逐出操做,这意味着仅在群集中删除该节点,但并不删除已经在群集池中注册的物理磁盘,即使节点被逐出群集,但节点的本地磁盘依然会被记录在群集池中,只是被标记为丢失状态,即使是节点重作系统后,只要磁盘还插在节点上,那么就能够从新与群集池中的磁盘关联。

2018-10-22_182258.png


2018-10-22_184442.png

逐出以后,对节点进行脱域,干净重装2019操做系统,机器名能够和原来同样,也能够从新命名,此过程略

2018-10-22_182536.png

当节点被暂停逐出后,能够看到虚拟磁盘此时的操做状态为降级,这是由于丢失了一个故障域节点,但并不影响对磁盘的写入,可经过写入脚本看出,对于一个故障域的虚拟磁盘来讲,此时群集不能再有节点宕机,不然磁盘将不可访问,若是是三路镜像,有两个故障域,则能够再容许宕机一个节点。

2018-10-23_093107.png

在虚拟化环境中执行此操做的朋友可能会遇到一个BUG,即2019节点新作好了以后怎么也加入不到群集里面,根本缘由是error 1809的问题,此节点已加入启用存储空间直通的群集,但未在当前版本上进行验证,此节点将被隔离

详见KB  https://support.microsoft.com/en-us/help/4464776/software-defined-data-center-and-software-defined-networking


2018-10-22_210113.png

WSSD是微软的一个全新计划,微软和DELL/Dataon/HPE等厂商合做,推出合做解决方案,厂商提供设备,通过微软认证后便可在上面出色的运行微软最新的SDDC技术,S2D/SDN/WAC等等,可是有的客户可能就是虚拟化环境,或者没有买WSSD认证设备,那就会碰见这个问题,通过研究得知是2019节点加入S2D群集时会通过一个判断,检查注册表的一个键值,若是已存在则能够运行加入S2D群集

位置在HKEY_LOCAL_MECHINE\SYSTEM\CurrentControlSet\Services\ClusSvc\Parameters下面,管理员须要在S2D群集里面每一个节点键入该键值,DWORD类型,名称S2D,数值为1,针对于2019节点,需事先建Parameters项,再新建键值便可规避此问题

2018-10-23_103751.png

处理完成后2019节点便可正常加入S2D2016群集

2018-10-22_202854.png

当2019节点加入到群集后,咱们能够经过注册表观察到当前群集已经进入了混合模式,以下位置的MixedMode数值为1,表明群集当前处于混合模式,若是所有升级为2019,群集FunctionalLevel升级后,则数值为0

2018-10-22_215008.png

经过获取群集详细信息能够看到,群集当前功能级别为9,表明着群集当前是Windows Server 2016的群集功能级别,若是群集节点所有升级到2019后,提高群集FunctionalLevel后,群集功能级别将升级为10。

2018-10-22_214807.png

节点正常加入群集后,先前因为重作系统而在群集池中失联的磁盘,从新联系上变为正常状态

2018-10-23_220458.png

获取存储做业能够看到,首先,2019节点加入到S2D群集后,S2D先执行Repair做业,此做业目的是将节点不在期间,各虚拟磁盘的增量数据进行从新同步,此操做证实S2D支持跨2016/2019节点撒下数据,此操做不会影响磁盘的正常写入,但从节点暂停退出后到此修复过程,磁盘性能将有所降低。

2018-10-22_181407.png

你也可能会看到Optimize做业操做,这里解释下为何升级过程要留意它,以及为何开始以前要进行检查,在S2D运做过程当中随着数据的大量写入删除,可能在某一个时间节点,一个物理磁盘的利用率已经达到了百分之90 ,而其它物理磁盘只有百分之60,这样就有可能出现单个物理硬盘被写爆,致使影响写入操做,甚至虚拟磁盘脱机,所以,建议在滚动升级过程当中,每作完一个节点就留意下各个磁盘的使用情况或者群集管理器中的虚拟磁盘状态,是否出现Needs Rebalance,若是有,当即执行Optimize-Storagepool ,除此以外当新加入节点至S2D群集时,每隔一段时间大概30分钟,会自动执行Optimize-Storagepool操做,等不及的话也能够直接手动执行。


Repair做业是为了同步节点暂停时其它节点更新的数据,Optimize做业是为了平衡节点添加后各节点物理磁盘使用状况,二者不要混淆

2018-10-22_215057.png

因为每作一个节点时虚拟磁盘会降级,重作完成后节点须要从新同步数据,平衡负载,所以请务必每次仅执行一个节点的升级操做,若是在一个节点加入群集后还未执行完毕Repair和Optimize做业就执行下一个节点,将会产生宕机的风险。


确认第一个节点执行完毕Repair和Optimize做业,虚拟磁盘操做状态恢复为OK就能够开始作下一个节点

2018-10-22_181546.png

暂停节点 - 逐出节点 - 节点退域 - 重作系统 - 修改注册表 - 加入群集 - 等待Repair做业和Optimize做业执行 - 检查群集虚拟磁盘状态 

第二个节点按照相同步骤执行,所谓滚动升级,意思就是咱们每次只重装故障域容许的节点,确保重装以后,虚拟磁盘仅为降级,不会影响读写,节点重作完成加入群集后 虚拟磁盘又恢复为完整,再重作下一台,始终经过补上的方式阻止磁盘失去读写。操做步骤并不难,关键是要理解每一步背后所发生的事情,以及每个操做执行后应该关注的内容。

按照这样的滚动思惟作到最后一个节点时,最后一个节点执行完全部步骤,检查群集虚拟磁盘状态为OK,即表明全部节点已经不停机滚动升级至2019,但目前群集功能级别仍然是Windows Server 2016,升级群集功能级别后群集功能级别将为10,享受WSFC2019全部新功能,此操做不可逆

2018-10-23_131536.png

检查注册表位置能够发现MixedMode已经取消为0键值

2018-10-23_132013.png

除此以外,若是检查存储池能够看到,目前存储池的版本仍是Windows Server 2016 

2018-10-23_124809.png

执行命令 Get-StoragePool -FriendlyName "PoolName" | Update-StoragePool 升级存储池为最新版本,此操做不可逆。

2018-10-23_131856.png

群集功能级别与存储池升级后,能够发现2019的新功能,和WAC集成实现的性能历史记录,经过在S2D建立一个10GB的磁盘以存放历史数据,此功能为S2D2019专有

2018-10-23_131934.png

最后若是是超融合架构,还须要升级虚拟机配置,此操做需关闭虚拟机才能够升级,需单独规划时间进行操做。

须要注意,升级群集功能级别,升级存储池,升级虚拟机配置,这三个操做都不可逆,一旦敲下命令就没有后悔药能够吃,若是犹豫不定,能够在混合模式期间进行观察回退,升级群集功能级别以后就不能回退了。


升级过程最主要的是要理解执行每一个操做步骤对S2D群集会发生的事情,作到思路清晰,内心有数,操做步骤并不繁琐,循序渐进完成各节点升级,每个步骤都不能够跳跃,每一个节点升级完成都应该谨慎检查再下一个节点,按照顺序操做咱们就能实现不停机的S2D滚动升级,最终完成操做系统升级,群集功能级别升级,存储池升级,虚拟机升级。

2018-10-24_122009.png

相关文章
相关标签/搜索