SharePoint 2016:性能优化和高可用(四,数据库高可用性设计方法介绍)

SharePoint 2016:性能优化和高可用(四,数据库高可用性设计方法介绍)

通常高可用性,涉及使用额外的冗余组件以避免中断,并确保在主要组件发生故障时继续运行。在正常情况下,发生故障或需要计划维护时会发生中断。通过实施适当的高可用性策略,您可以确保更高程度的服务正常运行时间。正常运行时间通常以百分比来衡量。例如,99.99%的正常运行时间(有时称为4个9的正常运行时间)仅表示0.01%的停机时间,相当于每年52分钟的停机时间。

在设计满足高可用性要求的解决方案时,包含支持整个解决方案的注意事项非常重要。如果只有一个Web服务器,则使数据库服务器具有高可用性是没有意义的,因为Web服务器成为服务器场的单点故障。此外,您必须计划支持组件(例如网络基础架构),作为高可用性解决方案的一部分,以避免其他单点故障,包括电缆,交换机和电源。

在设计高可用性SharePoint解决方案时,应考虑以下组件:

  • 硬件故障保护。
  • Web服务器。
  • 应用服务器。
  • 数据库服务器
  • 服务器虚拟化

一,使用SQL镜像实现高可用性介绍

 

一,使用SQL镜像实现高可用性

SQL数据库镜像是一种在SQL Server 2012之前的SQL Server版本中使数据库具有高可用性的选项(在SQL Server 2012中,AlwaysOn可用性组解决了高可用性问题,如本课程后面所述)。数据库镜像在备用SQL服务器上提供称为镜像的数据库的冗余副本。此镜像数据库会自动保持最新,并且数据库的主体副本中会发生更改。镜像数据库服务器也称为故障转移数据库服务器。

镜像将包含数据库主体副本的服务器的事务日志信息发送到持有镜像的服务器,在该服务器上连续重播日志,以便镜像副本反映最新的更改。Microsoft将在SQL Server的未来版本中删除此功能,因此建议避免将此功能用于新的开发工作。您还应该计划修改当前使用此功能的应用程序。相反,您应该使用AlwaysOn可用性组,因为这是支持高可用性需求的首选方法。

使用SQL镜像,只有主体SQL服务器可以在任何给定时间将更改写入数据库。SQL镜像仅支持一个镜像,以提供总共两个数据库副本。

SQL镜像支持三种可用性模式:

  • 高可用性模式。

This mode uses synchronous mirroring so that transactions on the principal database are only committed after the same transactions have successfully copied to the mirror. This mode requires the use of an additional SQL server as a witness server, which monitors both the principal server and the mirror server, if you want to provide optional automatic fail over capabilities.

  • 高安全模式。

This mode also uses synchronous mirroring, but it does not require the use of a witness server. This mode guarantees the data on the mirror, but cannot provide automatic failover. You should consider it a warm standby option, which means that the solution cannot automatically take over in the event of a failure at the primary server. You will have to do some reconfiguration work to bring the solution online.

  • 高性能模式。

This mode uses asynchronous mirroring, which allows the principal to commit transactions as soon as possible, without waiting to confirm that the mirror has received copies of the transactions. This means that the mirror might not be fully up to date with the principal, so some data might be lost at failover. However, this mode allows for a higher throughput of transactions on the principal. This mode does not require a witness server because failover is a manual process.

  • 故障转移数据库服务器

通过使用创建新Web应用程序,新内容数据库或新服务应用程序时提供的故障转移数据库服务器选项,SharePoint 2016支持使用SQL Server镜像进行自动故障转移。如果指定故障转移数据库服务器且SharePoint在多次重试操作后无法联系主体SQL Server,则SharePoint将自动尝试连接到故障转移数据库服务器上的同一数据库,该服务器将成为镜像。

您可以在SQL Server标准版上配置SQL同步镜像。它对Windows Server没有特殊要求。您只能使用SQL Server Enterprise或Datacenter版本配置SQL异步镜像。

SQL Server 2016中提供了数据库镜像,但该功能已被弃用。建议不要在SQL Server 2012及更高版本中使用数据库镜像进行新部署。在SQL Server 2012及更高版本中,您应该将AlwaysOn可用性组视为SQL镜像的替代。

下图说明了作为Web服务器和应用程序服务器的两台服务器对SQL服务器进行更改(由箭头表示),然后SQL服务器将更改的副本(由箭头表示)发送到镜像。

二,使用故障转移群集实现SQL高可用性

SQL Server故障转移群集基于Windows Server故障转移群集(WSFC)。群集可以防止实际数据库服务器硬件的故障,而镜像可以防止数据本身的故障。如果使用WSFC和共享存储平台(如Internet小型计算机系统接口(iSCSI)或基于光纤通道的存储),则可以创建SQL Server的高可用性实例。

除了在该实例上运行的数据库之外,SQL Server的高可用性实例还包括实例网络名称和IP地址等元素。这意味着您无需为数据库(例如SharePoint 2016)配置正在运行的应用程序,以进行故障转移服务器设置。如果群集中的服务器出现故障,整个SQL实例(包括存储访问,网络名称,IP地址和支持的Windows服务)将故障转移到群集中的另一个节点,并且应用程序将能够访问数据库而无需重新配置。

注意:在SQL Server 2012中,SQL故障转移群集称为AlwaysOn故障转移群集。

