SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • 产品
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • 新闻与活动
  • 服务器集群简单化
  • 成功案例
  • 联系我们
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

Archives for 3月 2018

每个SQL Server DBA需要了解的关于Windows Server 10的内容

3月 11, 2018 by Jason Aw Leave a Comment

每个SQL Server DBA需要了解的有关Windows Server 10 #SQLPASS的内容

在@SQLPASS的高可用性和灾难恢复虚拟章节中,大家邀请我在Windows Server 10上展示。我讨论了Cloud Witness,Storage Replica和Rolling Cluster OS升级。如果你错过了演示,你可以在这里查看录音。

转载自https://clusteringformeremortals.com/2015/01/13/what-every-sql-server-dba-needs-to-know-about-windows-server-10-sqlpass/的许可

Filed Under: 服务器集群简单化 Tagged With: 云见证, 滚动群集操作系统升级

配置SQL Server故障转移群集实例在Microsoft Azure IAAS中

3月 9, 2018 by Jason Aw Leave a Comment

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

7/19/2016更新 – 以下步骤描述了Azure“Classic”中的部署。 如果您要在Azure资源管理器(ARM)中部署SQL群集,那么您应该在这里看到我的文章。 https://clusteringformeremortals.com/2016/04/23/deploying-microsoft-sql-server-2014-failover-clusters-in-azure-resource-manager-arm/

在开始之前,我们将假设您至少对故障转移群集和Microsoft Azure略为熟悉,并且已经注册了Azure帐户。在整个分步指南中,我们将参考其他资源以进行额外阅读。本指南包含屏幕截图和代码示例。Azure是一种快速发展的产品,因此您的体验可能与所描述的不同。但是你应该能够根据需要进行调整和调整。随着时间的推移,我会尽力让本文保持最新状态。在撰写本文时,新的Azure门户仍处于预览阶段。因此,我们将在所有示例中使用当前支持的门户以及PowerShell。

在高层次上,为了在Azure IaaS上创建高度可用的SQL Server部署,需要采取以下步骤。如果您已经在Azure IaaS中拥有一个正在运行的域,则可以跳过项目1-3。

我们将仔细研究下面的每个步骤。

  • 创建您的虚拟网络
  • 创建一个云服务
  • 创建存储帐户
  • 创建您的Azure虚拟机和存储
  • 配置Active Directory
  • 创建一个群集
  • 创建复制群集卷资源
  • 将SQL安装到群集中
  • 创建一个内部负载平衡器
  • 更新客户端侦听器

概观

这些说明假定您希望完全在一个Azure区域内创建高度可用的SQL Server部署。完全可以在Azure中配置跨越不同地理区域的SQL Server群集,甚至可以配置从内部部署到Azure Cloud的混合云配置,反之亦然。我不打算在本文档中涵盖这些类型的配置。相反,我将关注配置的配置如图1所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中
图1 – Azure中的SQL Server故障转移群集

本文将介绍如何创建跨越Azure区域中两个不同的故障域和更新域的群集。跨越不同的故障域消除了与计划外停机相关的停机时间。跨越不同的更新域可以消除与计划停机时间相关的故障。

有关其他概述信息,您可能想要观看我在SQLTIPS上做的网络研讨会,详细讨论了这个主题。可以在http://www.mssqltips.com/sql-server-video/360/highly-available-sql-server-cluster-deployments-in-azure-iaas/上查看它。

创建您的虚拟网络

为了实现这个目标,您需要在虚拟网络中拥有所有虚拟机。创建虚拟网络非常简单。下面的屏幕截图应该有助于指导您完成整个过程。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

此时我想添加8.8.8.8的Google DNS服务器地址。尝试使用默认DNS服务器从Microsoft下载更新时,我遇到了奇怪的连接问题。在我们下载完所有这些服务器所需的更新后,我们将返回并用AD控制器的IP地址替换DNS服务器的IP地址。但现在,添加8.8.8.8,并且在此虚拟网络中供应的所有虚拟机都将通过DHCP服务将其作为DNS服务器接收。此论坛帖子描述了我没有添加此DNS服务器条目时遇到的问题。在将所有服务器添加到域之前,我发现您需要删除此8.8.8.8地址并将其替换为您创建的第一个域控制器的IP地址。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

