本文老王将为大家实作Windows Admin Center的高可用部署,相信有了高可用的架构支持将更进一步推进该产品的落地


环境介绍

08dc2

lan 10.0.0.2 255.0.0.0


16server1

lan 10.0.0.3 255.0.0.0 dns 10.0.0.2

clus 18.0.0.3 255.0.0.0

storage 30.0.0.3 255.0.0.0


16server2

lan 10.0.0.4 255.0.0.0 dns 10.0.0.2

clus 18.0.0.4 255.0.0.0

storage 30.0.0.4 255.0.0.0


Windows Admin Center (下文简称WAC) 支持部署平台:Windows 10,Windows Server 2016,Windows Server 2019

WAC支持管理的服务器客户端:Windows Server 2008R2,2012,2012R2,2016,2019, HyperV-Server 2012R2,2016,Windows 10

管理Server 2008R2 需要事先安装.NET4.5.2 WMF5.1

管理Server 2012R2 需要事先安装WMF5.1

管理Hyper-V Server 2012R2需要事先安装WMF5.1,启用远程管理,启用文件服务器角色,为PowerShell启用Hyper-V模块

管理Hyper-V Server 2016需要事先启用远程管理,启用文件服务器角色,为PowerShell启用Hyper-V模块


Windows Admin Center 高可用部署思路


WAC目前未采取前后端分离架构,呈现在Windows上面只是一个Windows Admin Center的应用服务,高可用部署采用WSFC架构,通过A/P部署的方式在两台节点分别安装WAC文件,WSFC对WAC服务进行群集应用,检测该服务健康状况,如果所在节点宕机,则在另外节点启动挂载WAC服务


WAC先决条件


  1. 已经安装好的WSFC群集

  2. 群集提供正常可用CSV,用于存放WAC数据库文件,CSV底层可以是SAN,ISCSI,S2D,JBOD架构

  3. 下载WAC高可用部署脚本,部署过程全部由脚本自动化完成

  4. 事先准备可导出私钥证书模板,申请证书,将证书导出放在与脚本相同文件夹

  5. 将脚本与证书文件夹复制到群集每一个节点相同路径下


WAC可以整合的2016,2019技术

  1. WAC本身可以部署在一个S2D群集上

  2. WAC现已支持管理存储副本

  3. WAC现已可以监控Hyper-V 2016 SDN

  4. 2019最新存储迁移技术只能在WAC上面管理操作

  5. WAC现已公开SDK,编写SDK扩展时可以使用PS脚本


当前老王已经部署好了一个WSFC群集,采用文件共享见证,节点与CNO放置在默认OU下

存储采用S2D架构

Enable-ClusterS2D -CacheState disabled -Autoconfig 0 -SkipEligibilityChecks

稍后会在S2D上层创建CSV,WAC会将WAC运作过程需要的数据库文件,界面文件等统一存在CSV中,如果测试环境,或者WAC管理的主机不多,数据库量不大,可以不用考虑缓存机构,如果WAC管理主机很多,使用的人也很多,建议可以考虑配置缓存架构以提高管理效率

基于群集磁盘创建一个CSV

准备一张可以导出私钥的证书,默认情况下我们通过MMC向企业CA申请的证书是不支持导出私钥的,因此需要我们复制新建证书模板,登陆证书服务器,打开证书模板,复制Web服务器证书模板,在请求处理页面勾选 允许导出私钥

在常规界面勾选在AD中发布证书

在安全界面下,添加计算机对象,Domain Computers 勾选注册权限,或考虑安全因素也可以仅添加WAC群集节点允许注册。

证书模板处新建要颁发的证书模板,选择我们自定义的证书模板

发布完成后回到群集节点上通过 MMC - 计算机账户 - 个人 申请证书,可以看到我们刚才在CA中新发布的证书模板

在证书申请处选择配置详细信息

公用名处添加WAC群集 VCO名称,创建完成群集后大家会通过这个名称访问WAC,因此务必确保证书名称一致

备用名处添加DNS名称,WAC VCO名称,各节点FQDN名称

配置完成后将带私钥证书导出 放入群集脚本文件与安装文件相同路径,然后将此文件夹复制到群集各个节点相同路径

WAC群集安装脚本下载地址 http://aka.ms/WACHASetupScripts

WAC 1804下载地址http://aka.ms/WACDownload,1804是目前已经GA的版本,本文采用1804版本进行部署,更新版本可以在Insider中心下载

先决条件都准备就绪后在其中一个群集节点上面以管理员身份打开Windows Power Shell,准备进行安装

脚本命令说明如下


.\Install-WindowsadminCenterHA.ps1 -ClusterStorage C:\ClusterStorage\Volume1 -ClientAccesspoint wac -MSIPath C:\WACFile\WindowsadminCenter.msi -CertPath C:\WACFile\wac.pfx -CertPassword $cerpassword -StaticAddress 10.0.0.20