由于WSFC功能,SQL故障转移群集要求在Windows Server Enterprise或Datacenter版本上安装SQL Server。Windows Server 2008 R2支持最多16个节点的群集,而Windows Server 2012及更高版本支持最多64个节点的群集。

要点:与故障转移群集实例的主要区别在于共享存储的要求。这意味着不会重复存储并且不需要更大的存储要求。

下图描绘了一个SQL故障转移群集,该群集由三台服务器组成,其中共享存储在第一个节点上运行Microsoft SQL Server实例。显示两个Web服务器和应用程序服务器,其中箭头指向指示与SQL实例通信的SQL Server实例。SQL实例的虚线箭头指向集群中的其他两个节点,表示能够将整个SQL实例故障转移到另一个节点。

三,使用ALWAYSON可用性组以获得高可用性

SQL Server 2012及更高版本提供称为AlwaysOn可用性组的高可用性机制。AlwaysOn可用性组通过以类似于数据库镜像的方式管理数据库的多个副本,但显着增强,为数据库提供高可用性保护。您将在实验室环境中使用SQL Server 2014。

创建AlwaysOn可用性组时,将SQL Server 2014的实例配置为该组的主副本。主副本承载您希望保持高可用性的数据库的读/写副本。然后,您可以将一到四个SQL Server 2014实例配置为辅助副本。每个辅助副本都托管可用性组中包含的主副本中每个数据库的副本。如果主副本变为不可用,则可以手动或自动将主副本的角色传递给名为故障转移的进程中的一个辅助副本。

要在可用性组中高度可用的数据库必须使用完整恢复模型。主副本通过将事务复制到辅助副本来使辅助副本保持最新。

AlwaysOn可用性组支持两种可用性模式:

  • 同步提交模式。

In synchronous-commit mode, when a client updates a database, the primary replica writes the change to its local log and copies the change to its secondary replicas. The primary replica then waits for the secondary replicas to confirm that they have written the transaction to their logs before committing the transaction and sending an acknowledgement to the client. Synchronous-commit mode ensures that the databases that are part of the availability group on the primary and secondary replicas are synchronized at all times to ensure that no data is lost in the event of a fail over. However, this process results in reduced performance while the primary replica waits for confirmation.

  • 异步提交模式。

In asynchronous-commit mode, when a database receives an update, the primary replica writes the change to its log and sends the updates to its secondary replicas. In this mode, the primary replica does not wait for confirmation from the secondary replicas, which results in improved performance. However, if a fail over occurs, the secondary replicas might not have all the transactions from the primary and some data might be lost.

客户端使用可用性组侦听器连接到可用性组中的数据库,该侦听器由域名系统(DNS)名称,TCP端口号和一个或多个IP地址组成。使用侦听器无需在发生故障转移时重新配置客户端以连接到新的主副本。

AlwaysOn可用性组支持不同类型的故障转移,可以是自动或计划的。它们可能会也可能不会保证数据的零丢失,具体取决于可用性数据库是以同步提交模式还是以异步提交模式运行。自动故障转移仅在同步提交模式下可用。

请务必注意,SQL Server 2014 AlwaysOn可用性组需要在Windows Server 2012 Datacenter版本上运行的SQL Server 2012 Enterprise Edition。

下图描绘了AlwaysOn可用性组中的三个SQL服务器,其中包含数据库的一个主副本和两个副本副本。箭头描述从主要副本移动到两个副本副本的事务副本。描述了Web服务器和应用服务器与保存数据库主副本的SQL服务器通信。

四,使用日志传送获得高可用性

在SQL Server 2012及更高版本中,日志传送提供了一种实现热备份解决方案的简单方法,以帮助实现高可用性和灾难恢复方案。但是,热备份解决方案比从备份恢复数据库要快得多,实施起来通常比热备用解决方案(如镜像)更便宜,后者可以提供自动故障转移解决方案。

日志传送要求您定期备份事务日志并将备份复制到辅助服务器,辅助服务器还包含数据库的副本。辅助服务器将还原日志备份,以便在您要启动辅助副本时准备好处理日志。一系列SQL Server代理作业自动执行此备份,复制和还原过程。

您可以指定执行日志备份并将其传输到辅助服务器的频率,以确定辅助副本的落后程度。但是,请务必注意,日志传送始终存在数据丢失的风险,因为无法保证主副本和辅助副本之间的事务一致性。您可以跨不同的子网使用日志传送,也可以使用不同物理位置的SQL服务器之间的日志传送,例如灾难恢复站点。

您还可以将辅助副本配置为具有负载延迟,从而防止辅助数据库在最近的时间窗口(例如八小时)内包含更改。这意味着辅助副本将始终比主副本晚8小时。如果要保护数据库免受用户错误或逻辑损坏,此配置非常有用。在这种情况下,管理员可以选择切换到尚未处理您要避免的操作的辅助副本。

日志传送要求您使用数据库上的完整或大容量日志恢复模型。您可以使用在Windows Server 2008 R2 SP1或更高版本标准版上运行的SQL Server 2012或更高版本的标准版和企业版的日志传送。Windows Server Enterprise版本没有特定要求配置日志传送。

下图描绘了一个主服务器和两个辅助SQL服务器,其中来自主服务器的事务按计划发送到辅助副本(由带有文件和时钟的箭头表示)。每个辅助服务器旁边都有一个时钟,表示数据库与主副本不是最新的。描述了两个Web和应用程序服务器访问持有主副本的服务器。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值