你会看到我在这个虚拟网络中创建了一个子网,并将其标记为Public。稍后当我们创建我们的虚拟机时,我们将使用公共网络。虽然Azure最近添加了对每个虚拟机多个NIC的支持,但我发现将多个子网和NIC添加到Azure虚拟机可能会产生问题。主要问题是每个NIC都会自动分配一个网关地址,由于在同一台服务器上定义了多个网关,可能会导致路由问题。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建虚拟网络需要几分钟的时间。

创建一个云服务

您的虚拟机将全部驻留在相同的“Cloud Service”中。祝您找到Azure“云服务”的定义,因为Azure整体上是“云服务”。但是,这是您在开始部署VM之前需要创建的特定于Azure IaaS的特定思路。下面的屏幕截图将引导您完成整个过程。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

确保将Cloud Service放置在与虚拟网络相同的区域中。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建存储帐户

在开始配置VM之前,您必须创建一个存储帐户。按照以下步骤创建存储帐户。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

确保您在与虚拟网络相同的位置创建存储帐户

创建您的Azure VMS和存储

如果您尚未下载并安装Azure PowerShell,请立即执行此操作。此外,请确保您设置您的默认订阅和CurrentStorageAccountName。

我们将开始配置第一台将成为域控制器(DC)的VM。在我们的例子中,我们也将DC用作文件共享见证,因此我们将创建一个可用性集,其中包含域控制器和集群中的两个节点。以下是一个示例脚本,它将创建VM并为其分配“静态地址”。

$ AVSet =” SQLHA”

$ InstanceSize =”大”

$ VMNAME =” DC1“

$ AdminName =“myadminaccount”

$ ADMINPASSWORD =”输入mypassword”

$ PrimarySubnet =”公共”

$ PRIMARYIP =” 10.0.0.100“

$ CloudService =” SQLFailover”

$ VirtualNetwork =” Azure的东”

$ ImageName =” a699494373c04fc0bc8f2bb1389d6106__Windows-服务器-2012-R2-201412.01-en.us-127GB.vhd”

$ image = Get-AzureVMImage -ImageName $ ImageName

$ vm = New-AzureVMConfig -Name $ VMName -InstanceSize $ InstanceSize -Image $ image.ImageName -AvailabilitySetName $ AVSet

Add-AzureProvisioningConfig -VM $ vm -Windows -AdminUserName $ AdminName -Password $ AdminPassword

Set-AzureSubnet -SubnetNames $ PrimarySubnet -VM $ vm

Set-AzureStaticVNetIP -IPAddress $ PrimaryIP -VM $ vm

New-AzureVM -ServiceName $ CloudService -VNetName $ VirtualNetwork -VM $ vm

技术说明 – 我说“静态IP地址”,但它只是创建一个DHCP“请求”。我把它称为DHCP“Request”而不是“Reservation”,因为它只是一个尽力而为的请求。如果此服务器处于脱机状态并且某人启动了新服务器,则DHCP服务器可以将此地址分发给其他人,使其在此服务器处于开启状态时不可用。

一旦创建了第一个VM,就可以创建群集中使用的两个SQL VM。您会看到我试图通过允许您指定不同的变量来使脚本易于使用。我强调了需要为每个虚拟机更改的变量。

$ AVSet =” SQLHA”

$ InstanceSize =”大”

$ VMNAME =” SQL1“

$ AdminName =” myadminaccount”

$ ADMINPASSWORD =” P @ 55w0rd”

$ PrimarySubnet =”公共”

$ PRIMARYIP =” 10.0.0.101“

$ CloudService =” SQLFailover”

$ VirtualNetwork =” Azure的东”

$ ImageName =” a699494373c04fc0bc8f2bb1389d6106__Windows-服务器-2012-R2-201412.01-en.us-127GB.vhd”

$ image = Get-AzureVMImage -ImageName $ ImageName

$ vm = New-AzureVMConfig -Name $ VMName -InstanceSize $ InstanceSize -Image $ image.ImageName -AvailabilitySetName $ AVSet

Add-AzureProvisioningConfig -VM $ vm -Windows -AdminUserName $ AdminName -Password $ AdminPassword

Set-AzureSubnet -SubnetNames $ PrimarySubnet -VM $ vm

Set-AzureStaticVNetIP -IPAddress $ PrimaryIP -VM $ vm

New-AzureVM -ServiceName $ CloudService -VNetName $ VirtualNetwork -VM $ vm

再次运行脚本以配置第二个群集节点

$ AVSet =” SQLHA”

$ InstanceSize =”大”

$ VMNAME =” SQL2“

