前面经过2003迁移到2008R2,2008R2迁移到2012R2,为你们介绍了传统群集角色以及虚拟机角色如何进行跨群集的迁移,在迁移过程当中你们能够发现不管是2003到2008R2,或是2008R2到2012R2,咱们都须要搭建两个群集,不管是单节点也好,多节点也好,最终咱们是要群集对群集完成跨群集迁移,经过群集自带的跨群集迁移向导,咱们能够经过不多的操做,完成应用的跨群集迁移,实现只有老群集离线,新群集上线时的宕机时间。数据库
在WSFC2016开始,推出了滚动升级的功能,改变了之前的迁移思惟,简单来讲,咱们如今能够在一个群集中就完成零宕机的迁移升级,不须要多个群集作跨群集迁移向导,咱们能够直接把节点退出2012R2群集,重装成2016,再加入群集,群集如今实现了一种混合模式,能够容许群集中既有2012R2节点,也有2016节点,针对于虚拟机和SOFS资源,直接能够在群集内从2012R2节点迁移到2016节点上面,针对于虚拟机能够采起实时迁移的方式移动,移动完成后再重作节点,加入群集,最终节点都升级为2016,能够看到,这种方式很好,是一种颠覆性的思惟,如今咱们就在一个群集中就能够完成群集的升级,并且连离线上线的宕机时间也不须要有,不过惋惜只支持Hyper-V和SOFS能够经过这种滚动升级的方式升级,其它群集角色仍须要经过跨群集迁移向导。windows
本文老王将为你们实做介绍Hyper-V滚动升级,并提出实务操做上须要注意的点网络
滚动升级中,涉及到第一个新概念,即ClusterFunctionalLevel,简单来讲,能够把它理解为一种群集的功能,默认2012R2群集的FunctionalLevel是8,这有点相似于域里面林级别,域级别的概念,级别越高,功能越多,低级别没办法用到高级别的功能,所以,滚动升级的第一个阶段,全部节点都是2012R2,这时候群集FunctionLevel为8,享受8级别下全部群集功能,第二阶段当2016节点加入时,群集处于混合模式,这时FunctionLevel仍然会是8,由于还有节点未升级到2016,因此群集总体没办法彻底使用2016群集的新功能,第三阶段,全部群集节点均已升级至2016,能够手动升级群集FunctionLevel为9,彻底享受2016群集的新功能。ide
Technet滚动升级操做流程图测试
本次滚动升级环境以下优化
08dc&iscsispa
lan:10.0.0.2 255.0.0.0设计
iscsi:30.0.0.2 255.0.0.03d
12R2群集orm
HV01
MGMET:10.0.0.9 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.9 255.0.0.0
CLUS:18.0.0.9 255.0.0.0
HV02
MGMET:10.0.0.10 255.0.0.0 DNS 10.0.0.2
ISCSI:30.0.0.10 255.0.0.0
CLUS:18.0.0.10 255.0.0.0
此次咱们将采用两节点就地升级的方式
当前12R2群集上面跑了三台虚拟机
生产环境开始执行滚动升级以前,建议应针对于群集数据库和群集应用进行备份,而后应检查群集当前是否正在运行群集感知更新CAU角色,若是正在运行,滚动升级过程当中应该暂停该角色
使用 Get-CauRun命令查看当前群集是否运行CAU,若是未运行会获得以下警告,是正常的。
若是CAU正在运行,须要使用Stop-CauRun命令暂停它的运行
接下来咱们须要进行滚动升级,首先从HV02节点开始,使用维护模式,实时排水出HV02上面全部负载
排水结束,HV02当前被置为暂停模式,全部虚拟机已经被迁移至HV01
确保节点已经排出干净角色后,点击节点,选中暂停模式节点,点击更多操做,选择逐出节点,确保咱们干净的从群集中剔除了该节点。
如今HV02已经被剔除群集,咱们最好将它直接退出域
关机插入2016映像,不要采用升级安装,而是直接采用干净安装的方式
配置网卡,修改机器名,从新加入域,这里老王还选择相同的机器名,您也能够从新规划16节点的命名
16节点加入域后,安装Hyper-V角色及故障转移群集功能
链接共享存储,确保和12R2节点能够看到一样的存储
配置Hyper-V虚拟交换机,确保和12R2节点一致,由于以后还要进行实时迁移
在16节点上面链接到群集
添加节点至现有12R2群集
当前群集已经处于混合模式运做,能够看到HV02节点系统为2016,HV01节点系统为2012R2
在16节点上面运行Get-Cluster | Select ClusterFunctionalLevel ,能够看到当前为8,即12R2群集的级别
当前咱们已经来到了混合模式,在混合模式下运做群集时须要注意如下内容
混合模式下老是使用16节点去管理操做群集
混合模式不要运做太长时间,微软建议混合模式最多可维持四个星期
不要在16节点上面调整存储空间,不然故障转移到12R2节点时可能不兼容
混合模式下可选择回退,若是发现16节点不兼容现有应用,彻底能够重作16节点回去12R2,可无宕机时间直接实时迁移。
截止到目前为止还未出现宕机时间,如今16节点已经加入,咱们须要把虚拟机资源从12R2节点在线移动至16节点,这个操做须要在16节点上执行!
接下来按照相同步骤执行其它节点的升级操做
暂停节点,排出角色
逐出节点,退域
干净安装2016系统
修改计算机名,加入域,配置网络,安装Hyper-V,故障转移群集功能
配置虚拟交换机
加入群集
手动在线移动资源回来,或使用放置策略移动。
HV01也升级完成后,当前群集中是两台2016OS节点
可是此时运行Get-Cluster | Select ClusterFunctionalLevel查看发现群集级别依然是8
为何呢,按照不少人的理解可能会觉得既然群集节点如今都已经到2016了,群集功能级别应该自动会升级到最新的阿,但其实并无,缘由是这个操做,群集让咱们本身来决定,更新群集功能级别很简单,可是一旦更新了以后,意味着群集内节点只能有2016,以后再有2012R2节点时没办法再加入到群集的,升级群集功能级别,意味着完全切割滚动升级过程,意味着群集全部节点都已经升级到2016OS,您确信您的应用均可以很好的在16OS上面工做后,手动升级群集功能级别后,便可享受到完整的2016群集功能,升级群集功能级别是没有后悔药能够吃的,因此作这个决定必定要慎重,下一条命令很简单,可是下完以后群集就完全切割为2016级别,没法回退,2012R2节点再也没法加入。
#升级群集功能级别
Update-ClusterFunctionalLevel
能够看到已经升级为2016群集功能级别,如今已经能够彻底使用2016群集的新功能
若是以前有停用掉群集CAU功能,这时候能够再从新启动起来了
这里咱们回过头来思考一下,为何能够作到一个集群内的滚动升级,关键革新的技术有两个
1.16节点能够加入到现有12R2群集
2.虚拟机能够在线从12R2节点移动至16节点
第一点,老王认为核心的技术是混合模式群集,微软在16群集上面加入了向下兼容的机制,当咱们试图把16节点加入到12R2群集时,16节点检测到,这个群集的群集功能级别是8,符合个人最低要求,我能够加入进去,在混合模式状态下,帮助它们逐步完成滚动升级,因而16节点能够加入12R2群集,这在之前跨大版本是不可能加入到群集的,所以老王认为滚动升级第一个要点即实现了混合模式,有这个前提才能够继续日后作。
第二点,虽然咱们实现了混合模式,16节点能够加入到12R2群集,这时群集层面的事情,但咱们完成滚动升级的关键是,虚拟机是能够直接从2012R2节点实时迁移至2016节点的,这就是Hyper-V层面的功能了,也就是说应用,要完成滚动升级,不光群集层面要支持混合模式,并且应用也要能够向下兼容,才能完成滚动升级,Hyper-V 2016设计为能够兼容2012R2,2012R2Hype-V不管是经过实时迁移,或者虚拟机导入导出的方式,均可以移动虚拟机至2016上面运行,由此你们能够看出,要完成滚动升级,还须要群集应用的配合,目前16只能向下兼容Hyper-V和SOFS角色,maybe往后会容许更多应用滚动升级
Hyper-V 2016里面咱们能够手动控制虚拟机的配置级别,默认状况下,若是在以前的版本,虚拟机导入导出到更新的OS,或虚拟机就地升级,虚拟机的配置文件会随之自动更新至新版本,在2016这发生了改变,当咱们从2012R2移动过来的虚拟机,或2012R2导入进来的虚拟机,默认状况下,并不会自动升级其虚拟机配置文件版本,便是说,虽然虚拟机在2016上面运行,可是虚拟机的配置级别仍是2012R2的
这样有一个好处,便是说,咱们又多了一个后悔药能够吃,默认状况下咱们当前完成了滚动升级,群集功能级别已经升级至全新2016,2012R2节点不能够加入群集了,可是不要紧,只要虚拟机配置级别没有升级,咱们仍是能够从16群集中,把未升级虚拟机配置级别的虚拟机再实时迁移回单机的Hyper-v2012R2上,这样一旦16群集上面虚拟机跑的不舒服,或者16群集出现问题,咱们能够丢弃掉群集,再把虚拟机迁移回12R2单机节点上面运行。
若是咱们选择升级虚拟机配置级别,那么首先你须要关机虚拟机,关机以后才能升级它的配置级别,升级以后,虚拟机才能够利用到Hyper-V 2016的完整功能,也会有新的配置文件格式,可是,一旦虚拟机配置被升级到16最新,你就再没有后悔药可吃,虚拟机配置升上去以后,不再能迁回到12R2,这里一些公司可能虚拟机跑了一些关键应用,迁移新环境须要进行测试,老王建议,升级虚拟机配置这个步骤能够不着急,群集功能升级到最新后,能够观察个3-4周,确保虚拟机在16上面一切能够正常跑,又以为16Hyper-v上面有本身须要的功能,这时候您能够选择在一个合适的时间点,关机升级虚拟机配置。
首先要关闭虚拟机
#升级虚拟机配置级别
Update-VMVersion -VMName
#检查节点虚拟机配置级别
Get-VM * | Format-Table Name, Version
#升级完成全部虚拟机
#开机全部虚拟机
能够看到,虚拟机的配置文件已经变成了VMCX VMRS格式,而非12R2时的xml
关于16 Hyper-V新功能介绍以下,若是升级至16则能够得到里面所说所有功能,感兴趣的朋友能够看下是否有须要的值得升级上去的功能
滚动升级探险秘籍
不支持使用share vhdx的Guest群集使用滚动升级
SCVMM 2016能够和WSFC滚动升级功能配合,在VMM console触发执行滚动升级操做
滚动升级支持多台同时进行,例如你能够多我的一块儿重装群集节点,但只要规划好有足够的可用节点
16节点必定执行干净安装,不要执行升级安装!
混合模式下always使用16节点管理操做群集!
至此WSFC迁移篇结束,WSFC2016新功能介绍篇开始,老王计划从三个角度部署迁移,维护管理,排错优化分别讲起,但愿不管是对于滚动升级不了解,或了解的朋友,看过老王这篇文章后都能带来新的思考和收获。