如何配置要在 NLB 群集上使用的 BAM 门户
可以将 BAM 门户配置为在网络负载平衡 (NLB) 群集中使用。
重要
BAM 门户 仅在 32 位模式下运行。 如果 IIS 安装在 64 位计算机上,请确认在 32 位模式下启用了 ASP.NET 2.0。 为此,请打开 IIS 管理器,打开“应用程序池”, (BAMAppPool) 选择应用程序池,然后单击“高级设置”。 在 “启用 32 位应用程序”中,选择“ True”。
有关其他 BAM 门户要求,请参阅 规划 BAM 门户。
准备在 NLB 群集上配置 BAM 门户
在第一台计算机上安装并配置门户。
注意
只在第一台计算机上配置门户。 你可以选择在群集中的其他计算机上启用 BAM 门户,但只在第一台计算机上进行配置。
在所有要包括在 NLB 群集中的计算机上安装门户组件,然后将群集中的其他计算机加入到已配置门户的计算机的 BizTalk 组中。 必须启用 BizTalk 组并加入相应组。
选择为安装门户的计算机配置的 BizTalk 管理数据库。
创建 NLB 群集。 有关如何创建和管理网络负载均衡群集的详细信息,请参阅 中的 https://go.microsoft.com/fwlink/?LinkId=56206“创建和管理网络负载平衡群集”。
注意
继续操作之前,应该确认 NLB 群集在 BizTalk Server 上下文以外工作正常。
注意
若要设置基于硬件的 NLB,请参阅硬件提供商的文档。
更新 BAM 配置以反映群集的位置
使用 BAM 管理实用程序获得当前 BAM 配置。 为此,请单击“开始”,单击“运行”,然后键入 \Program Files (x86) \Microsoft BizTalk Server <VERSION>Tracking\bm get-config -FileName:MyConfig.xml。
将本地主机名换为 NLB 群集的名称。 为此,请单击“开始”,单击“运行”,然后键入记事本 \Program Files (x86) \Microsoft BizTalk Server <VERSION>Tracking\MyConfig.xml。
仅对于基于硬件的 NLB,验证配置文件具有以下内容:
<GlobalProperty Name="BAMVRoot"> http://<NLB IP Address>:portname/BAM</GlobalProperty>
注意
在更新基于硬件的 NLB 上的 BAM 配置时,不必执行步骤 4 和 5。
将以下行中的计算机名 (machinename) 改为群集名以指向 NLB 群集:
<GlobalProperty Name=" BAMVRoot"> http://machinename:portname/BAM </GlobalProperty>
保存新配置。 为此,请单击“开始”,单击“运行”,然后键入 \Program Files (x86) \Microsoft BizTalk Server <VERSION>Tracking\bm update-config -FileName:MyConfig.xml。
编辑 BAM 门户 web.config 文件中的 BAMmanagementService 和 QueryService URL 使之改为指向 NLB 服务器名。 注意:对于基于硬件的 NLB,此过程不是必需的。
使用记事本打开 web.config 文件,方法是单击“开始”,单击“运行”,键入记事本 \Program Files (x86) \Microsoft BizTalk Server <VERSION>BAMPortal\web.config,然后单击“确定”。
在以下两行中修改其中的计算机名 (machinename) 和端口名,使其指向群集名:
<add key="BamQueryWSUrl" value="http://machinename:portname /BAM/BAMQueryService/BamQueryService.asmx" /> <add key="BamManagementWSUrl" value=" http://machinename:portname/BAM/BAMManagementService/BamManagementService.asmx" />
保存文件。 为此,请单击“ 文件”,然后单击记事本菜单栏上的“ 保存 ”。
配置群集中的其他计算机
将 web.config 文件复制到群集中每个附加计算机上的 \Program Files (x86) \Microsoft BizTalk Server <VERSION>BAMPortal 文件夹。
注意
在以下步骤中,所有对 Program Files 文件夹的引用都将是 64 位计算机的 Program Files (x86) 。
重要
在以下步骤中,创建虚拟目录时,请进行查看以确保它们与 BizTalk Server 配置在第一台计算机上所创建的三个 BAM 虚拟目录的设置相同。 确认文件路径、ASP.NET 版本、目录权限和应用程序池。 使用与你设置第一台计算机时使用的相同的域服务帐户在要设置的计算机上运行 BAMAppPool。 确保 BAMAppPool 在所有计算机上运行。 你必须复制两个 web.config 文件。
除了 web.config 文件 \Program Files (x86) \Microsoft BizTalk Server <VERSION>BAMPortal 外,还必须复制 \Program Files (x86) \Microsoft BizTalk Server <VERSION>BAMPortal\BAMManagementService 和 \Program Files (x86) \Microsoft BizTalk Server VERSION> 中的 web.config <文件BAMPortal\BAMQueryService 到此计算机上的相同文件夹。
仅对于基于硬件的 NLB,在以下两行中修改其中的计算机名 (machinename) 和端口名,使其指向群集名:
<add key="BamQueryWSUrl" value="http://machinename:portname /BAM/BAMQueryService/BamQueryService.asmx" /> <add key="BamManagementWSUrl" value=" http://machinename:portname/BAM/BAMManagementService/BamManagementService.asmx" />
创建一个称为 BAMAppPool 的应用程序池。
注意
虚拟目录的目录路径应为 %InstallationFolder%/BamPortal、%InstallationFolder%/BamPortal/BAMManagementService 和 %InstallationFolder%/BamPortal/BAMQueryService。
在默认网站下创建名为 BAM 的虚拟目录。
将 BAM 虚拟目录的应用程序池更改为 BAMAppPool。
注意
虚拟目录的目录路径应为 %InstallationFolder%/BamPortal、%InstallationFolder%/BamPortal/BAMManagementService 和 %InstallationFolder%/BamPortal/BAMQueryService。
在 BAM 下创建名为 BAMManagementService 的虚拟目录。
将 BAMManagementService 的应用程序池改为 BAMAppPool。
注意
虚拟目录的目录路径应为 %InstallationFolder%/BamPortal、%InstallationFolder%/BamPortal/BAMManagementService 和 %InstallationFolder%/BamPortal/BAMQueryService。
在 BAM 下创建名为 BAMQueryService 的虚拟目录。
将 BAMQueryService 的应用程序池改为 BAMAppPool。
在虚拟目录属性 ASP NET 选项卡上,使用 INETMGR 更改 BAM 的版本,使用 BAMMANAGEMENTSERVICE 和 BAMQUERYSERVICE 将应用程序的版本设置为 .NET Framework 4。
运行 aspnet_setreg.exe -k:“SOFTWARE\Microsoft\BizTalk Server\3.0\BAM\WebServices\identity” -u:BAMWebServiceAccount -p:Password。 此处指定的帐户是 BAM 管理 Web Services 用户帐户。
注意
BAM 门户 仅在 32 位模式下运行。 如果 IIS 安装在 64 位计算机上,必须在 32 位模式下启用 ASP.NET 2.0。 为此,请打开 IIS 管理器,打开“应用程序池”, (BAMAppPool) 选择应用程序池,然后单击“高级设置”。 在 “启用 32 位应用程序”中,选择“ True”。
规划 BAM 门户 列出了其他要求。
运行 SubInACL,为 Web Services 上的应用程序池用户设置读 ACL。SubInACL 是一个命令行工具,使用它可以使管理员获取有关文件、注册表项和服务的安全信息,并将此信息从一个用户传递到另一个用户,从本地传递到全局,从一个组传递到另一个组,以及从一个域传递到另一个域。
下载 SubInAcl。
打开命令提示符。 为此,请单击“ 开始”,单击“ 运行”,键入 cmd,然后单击“ 确定”。
在命令提示符下键入以下内容:subinacl.exe /subkeyreg“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\BAM\WebServices”“/grant=Network Service=R”
注意
此命令的目的是授予 BAM 应用程序池用户对 SOFTWAREMicrosoftBizTalk Server3.0BAMWebServicesidentity 注册表项的读取访问权限。 由于默认情况下,IIS 对应用程序池使用网络服务,因此本示例使用网络服务。 如果你不想使用默认的 IIS 设置,则应该替换你的部署所使用的应用程序池用户。
在命令提示符下键入以下内容:subinacl.exe /keyreg“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0”“/grant=<BAM WebService 帐户>”
注意
此命令的目的是向 BAM 管理 Web Services 用户帐户授予读取 SOFTWARE\Microsoft\BizTalk Server\3.0\BAM\WebServices\Identity 注册表项的权限。
验证应用程序池用于运行 BAMManagement Web 服务的身份具有对 ASPNET_SETREG 键的读访问权限。
使用“计算机管理”管理员工具向 IIS Worker Process 组 (IIS_WPG) 和 SharePoint services 组 (STS_WPG) 添加 BAM 管理 Web Services 用户和 BAM 应用程序池帐户。
为应用程序池和 Web 服务用户设置临时 ASP.NET 文件夹的权限:c:\windows\system32\cacls “%windir%\Microsoft.NET\Framework\ v2.0。<min 版本号>\临时 ASP.NET 文件“ /T /E /G <BAM WebService 帐户>:F
注意
你要同时向 BAM 管理 Web Services 用户帐户和 BAM 应用程序池用户帐户授予权限。