$ AdminName =“myadminaccount”

$ ADMINPASSWORD =”输入mypassword”

$ PrimarySubnet =”公共”

$ PRIMARYIP =” 10.0.0.102“

$ CloudService =” SQLFailover”

$ VirtualNetwork =” Azure的东”

$ ImageName =” a699494373c04fc0bc8f2bb1389d6106__Windows-服务器-2012-R2-201412.01-en.us-127GB.vhd”

$ image = Get-AzureVMImage -ImageName $ ImageName

$ vm = New-AzureVMConfig -Name $ VMName -InstanceSize $ InstanceSize -Image $ image.ImageName -AvailabilitySetName $ AVSet

Add-AzureProvisioningConfig -VM $ vm -Windows -AdminUserName $ AdminName -Password $ AdminPassword

Set-AzureSubnet -SubnetNames $ PrimarySubnet -VM $ vm

Set-AzureStaticVNetIP -IPAddress $ PrimaryIP -VM $ vm

New-AzureVM -ServiceName $ CloudService -VNetName $ VirtualNetwork -VM $ vm

您会发现每个这些虚拟机都放置在同一个可用性集中,我称之为“SQLHA”。通过将虚拟机放置在相同的可用性集中,可以利用此处所述的故障域和更新域。 http://blogs.technet.com/b/yungchou/archive/2011/05/16/window-azure-fault-domain-and-update-domain-explained-for-it-pros.aspx

一旦你创建了你的虚拟机,你的Azure Portal应该看起来像这样。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

关于故障域的智慧的话

故障域是一个很好的概念;但是微软不保证(截至2015年1月),您将每个可用性集总是获得三个故障域。事实上,大多数时候我只有两个故障域。如果最后只有两个故障域,你会考虑将你的文件共享见证放在不同的区域,以便100%确定你的群集投票没有大部分坐在同一个机架上。一旦Windows Server 10成为GA,这将不再是一个问题,因为您将能够使用Cloud Witness而不是File Share Witness。如果您希望看到三个故障域名作为标准,请在Azure idea网站上点击此链接并提出该观点的投票。

配置Active Directory

首先我们将通过RDP连接到DC1并启用活动目录。使用“连接”按钮将RDP连接下载到DC1。使用您在创建Azure VM时指定的用户名和密码。将DC1升级到域控制器。

内幕提示 – 我还发现,如果您移除DNS服务器上的所有DNS转发器并且只使用根提示,则DNS解析工作效果最佳。如果您使用他们的DNS服务器,AZURE有时可能会解决微软网络性能问题。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中
图2 – 删除所有转发器以获得可靠的名称解析

创建一个群集

将DC1配置为域控制器后,您将连接到SQL1和SQL2并将它们添加到域中。但是,在执行此操作之前,需要将虚拟网络的DNS服务器更改为DC1服务器(10.0.0.100)的DNS服务器,然后重新启动SQL1和SQL2。一旦SQL1和SQL2拥有100.0.0.100作为他们的DNS服务器,您将能够加入域。

一旦您加入到域中,您将必须完成以下说明的步骤才能创建SQL Server故障转移群集实例(FCI)。

首先,在每个节点上启用.Net 3.5 Framework。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

如果您发现无法安装.Net Framework,请参阅我的有关DNS的提示。

启用故障转移群集

现在.NET 3.5已启用,您需要在SQL1和SQL2上启用故障转移群集功能。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

验证

一旦启用了群集功能,您将需要创建群集。第一步是运行集群验证。我假设你熟悉集群,所以我只会发布一些屏幕截图并记下你需要考虑的事情。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

验证将完成,但会有一些警告。大多数警告将围绕存储。您可以忽略这些,因为我们将使用复制存储而不是共享磁盘。另外,您可能会收到关于网络的警告。您也可以忽略该警告,因为我们知道Azure在物理层内置了网络冗余。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建集群接入点

11/24/2015更新 – 我发现通过Powershell创建集群避免了以下GUI步骤中描述的所有这些问题,因为您可以将集群的IP地址指定为创建过程的一部分。下面的两个PowerShell命令替换本节后面的GUI屏幕截图中显示的所有步骤。确保StaticIaddress参数

测试群集节点服务器1,服务器2

New-Cluster -Name MyCluster -Node Server1,Server2 -StaticAddress 10.0.0.200

如果你运行了上面的Powershell脚本,那么你可以跳过本节的其余部分,直接跳到下一节创建文件共享见证。