-ClusterStorage:群集共享卷的本地路径,用于存储Windows管理中心数据。

-ClientAccesspoint:选择将用于访问Windows管理中心的名称,例如填写wac,安装完成后将以wac.oa.com访问WAC

-StaticAddress: WAC VCO对应的群集IP地址

-MsiPath:Windows管理中心.msi文件的路径

-CertPath: 证书.pfx文件路径

-CertPassword: 提供的证书.pfx的securestring密码

-GenerateSslCert: 可选,如果不想提供签名证书,请包含此参数标志以生成自签名证书 ,自签名证书将在90天后过期

-PortNumber: 可选,如果未指定端口,则网关服务将部署在443端口(HTTPS)上 可在此参数中指定使用其他端口


脚本会在每个节点上面安装WAC文件,只不过同一时间只有一个节点的WAC服务开启,其它节点停止待命

安装完成后打开CSV可以看到如下文件夹架构

打开DB文件夹可以看到WAC运行过程中所存储的DB文件格式,可见是Windows上面传统的EDB格式,有检查点文件,临时文件,数据库文件等,当我们在其中一个节点上面打开WAC执行管理操作,该节点宕机后,另外节点启动时将去CSV这个路径下加载捞取WAC管理数据

安装完成WAC界面如下,正常情况下如果按照老王介绍的步骤去安装证书,SSL这里应该是绿色信任,如果证书不信任请检查证书申请步骤时名称是否有误


对比2017年9月24号老王写Honolulu时,Windows Admin Center已经有了不少增强


支持直接进行存储副本管理


支持了授权管理,Azure整合

实际测试故障转移情况,当前WAC主要由16server2提供服务,老王直接将其断电


在我的虚拟化实验环境中,从16server2宕机,到16server1接管提供服务,一共宕机了2-3分钟,根据我的观察并不是能ping通了,就可以使用了,即便是ping通之后仍然要等到1-2分钟之后,网页才可以正式打开,因为它前后端都在一起,因为当一个节点宕机,在另外一个节点启动时,必然需要重新加载前后端的步骤,因此这部分加载的时间也会算作宕机时间,具体时间长短视机器性能决定,经过2-3分钟的故障转移时间 可以看到此时是由16server1提供服务,但是管理数据都还在,并不需要重新添加


WAC简单来说它是微软下一代的服务器管理中心,折中于单机管理工具与私有云之间的一个轻量级数据中心管理平台,管理员将可以通过WAC portal完成百分之70以上微软平台系统管理工作,解除了原来每天一上班需要开很多个管理工具的烦恼,通过一个网关平台管理私有云 公有云 虚拟机 物理机,从最初它作为Honolulu项目时就被微软寄予厚望,发展到今天的WAC,它更为极致,更为实用。增强了对于虚拟化,S2D,SDN的管控,打通了到AzureAD,Azure Backup,Azure File Sync,disaster recovery的混合云集成,增强了授权访问,开放了SDK开发规范,吸引开发人员和供应商生态,支持企业级高可用部署,支持脚本检视器,这样的趋势看来WAC未来的关键词会是混合,灵活,实用轻量


从另外一份更新的消息看来下一版的WAC还将引入system insight功能,能够帮助管理员预测服务器 群集性能峰值,并且能够设定在达到峰值时需要采取的自动化操作,坦白说这可能是很多管理员梦寐以求的功能,但是随之而来老王也担心WAC会因此而变沉,因为分析预测需要数据库以及分析引擎的支持,不知道最终呈现出来会是什么样子,希望不会违背WAC的初衷把,目前这个产品在我看来很强,从system insight可以看出微软有意为这个产品赋予智能的标签,同时,Windows Server 2019中微软也做了个试探,将存储迁移这项新功能只能够通过WAC操作,目的应该是试验一下大家对于WAC的接受程度,如果接受程度好,可能以后新功能都会只在WAC上面上线,因此大家现在了解和使用WAC是很有必要的


未来我希望这个产品就这样,保持轻盈,保持实用,未来也许会带来的改变,我认为微软会考虑到IT人员编辑扩展方面,也许会引入一些便于IT人员操作的无代码扩展工具,身份验证和界面定制应该会更灵活,也许会对客户端管理上面进行一些增强,例如可以远程为客户端演示,远程盘点统计客户端资产,远程直接下发软件。服务器管理上面我认为WAC将主要关注2016 2019的新功能模块,例如SDS,SDN,微软会不断在WAC上面优化这两项功能的管理体验,会考虑对接Linux,容器等新兴技术。

