Date: 11月 5, 2018
标签:天蓝色的文件服务器故障转移群集, 文件服务器
循序渐进:在Azure跨越可用区中配置文件服务器群集
循序渐进:在Azure跨越可用区中配置文件服务器群集
在本文中,我们将详细介绍在Azure中部署跨越新可用区的双节点文件服务器故障转移群集所需的特定步骤。我将假设您熟悉基本的Azure概念以及基本的故障转移群集概念。我将重点介绍在Azure中跨可用区部署文件服务器故障转移群集的独特之处。如果您的Azure区域尚不支持可用区,则必须使用Fault Domains,如前面的帖子中所述。使用DataKeeper Cluster Edition,您可以获取本地连接的托管磁盘,无论是高级磁盘还是标准磁盘,并在两个或多个集群节点之间同步,异步或混合或同时复制这些磁盘。此外,DataKeeper Volume资源在Windows Server故障转移群集中注册,该资源取代了物理磁盘资源。DataKeeper Volume不是像物理磁盘资源那样控制SCSI-3保留,而是控制镜像方向。它确保活动节点始终是镜像的源。就故障转移群集而言,它的外观,感觉和气味就像物理磁盘一样,其使用方式与物理磁盘资源的使用方式相同。
先决条件
- 您之前使用过Azure Portal,并且很乐意在Azure IaaS中部署虚拟机。
- 已获得SIOS DataKeeper的许可证或eval许可证
在Azure中部署文件服务器故障转移群集
要在Azure中构建双节点文件服务器故障转移群集实例,我们假设您具有基于Azure资源管理器的基本虚拟网络。您至少有一个虚拟机已启动并正在运行并配置为域控制器。配置虚拟网络和域后,您将配置两个新虚拟机,它们将充当群集中的两个节点。我们的环境将如下所示:DC1 – 我们的域控制器和文件共享见证SQL1和SQL2 – 文件服务器群集的两个节点。不要让这些名字让你感到困惑。我们正在本指南中构建文件服务器群集。在我的下一篇文章中,我将演示SQL Server群集配置。
配置两个群集节点
使用Azure门户,我们将以完全相同的方式配置SQL1和SQL2。 有多种选择可供选择,包括实例大小,存储选项等。本指南并不是在Azure中部署服务器的详尽指南。 有一些非常好的资源,每天都有更多的资源。但是,在创建实例时要记住几个关键事项,尤其是在群集环境中。可用区 – SQL1,SQL2驻留在不同的可用区中非常重要。为了本指南的目的,我们假设您使用的是Windows 2016,并将使用Cloud Witness进行群集仲裁。如果使用Windows 2012 R2或Windows Server 2008 R2而不是Windows 2016,则需要在第3个可用区中配置文件共享见证。直到Windows Server 2016才推出Cloud Witness。通过将群集节点放在不同的可用区中,我们确保每个群集节点位于同一区域中的不同Azure数据中心。利用可用区而不是旧的故障域是有益的。它将您与几周前发生的中断类型隔离开来,这些中断使整个中南部地区连续多天。请务必将每个群集节点添加到其他可用区。如果您利用文件共享见证,它应该位于第三个可用区。[/ caption]
静态IP地址
配置每个VM后,您将需要进入设置并更改设置,以使IP地址为静态。我们不希望更改群集节点的IP地址。确保每个群集节点都使用静态IP [/ caption]
存储
就存储而言,您将需要参考Azure虚拟机中SQL Server的性能最佳实践。在任何情况下,您至少需要为每个群集节点添加至少一个额外的托管磁盘。DataKeeper可以在本地存储空间中使用基本磁盘,高级存储甚至多个磁盘。如果您确实要使用本地存储空间,请注意在任何群集配置之前创建存储空间。这是由于故障转移群集和本地存储空间的已知问题。所有磁盘都应格式化为NTFS。
创建群集
假设已按上述方式配置了两个群集节点(SQL1和SQL2)并将其添加到现有域中,我们就可以创建群集了。在创建群集之前,需要启用一些功能。这些功能是.Net Framework 3.5和故障转移群集。需要在两个群集节点上启用这些功能。您还需要启用FIle服务器角色。在两个群集节点上启用.Net Framework 3.5和故障转移群集功能以及文件服务器。[/ caption]一旦启用了该角色和这些功能,您已准备好构建群集。我要向您展示的大多数步骤都可以通过PowerShell和GUI执行。但是,我将建议您在第一步中使用PowerShell创建群集。如果您选择使用故障转移群集管理器GUI来创建群集,您将发现最终会向群集发出重复的IP地址。在不详细介绍的情况下,您会发现Azure VM必须使用DHCP。通过在Azure门户中创建VM时指定“静态IP”,我们所做的就是创建一种DHCP预留。它不完全是DHCP保留,因为真正的DHCP保留会从DHCP池中删除该IP地址。相反,在Azure门户中指定静态IP只是意味着如果在VM请求它时该IP地址仍然可用,Azure将向其发出该IP。但是,如果您的VM处于脱机状态且另一台主机在同一子网中联机,则可能会发出相同的IP地址。
Azure如何实现DHCP的另一个副作用
使用Windows Server Failover Cluster GUI创建群集时,无法指定群集IP地址。相反,它依靠DHCP来获取地址。奇怪的是,DHCP将发出重复的IP地址。通常与请求新IP地址的主机具有相同的IP地址。群集安装将完成,但您可能会遇到一些奇怪的错误。您可能需要从其他节点运行Windows Server Failover Cluster GUI才能使其运行。一旦运行它,您将需要将核心群集IP地址更改为网络上当前未使用的地址。只需通过Powershell创建集群并指定集群IP地址作为PowerShell命令的一部分来创建集群,就可以避免这种混乱。您可以使用New-Cluster命令创建集群,如下所示:
New-Cluster -Name cluster1 -Node sql1,sql2 -StaticAddress 10.0.0.100 -NoStorage
群集创建完成后,您还需要运行以下命令来运行群集验证。您应该会看到有关存储和网络的一些警告,但这在Azure中是可以预期的,您可以忽略这些警告。如果报告任何错误,您需要在继续之前解决这些错误。
测试群集
创建仲裁群集
如果您运行的是Windows 2016或2019,则需要为群集仲裁创建Cloud Witness。如果您运行的是Windows Server 2012 R2或2008 R2,则需要创建文件共享见证。关于证人创建的详细说明可以在这里找到。
安装DataKeeper
创建集群后,就可以安装DataKeeper了。在创建初始群集后安装DataKeeper非常重要,这样可以向群集注册自定义群集资源类型。如果在创建群集之前安装了DataKeeper,则只需再次运行安装并执行修复安装。在创建群集后安装DataKeeper [/ caption]在安装过程中,您可以使用所有默认选项。 您使用的服务帐户必须是域帐户,并且位于群集中每个节点上的本地管理员组中。 服务帐户必须是每个节点上Local Admins组中的域帐户一旦安装DataKeeper并在每个节点上获得许可,您将需要重新启动服务器。
创建DataKeeper卷资源
要创建DataKeeper Volume Resource,您需要启动DataKeeper UI并连接到这两个服务器。连接到SQL1 [/ caption] 连接到SQL2 [/ caption]连接到每个服务器后,即可创建DataKeeper卷。右键单击Jobs并选择“Create Job”为作业命名和描述。 选择源服务器,IP和卷。IP地址是复制流量是否会传播。 选择目标服务器。 选择你的选择。对于两个VM位于同一地理区域的目的,我们将选择同步复制。对于更长距离的复制,您将需要使用异步并启用一些压缩。 通过在上次弹出窗口中单击“是”,您将在故障转移群集中的可用存储中注册新的DataKeeper卷资源。 您将在可用存储中看到新的DataKeeper卷资源。
创建文件服务器群集资源
要创建文件服务器群集资源,我们将再次使用Powershell而不是故障转移群集接口。原因在于,再次因为虚拟机配置为使用DHCP,基于GUI的向导不会提示我们输入群集IP地址,而是发出重复的IP地址。为避免这种情况,我们将使用简单的powershell命令创建FIle Server群集资源并指定IP地址
Add-ClusterFileServerRole -Storage“DataKeeper Volume E”-Name FS2 -StaticAddress 10.0.0.101
记下您在此处指定的IP地址。它必须是网络上唯一的IP地址。我们稍后在创建内部负载均衡器时将使用相同的IP地址。
创建内部负载均衡器
以下是Azure中的故障转移群集与传统基础结构的不同之处。Azure网络堆栈不支持免费ARPS,因此客户端无法直接连接到群集IP地址。相反,客户端连接到内部负载平衡器并重定向到活动群集节点。我们需要做的是创建一个内部负载均衡器。这可以通过Azure门户完成,如下所示。如果客户端通过公共Internet连接,则可以使用公共负载均衡器。但假设您的客户端位于同一个vNet中,我们将创建一个内部负载均衡器。需要注意的重要一点是,虚拟网络与群集节点所在的网络相同。此外,您指定的专用IP地址将与用于创建文件服务器群集资源的地址完全相同。此外,由于我们使用的是可用区,因此我们将创建一个区域冗余标准负载均衡器,如下图所示。 创建内部负载均衡器(ILB)后,您需要对其进行编辑。我们要做的第一件事就是添加一个后端池。通过此过程,您将选择两个群集节点。 接下来我们要做的就是添加一个Probe。我们添加的探针将探测端口59999。此探针确定群集中哪个节点处于活动状态。 最后,我们需要一个负载平衡规则来重定向SMB流量,TCP端口445。在下面的屏幕截图中需要注意的重要事项是直接服务器返回已启用。确保你做出改变。
修复文件服务器IP资源
配置的最后一步是在其中一个群集节点上运行以下PowerShell脚本。这将允许群集IP地址响应ILB探测。还要确保群集IP地址和ILB之间没有IP地址冲突。请注意;您需要编辑此脚本以适合您的环境。子网掩码设置为255.255.255.255。 这不是一个错误,保持原样。这将创建一个特定于主机的路由,以避免与ILB发生IP地址冲突。
#定义变量 $ ClusterNetworkName =“” #群集网络名称(在更高的Windows Server 2012上使用Get-ClusterNetwork查找名称) $ IPResourceName =“” #IP地址资源名称 $ ILBIP =“” #内部负载均衡器的IP地址(ILB) 导入模块FailoverClusters #如果您使用的是Windows Server 2012或更高版本: Get-ClusterResource $ IPResourceName | Set-ClusterParameter -Multiple @ {Address = $ ILBIP; ProbePort = 59999; SubnetMask =“255.255.255.255”; Network = $ ClusterNetworkName; EnableDhcp = 0} #如果您使用的是Windows Server 2008 R2,请使用以下命令: #cluster res $ IPResourceName / priv enabledhcp = 0 address = $ ILBIP probeport = 59999 subnetmask = 255.255.255.255
创建文件共享
您会发现在故障转移群集管理器中使用文件共享向导不起作用。相反,您只需在活动节点上的Windows资源管理器中创建文件共享。故障转移群集会自动获取这些共享并将其放入群集中。请注意,此配置不支持文件共享的“连续可用性”选项。
结论
您现在应该在Azure中具有可用的文件服务器故障转移群集,该群集跨越可用区。 如果您需要DataKeeper评估密钥,请填写http://us.sios.com/clustersyourway/cta/14-day-trial上的表格,SIOS将发送一份发送给您的评估密钥。