我建议创建单击完成以启动群集创建过程。首先为群集选择一个名称。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

如果您点击查看报告,您会看到有一些警告。您可以忽略该警告,因为我们将创建一个文件共享见证。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

群集创建后,您可能会收到以下消息。“操作”验证配置…“没有完成。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

修复集群接入点IP地址

这里的根本问题是由于IP地址冲突,群集没有正确解析群集名称。你会发现Azure DHCP实际上给你刚创建的集群计算机对象提供了一个重复的IP地址。这只是您需要处理的奇怪Azure特性之一,如下所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

您可能需要在SQL2上打开故障转移群集GUI才能进行连接。一旦能够连接到群集,您将看到群集获取了与其中一个群集节点相同的IP地址。这当然会导致IP地址冲突。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

我们需要做的是将10.0.0.102 IP地址更改为此子网中未使用的另一个IP地址。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

你会看到我选择10.0.0.200作为我的地址。该地址不在DHCP范围内保留,因为目前没有办法控制DHCP范围或添加预留。我只是在DHCP范围的上端选择一个地址,并确保我没有在该子网内配置足够的虚拟机来达到该IP地址。

现在,群集IP地址已修复,您将能够使用任一节点上的故障转移群集管理器连接到群集。

创建文件共享见证

接下来,我们将为群集仲裁创建一个文件共享见证。有关群集仲裁的完整说明,请阅读我在MSDN上的博客文章,http://blogs.msdn.com/b/microsoft_press/archive/2014/04/28/from-the-mvps-understanding-the-windows-server -failover-集群定额功能于Windows的服务器-2012-r2.aspx

文件共享见证将在域控制器上创建。基本上,您需要在DC1上创建文件共享,并为群集计算机帐户“sioscluster”提供读/写权限。确保如下所示对共享和安全权限进行这些更改。

以下步骤在DC1上完成。

新建一个文件夹。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

确保搜索计算机对象并选择群集计算机对象名称,在我们的示例中为SIOSCLUSTER

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

确保你给它更改权限。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

您还需要更改安全性以允许群集计算机对象修改文件夹的权限。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建共享文件夹后,您将在任一节点上使用Windows Server故障转移群集界面添加文件共享见证,如下所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

安装DataKeeper

需要来自SIOS Technology的DataKeeper Cluster Edition才能提供复制和集群集成,这将允许您构建无共享存储的故障转移群集实例。首先,您将在群集的两个节点上安装DataKeeper Cluster Edition。执行如下所示的设置。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

出于演示目的,我使用了域管理员帐户。唯一的要求是所用的用户帐户位于每台服务器的本地管理员组中。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建一个DataKeeper卷资源

在每个群集节点上安装软件(SQL1和SQL2)后,即可准备创建第一个复制的卷资源。在任一节点上启动DataKeeper GUI,并按照以下步骤创建DataKeeper卷资源。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

连接到两台服务器后,单击服务器概览报告。它应该如下所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

您会注意到您已连接到两台服务器,但没有列出任何卷。接下来,我们需要为每个群集节点添加额外的存储。通过Azure门户执行此操作,如下所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

在为每个虚拟机添加额外卷并创建了格式化分区后,DataKeeper GUI应该如图所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

现在可以启动“创建作业向导”并创建DataKeeper卷资源,如下所示。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建作业,并给它一个名称和可选的描述。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

将SQL安装到群集中

现在您已经配置了集群并且在可用存储中安装了DataKeeper卷,您可以开始安装SQL Server集群了。该过程与使用共享存储安装SQL Server故障转移群集实例的过程完全相同。由于DataKeeper Replicated Volume资源是一个存储类资源,因此故障转移群集将其视为物理磁盘资源。按照下面的步骤将SQL Server安装到群集中。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

您可以使用SQL Server 2014 Standard Edition构建2节点故障转移群集。在这种情况下,DataKeeper也可以将数据复制到第三个节点,但该节点不能成为集群的一部分。如果您想创建3+节点群集,则需要使用SQL Server 2014 Enterprise Edition。SQL的早期版本也可以很好地工作。我已经通过SQL 2014测试了SQL 2008。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

在单击下一步之前,单击数据目录选项卡。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

一旦SQL安装在第一个节点上,您将需要在第二个节点上运行安装。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

创建一个内部负载平衡器