Windows Admin Center 高可用部署的更多相关文章

  1. HTML5 播放 RTSP 视频的实例代码

    目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。本文重点给大家介绍HTML5 播放 RTSP 视频的实例代码,需要的朋友参考下吧

  2. 利用Node实现HTML5离线存储的方法

    这篇文章主要介绍了利用Node实现HTML5离线存储的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. 详解如何通过H5(浏览器/WebView/其他)唤起本地app

    这篇文章主要介绍了详解如何通过H5(浏览器/WebView/其他)唤起本地app的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  4. H5混合开发app如何升级的方法

    本篇文章主要介绍了H5混合开发app如何升级的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  5. AmazeUI 折叠面板的实现代码

    这篇文章主要介绍了AmazeUI 折叠面板的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码

    这篇文章主要介绍了HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

  7. Html5 video标签视频的最佳实践

    这篇文章主要介绍了Html5 video标签视频的最佳实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  8. html5唤起app的方法

    这篇文章主要介绍了html5唤起app的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  9. HTML5拍照和摄像机功能实战详解

    这篇文章主要介绍了HTML5拍照和摄像机功能实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

随机推荐

  1. static – 在页面之间共享数据的最佳实践

    我想知道在UWP的页面之间发送像’selectedItem’等变量的最佳做法是什么?创建一个每个页面都知道的静态全局变量类是一个好主意吗?

  2. .net – 为Windows窗体控件提供百分比宽度/高度

    WindowsForm开发的新手,但在Web开发方面经验丰富.有没有办法为Windows窗体控件指定百分比宽度/高度,以便在用户调整窗口大小时扩展/缩小?当窗口调整大小时,可以编写代码来改变控件的宽度/高度,但我希望有更好的方法,比如在HTML/CSS中.在那儿?

  3. 使用Windows Azure查询表存储数据

    我需要使用特定帐户吗?>将应用程序部署到Azure服务后,如何查询数据?GoogleAppEngine有一个数据查看器/查询工具,Azure有类似的东西吗?>您可以看到的sqlExpressintance仅在开发结构中,并且一旦您表示没有等效,所以请小心使用它.>您可以尝试使用Linqpad查询表格.看看JamieThomson的thispost.

  4. windows – SetupDiGetClassDevs是否与文档中的设备实例ID一起使用?

    有没有更好的方法可以使用DBT_DEVICEARRIVAL事件中的数据获取设备的更多信息?您似乎必须指定DIGCF_ALLCLASSES标志以查找与给定设备实例ID匹配的所有类,或者指定ClassGuid并使用DIGCF_DEFAULT标志.这对我有用:带输出:

  5. Windows Live ID是OpenID提供商吗?

    不,WindowsLiveID不是OpenID提供商.他们使用专有协议.自从他们的“测试版”期结束以来,他们从未宣布计划继续它.

  6. 如果我在代码中进行了更改,是否需要重新安装Windows服务?

    我写了一个Windows服务并安装它.现在我对代码进行了一些更改并重新构建了解决方案.我还应该重新安装服务吗?不,只需停止它,替换文件,然后重新启动它.

  7. 带有双引号的字符串回显使用Windows批处理输出文件

    我正在尝试使用Windows批处理文件重写配置文件.我循环遍历文件的行并查找我想要用指定的新行替换的行.我有一个’函数’将行写入文件问题是%Text%是一个嵌入双引号的字符串.然后失败了.可能还有其他角色也会导致失败.如何才能使用配置文件中的所有文本?尝试将所有“在文本中替换为^”.^是转义字符,因此“将被视为常规字符你可以尝试以下方法:其他可能导致错误的字符是:

  8. .net – 将控制台应用程序转换为服务?

    我正在寻找不同的优势/劣势,将我们长期使用的控制台应用程序转换为Windows服务.我们为ActiveMQ使用了一个叫做java服务包装器的东西,我相信人们告诉我你可以用它包装任何东西.这并不是说你应该用它包装任何东西;我们遇到了这个问题.控制台应用程序是一个.NET控制台应用程序,默认情况下会将大量信息记录到控制台,尽管这是可配置的.任何推荐?我们应该在VisualStudio中将其重建为服务吗?我使用“-install”/“-uninstall”开关执行此操作.例如,seehere.

  9. windows – 捕获外部程序的STDOUT和STDERR *同时*它正在执行(Ruby)

    哦,我在Windows上:-(实际上,它比我想象的要简单,这看起来很完美:…是的,它适用于Windows!

  10. windows – 当我试图批量打印变量时,为什么我得到“Echo is on”

    我想要执行一个简单的批处理文件脚本:当我在XP中运行时,它给了我预期的输出,但是当我在Vista或Windows7中运行它时,我在尝试打印值时得到“EchoisOn”.以下是程序的输出:摆脱集合表达式中的空格.等号(=)的两侧可以并且应该没有空格BTW:我通常在@echo关闭的情况下启动所有批处理文件,并以@echo结束它们,所以我可以避免将代码与批处理文件的输出混合.它只是使您的批处理文件输出更好,更清洁.

返回
顶部