一旦配置了集群,您将需要创建将用于所有客户端访问的内部负载均衡器(ILB)。连接到SQL Server的客户端需要连接到ILB,而不是直接连接到群集IP地址。如果此时尝试直接连接群集,则会看到无法从任何远程系统连接到群集。即使SQL Server Management Studio也不能直接连接到群集。

从本地桌面运行此Powershell命令以创建您的内部负载均衡器(ILB)。

#定义变量

$ IP =“10.0.0.201”#希望内部负载平衡器使用的IP地址,它应该与您的SQL Server群集IP地址

$ svc =“SQLFailover”#您的云服务的名称

$ vmname1 =“sql1”#是您的第一个群集节点的VM的名称

$ epname1 =“sql1”#这是您要分配给与第一个群集节点关联的端点的名称,使用任何您喜欢的

$ vmname2 =“sql2”#是第二个群集节点的VM的名称

$ epname2 =“sql2”#这是您想要分配给与第二个群集节点关联的端点的名称,使用任何您喜欢的

$ lbsetname =“ilbsetsqlha”#使用任何你喜欢的名字,这个名字是不重要的

$ PROT =” TCP”

$ locport = 1433

$ pubport = 1433

$ probeport = 59999

$ ilbname =“sqlcluster”#this是客户端连接到的名称,它应该与您一致SQL集群名称资源

$ subnetname =“Public”#您希望内部负载均衡器存活的Azure子网名称

#将内部负载均衡器添加到服务

Add-AzureInternalLoadBalancer -InternalLoadBalancerName $ ilbname -SubnetName $ subnetname -ServiceName $ svc -StaticVNetIPAddress $ IP

#将负载均衡端点添加到主群集节点

Get-AzureVM -ServiceName $ svc -Name $ vmname1 | Add-AzureEndpoint -Name $ epname1 -LBSetName $ lbsetname -Protocol $ prot -LocalPort $ locport -PublicPort $ pubport -ProbePort $ probeport -ProbeProtocol tcp -ProbeIntervalInSeconds 10 -DirectServerReturn $ true -InternalLoadBalancerName $ ilbname |更新AzureVM

#将负载均衡端点添加到辅助群集节点

Get-AzureVM -ServiceName $ svc -Name $ vmname2 | Add-AzureEndpoint -Name $ epname2 -LBSetName $ lbsetname -Protocol $ prot -LocalPort $ locport -PublicPort $ pubport -ProbePort $ probeport -ProbeProtocol tcp -ProbeIntervalInSeconds 10 -DirectServerReturn $ true -InternalLoadBalancerName $ ilbname |更新AzureVM

假设脚本按计划运行,您应该看到以下输出。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

 

更新客户端侦听器

一旦创建了内部负载均衡器,我们将需要在SQL1上运行Powershell脚本来更新SQL Server群集IP地址。该脚本引用群集网络名称和IP资源名称。下面的图片显示您在故障转移群集管理器中找到这两个名称。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

下面的脚本应该在其中一个集群节点上运行。确保使用以管理员身份运行启动Powershell ISE。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

#在创建内部负载均衡器后,应在主群集节点上运行此脚本

#定义变量

$ ClusterNetworkName =“集群网络1”#集群网络名称

$ IPResourceName =“SQL IP地址1(sqlcluster)”#IP地址资源名称

$ CloudServiceIP =“10.0.0.201”#您的内部负载均衡器的IP地址

导入模块故障转移群集

#如果您使用的是Windows 2012或更高版本,请使用Get-Cluster Resource命令。如果您使用的是Windows 2008 R2,请使用注释掉的cluster res命令。

Get-ClusterResource $ IPResourceName | Set-ClusterParameter -Multiple @ {“Address”=“$ CloudServiceIP”;“ProbePort”=“59999”;
子网掩码=” 255.255.255.255“;”网络” =” $ ClusterNetworkName”;
“OverrideAddressMatch” = 1;” EnableDHCP时” = 0}

#cluster res $ IPResourceName / priv enabledhcp = 0 overrideaddressmatch = 1 address = $ CloudServiceIP probeport = 59999 subnetmask = 255.255.255.255

假设您的脚本按预期运行,输出应如下所示。您会看到,为了应用更改,您需要将群集资源脱机一次,然后将其联机。

分步说明:如何配置SQL Server故障转移群集实例(FCI)在Microsoft Azure IaaS中

火墙

每个服务器的防火墙上打开TCP端口59999,1433和1434。

概要

既然已创建群集,则可以使用名称sqlcluster或直接连接到10.0.0.201,通过内部负载均衡器连接到SQL故障转移群集实例。

查找有关SQL Server故障转移群集实例的文章有用,请阅读我们的其他博客文章。

经Clusteringformeremortal许可转载

 

Filed Under: 服务器集群简单化

Azure作为云备份服务您的Windows客户端

3月 9, 2018 by Jason Aw Leave a Comment

Azure作为云备份服务您的Windows客户端

本周刚刚宣布,Azure现在可以用于Windows 7/8客户端备份。前5 GB是免费的,然后是每GB 0.20美元。您可以每月获得大约105 GB(压缩)的大约20美元。这是MozyHome的一半价格。你们用于家庭PC的异地备份是什么?转载https://clusteringformeremortals.com/2014/12/18/azure-as-a-cloud-backup-service-your-windows-clients/的许可

Filed Under: 服务器集群简单化 Tagged With: 云备份

Azure存储服务中断…灾难恢复计划的时间

3月 8, 2018 by Jason Aw Leave a Comment

Azure存储服务中断…灾难恢复计划的时间

昨天傍晚太平洋标准时间,Azure存储服务在美国,欧洲和亚洲部分地区出现服务中断,影响了这些地区的多种云服务。

作为Azure存储性能更新的一部分,发现了一个问题,导致使用Azure存储的服务(包括虚拟机,Visual Studio Online,网站,搜索和其他Microsoft服务)的容量降低。

阅读Azure博客上的整个报告。 http://azure.microsoft.com/blog/2014/11/19/update-on-azure-storage-service-interruption/

那么这些中断对那些想要部署云计算的人意味着什么?对于任何云提供商而言,这种规模的全球“中断”绝对不会定期发生。特别是如果它打算留在云端业务,无论他们是微软,亚马逊,谷歌还是其他。但是,作为云计算架构师或负责云部署的人员,您有责任让您的客户在您的后袋中拥有“计划B”。在最坏情况实际发生的情况下,计划灾难恢复的时间。

什么是良好的灾难恢复计划?

B计划涉及在发生广泛中断并影响云提供商交付服务能力的情况下,在备用位置恢复数据和服务的程序。即使您拥有高度灵活的云部署,即使在某个地区,可用区域或故障域内发生本地化停机的情况下,此计划仍然十分重要。

数据恢复,应用程序恢复和客户端访问

在高层次上,您应该关心三件事情:数据恢复,应用程序恢复和客户端访问。解决这些问题的方法有很多,比其他方法更自动化。一些人的恢复时间目标(RTO)和恢复点目标(RPO)比其他人要好。

什么配置打败中断?

就在上周,我在博客中介绍如何创建一个跨云AWS云和Azure云之间的多站点群集。这种类型的配置正是我们昨天在Azure云中遇到的巨大停机事件所需要的。

Azure存储服务中断...“计划B”的时间
图1 – 云到多站点群集配置示例

“云到云”复制模型

“云到云”复制模型的另一种替代方法是将您自己的数据中心用作云部署的灾难恢复站点。对您的数据拥有实际所有权是有利的。但这意味着您重新开始管理数据中心。这可能会否定纯云部署的某些好处。

Azure存储服务中断...“计划B”的时间
图2 – 混合云部署模型

如果您尚未准备好充分利用云,请将云用作灾难恢复站点。这可能是实施灾难恢复异地数据中心的最简单和最具成本效益的方式。 开始利用云所提供的优势,而不必将所有工作负载全部投入到云中。

Azure存储服务中断...“计划B”的时间
图3 – 将云用作灾难恢复站点

DataKeeper集群版

上面显示的插图使用名为DataKeeper Cluster Edition的基于主机的复制解决方案来构建多站点SQL Server群集。但是,DataKeeper可以用来保持任何数据同步。在不同的云提供商之间或在混合云模式中。

提醒!有计划B

微软并不是唯一一个处理云中断的公司,因为仅今年一年,中断就影响了谷歌,微软,亚马逊,DropBox等等。有了“B计划”,任何时候您都必须依赖任何云服务。

转载自https://clusteringformeremortals.com/2014/11/20/azure-storage-service-interruptiontime-for-plan-b/的许可

Filed Under: 服务器集群简单化

Windows Server 10存储副本配置和故障转移群集

3月 7, 2018 by Jason Aw Leave a Comment

Windows Server 10存储副本配置和第一印象

令人兴奋的新功能 – 存储副本!

Storage Replicas是微软公布的Windows Server 10中最令人兴奋的新功能之一。这是微软在这里描述:http://technet.microsoft.com/en-us/library/dn765475.aspx#BKMK_SR。在文章的后面,我还会看看故障转移群集。

“存储副本(SR)是一项新功能,支持在服务器之间进行与存储无关的块级别同步复制以实现灾难恢复,以及扩展故障转移群集以实现高可用性。通过同步复制,可以在具有崩溃一致性卷的物理站点中镜像数据,从而确保文件系统级别的数据丢失为零。异步复制允许在大城市范围之外进行网站扩展,并有可能丢失数据。

这个改变增加了什么价值?

存储复制使您可以执行以下操作:

针对任务关键型工作负载的计划内和计划外停机提供全微软灾难恢复解决方案。

使用经过验证的可靠性,可扩展性和性能的SMB3传输。

将城市群延伸到大都会距离。

端到端使用Microsoft软件进行存储和群集,如Hyper-V,存储副本,存储空间,群集,横向扩展文件服务器,SMB3,重复数据删除和ReFS / NTFS。

帮助降低成本和复杂性如下:

硬件是不可知的,不需要立即放弃诸如SAN之类的传统存储。

允许商品存储和网络技术。

通过故障转移群集管理器和Microsoft Azure站点恢复功能,轻松实现个别节点和群集的图形管理。

通过Windows PowerShell提供全面的大型脚本选项。

有助于减少停机时间,并提高Windows固有的可靠性和生产力。

提供可支持性,性能指标和诊断功能。“

关于其他用例呢?

他们提到了很多用例:“Hyper-V,存储副本,存储空间,群集,扩展文件服务器,SMB3,重复数据删除和ReFS / NTFS”。我甚至不确定它们是什么意思,如ReFS / NTFS,重复数据删除,SMB3,存储复制,存储空间等列表技术。这些看起来更像功能而不是用例,我将假设它们是。

但让我们看看他们提到的其他一些用例:Hyper-V,集群,横向扩展文件服务器。我可以轻松想象Storage Replica如何通过启用不共享任何Scale-Out-File服务器和多站点群集(包括Hyper-V,SQL Server,文件服务器等)来增强这些用例。在某些情况下,它还可以启用SANLess局域网集群,从而允许在不需要共享物理磁盘资源的情况下构建集群。

让我们看看故障转移群集

在我第一次看到这个解决方案时,我决定专注于我所知道和喜欢的故障转移群集。为了让事情变得简单,我决定我将专注于构建一个简单的双节点传统文件服务器(而不是向外扩展文件服务器)。我将从完全纯粹的Windows Server 10域中的三个新虚拟机开始。

入门

很容易下载ISO,然后安装到我的3个虚拟机上的速度非常快。推广DC与2012 R2相似。虽然我认为在安装AD功能后必须实际运行DCPromo更加明显。

我安装了我的域,并且没有构建没有问题的资源的基本双节点群集。接下来,我使用VMware Fusion作为我的虚拟机管理程序,因为它支持嵌套的虚拟机管理程序(这种功能严重缺乏Hyper-V进行测试和演示)。然后,我向群集中的每个虚拟机添加了一些额外的VMDK文件,并将它们格式化为每个虚拟机上的E:和F :,这些将成为我的副本卷。还有一点需要注意,我还没有定义资源,并且群集没有共享存储。完美,随时可以开始配置存储副本!

复制过程开始

因此,我启动了故障转移群集管理器,并开始探讨如何启动复制过程。在用户界面中完全没有任何东西可以找到,副本,复制或任何与之相近的东西。由于文档没有发货,而且几个小时前才发布,所以我尽我所能去弄清楚,尽管我拼命地搜索了Twitter的博客。没问题我说,我是一个集群MVP,我的专长是复制和多站点集群,所以我会弄清楚这一点。

经过一番搜索后,我发现有一项名为Windows Volume Replication的新功能。

Windows Server 10存储副本配置和第一印象

呃。发生了什么?

太好了,所以我在两个节点上都认为这将会很棒,但在Windows故障转移群集界面中,“配置副本”仍然没有出现。更多地抓我的头,并试图接触到一些聪明的人,我仍然不知道。然后它在我身上曙光……“也许它只支持群集磁盘?”现在功能公告称“支持商品存储”。对我来说,这意味着在我的电脑中的任何旧硬盘驱动器,或者在这种情况下,我的虚拟机上连接的虚拟磁盘。事实证明,我是正确的;磁盘必须作为可用存储中的物理磁盘资源出现在群集中。

最后到达某处

好吧,不是最大的要求,但我继续堵塞。要获得一些可作为连接到我的虚拟机的物理磁盘资源添加的磁盘,我在我的DC上启用了iSCSI目标角色,并为我的每个虚拟机创建两个iSCSI虚拟磁盘。现在请记住,这不像常规集群,因此每个虚拟磁盘只分配给一个虚拟机,它们不共享。

Windows Server 10存储副本配置和第一印象

我使用iSCSI启动器连接到这些磁盘的每个虚拟机,初始化,联机和格式化它们。然后我使用故障转移群集管理器将它们添加到群集。

最后,我看到一些新的复制选项。

我仍然努力了一段时间,让复制启用按钮甚至变得可选。

必须知道!

以下是您在旅途中获得此次展会所需知道的IMPORT内容:

  • 磁盘必须是群集中的物理Dis资源。这意味着它们必须支持SCSI3保留,并且必须通过群集验证。
  • 磁盘必须是GPT,而不是MBR
  • 要复制的每个磁盘都必须具有关联的“磁盘”才能用于“日志文件”。我认为这是他们在复制中断时对数据进行排队的地方,或者是在数据稍微落后的异步镜像中
  • 您必须将磁盘(仅数据磁盘,而不是日志磁盘)添加到群集资源,然后才能启用复制。您无法在位于可用存储中的磁盘上启用复制
  • 您的源服务器和目标服务器必须具有相同大小的磁盘和卷字母

启用复制

一旦你这样做,你将最终能够启用复制。

就像我所说的,您需要选择一个需要在可用存储中的源日志磁盘。Microsoft建议使用SSD磁盘。我不知道它应该有多大。我认为它是更大的复制可以被中断,然后再占用所有空间并打破镜像。

下一步是选择目标服务器上的磁盘。如果您收到“没有可用存储空间”的消息,则可能需要移动“可用存储”,以使目标磁盘在辅助服务器上处于联机状态。

如果您选择“选择节点”,请确保技术预览中的移动可用存储似乎没有被破坏。但是,如果您选择“最佳可能节点”并且事情似乎有效。可用存储将在SECONDARY服务器上联机。

现在,所有可用存储都应该在SECONDARY服务器上联机。

 

还有一个用于目标日志文件的磁盘

这看起来像一个很好的功能,特别是对于WAN复制。显然,您可以播种到目标磁盘,避免在WAN上完全同步。

下一个屏幕只是确认一切…

故障转移群集管理器 – 完成所有操作

你的集群应该看起来像这样。您可能会注意到复制状态显示“未知”。我假设这是一个将在稍后解决的错误。

故障转移群集管理器

其他错误

我注意到通过故障转移群集管理器可用的文件共享创建向导似乎不起作用。启动后它会意外关闭。但是,您可以使用文件管理器在活动节点上创建共享,并自动将其添加到群集中。

一些基本的测试似乎表明故障转移群集管理器工作正常。请注意,您知道哪些卷是复制的数据卷,哪些是日志卷。写入日志文件的数据不会被复制,所以如果你犯了一个错误(就像我做的那样),你可能会认为复制不起作用。

最后,在所有这些试验和错误之后,我发现微软已经开始发布至少几个关于如何完成这项工作的指针。请查看Storage副本PM的Ned Pyle在本文中的要求。

http://social.technet.microsoft.com/Forums/windowsserver/en-US/f843291f-6dd8-4a78-be17-ef92262c158d/getting-started-with-windows-volume-replication?forum=WinServerPreview&prof=required

我的想法…

我保留我的想法,直到我有更多时间玩这个功能。

转载自https://clusteringformeremortals.com/2014/10/04/windows-server-10-storage-replica-configuration-and-first-impressions-windows10/

Filed Under: 服务器集群简单化

  • « Previous Page
  • 1
  • …
  • 4
  • 5
  • 6

最近的帖子

  • 在 Nutanix 环境中选择高可用性解决方案的 10 个注意事项
  • 我的服务器是一次性的吗?高可用性软件如何融入云最佳实践
  • 灾难频发世界的数据恢复策略
  • DataKeeper 和棒球:灾难恢复的战略举措
  • SQL Server 停机风险预算

最热门的帖子

加入我们的邮件列表

Copyright © 2025 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in