快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

最大限度地减少还原备份的需求

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

本系列第二部分讨论了在各种级别的停机时间内维护系统的成本,数据丢失的方式以及构成备份的内容。在本期中,我将讨论如何配置硬件以最大程度地减少还原备份的需要。

正确安装硬件

正确设置硬件是确保数据安全的第一步。在指定硬件和设置数据库时做出的决定可以确定您是数据库英雄还是替罪羊。您的普通硬件人员不了解SQL Server,而您的普通DBA不了解硬件。作为一个对两个世界都足够了解的人,可以对结果产生真正的影响。

请稍等一下您的普通,低端服务器。它可能有一个或两个硬盘驱动器和一个或两个电源。当使用默认设置安装SQL Server时,所有程序,数据和日志都放在同一驱动器的同一文件夹(在我看来,在“程序文件”文件夹中很尴尬)。

使用默认设置,您有多少个单点故障?首先,单个硬盘驱动器或单个电源的故障将使服务器至少暂时停机。如果硬盘驱动器发生故障,则需要获得一个新驱动器,重新安装SQL Server并还原备份。这将需要一些时间。

您可以采取许多措施来减少可能遭受的灾难性数据丢失。第一件事是考虑购买至少具有两个电源的服务器。电源是一个相当常见的故障点,经常获得冗余电源只会使系统成本增加约250美元。这是花得很好的钱。

RAID级别

RAID(独立[或廉价]驱动器的冗余阵列)硬盘是两个或多个驱动器结合使用,以提供容错能力和/或性能优势。在Google上搜索RAID将为您提供大量详细介绍RAID的文章,但以下是对流行RAID级别的快速说明。

  • RAID 0条纹磁盘阵列,无容错能力。数据块分布在两个或多个驱动器上,提供了更好的性能,但没有冗余。
  • RAID 1镜像和双工。同时将数据写入多个磁盘。在适当的硬件支持下,速度与非RAID驱动器大致相同。在RAID 1配置中,每拥有两个磁盘,您只会得到一个磁盘的容量。
  • RAID 5数据和奇偶校验信息分布在多个驱动器上。RAID 5使用分布式奇偶校验安排,因此单个驱动器上的奇偶校验信息不会成为瓶颈。读写奇偶校验信息会有一些额外的开销。
  • RAID 0 + 1-在两个RAID 0条带上创建一个RAID 1镜像。
  • 将创建RAID 10多个RAID 1镜像,并在这些镜像之上创建RAID 0。

还有许多其他RAID级别,但这些是最常用的级别。例如,RAID 4与RAID 5类似,但是具有专用的奇偶校验驱动器。当相同的硬件通常可以在RAID 5配置中做得更好时,不太可能有人会使用RAID 4。

对于提供冗余的RAID级别,您可能会问,如果其中一个驱动器出现故障,究竟会发生什么?这也取决于所涉及的硬件。

在许多情况下,RAID驱动器是“可热插拔的”,这意味着当控制器检测到故障时,您可以简单地卸下有问题的驱动器,然后在服务器继续运行时将其更换。更换驱动器后,将更新新驱动器,以使其包含所需的数据和奇偶校验信息。如果在替换第一个故障驱动器之前另一个驱动器发生故障,则RAID 5配置将失败。某些控制器允许使用“热备用”驱动器,该驱动器不包含任何数据,但其中一个驱动器发生故障时将自动使用。

其他可能的故障点是网卡,内存,处理器和主板。许多服务器提供冗余网卡和错误纠正内存,以减少这些组件发生灾难性故障的机会。万一处理器或主板出现故障,您可能需要进行一些维修。

SQL Server的配置

硬件上的此信息如何反映您将如何安装和配置SQL Server?在为SQL Server计算机指定硬件和操作系统设置时,可以采取许多措施来提高可靠性和可恢复性。

首先,您想将日志和数据保存在不同的驱动器上。

每当SQL Server对数据库进行更改时,除更改数据外,还将有关更改的信息写入日志(是的,这有点夸张-某些操作未记录)。通过将日志放在一个驱动器或RAID阵列上,而将数据放在另一个驱动器或RAID阵列上,您将有最大的机会消除灾难性的数据丢失。如果日志卷失败,则可以简单地修复该卷而不会丢失数据。如果数据量失败,给定备份和日志,您应该能够恢复到失败点。

我最近在SQL Server备份过程中遇到了令人尴尬的失误,这是由于没有将数据和日志放在单独的卷上而引起的。虽然我监督了许多客户端站点上的正确备份和恢复过程,但是我自己的个人站点(实际上是业余站点,而不是我的业务的一部分)受到的保护较少。我使用的是一台非常古老的服务器,该服务器已被重新铺设了几次,但我不知道,我用于数据,备份和日志的不同逻辑卷位于同一物理卷上。您可以猜测其余的内容:硬盘驱动器故障,并附带所有最近的数据。

幸运的是,这是我的业务不需要的个人数据。我的业务数据已正确备份,并在一两个小时内恢复了。但是,仅仅因为这些数据没有商业价值,并不意味着它并不重要。恢复它需要巧妙地使用数据所在页面的Google缓存。关于鞋匠的赤脚儿子的故事是什么?

虽然可以将SQL Server安装在FAT,FAT32或NTFS卷上,但是没有理由不将SQL Server安装在NTFS卷上。NTFS支持压缩卷或目录,但是强烈建议不要压缩用于SQL Server数据或日志文件的任何卷或目录。压缩会严重降低SQL Server的性能。如果要将卷专用于SQL Server的日志或数据,请使用64 KB群集大小(与SQL Server数据扩展区大小匹配的大小)格式化驱动器。

我们不仅对数据和日志阵列都使用RAID 1(或RAID 5或RAID 10),我们对如何使用日志和数据卷上的数据的理解可以提供更明智的选择。假设您对最佳读写性能感兴趣,并且不能容忍任何数据丢失,那么对数据使用RAID 10或0 + 1,对日志使用RAID 1可以提供出色的性能和可靠性,但是成本很高。为了获得更高的可靠性,您可以具有RAID 10或0 + 1数据卷和RAID 1日志卷的多个镜像副本。

假设您的需求不是那么极端,尤其是在写性能不是很关键的情况下,使用RAID 5卷作为数据和RAID 1卷作为日志可提供许多更昂贵的RAID 10 / RAID 1选项所提供的功能。

对数据使用RAID 5或RAID 10,您很可能将能够从单个磁盘故障中恢复。磁盘故障是服务器最可能与硬件有关的问题。

消除故障的余点

即使使用上述RAID设置,仍然要考虑多个故障点。如果主板或磁盘控制器发生故障,您的数据可能仍将保留在硬盘上,但是在解决硬件问题之前无法访问。我说数据“很可能”存储在硬盘上,因为磁盘控制器可能会以足够引人注目的方式发生故障,从而将所有数据都带到硬盘上。

我通常在Web应用程序上工作,关于Web上使用的协议的最重要的事情之一就是可以轻松消除单点故障。根据许多因素,您可以创建一个Web服务器集群,在集群的前端具有一个负载均衡器,以分配传入的请求。HTTP请求的无状态性质通常意味着群集中的任何计算机都可以处理每个单个请求。如果用户请求一个项目列表,单击其中一个项目,然后将其发送到其他Web服务器,则可以干净地处理该请求。这忽略了诸如会话状态之类的事情,但是许多Web技术允许在群集中的机器之间共享会话状态。

群集SQL Server困难得多。要利用Microsoft解决方案,您必须使用Windows 2000/2003 Advanced Server或Datacenter版本以及SQL Server Enterprise Edition。虽然我经常将群集用于Web服务器,但没有在SQL Server上使用群集。我认为这部分是由于这种解决方案的巨大成本,以及设置它的难度。

还需要注意的是,如果将SQL Server群集在同一物理位置的两台计算机上,则无法避免在本系列第二部分中讨论的所有类型的故障。群集不能防止灾难性的站点故障,例如延长的停电,洪水和飓风。还有很多普通的站点故障,例如Internet连接断开。

对于世俗的站点故障,有许多可能的解决方案。假定两个站点之间的正常连接,则可以创建一个服务器,其中包含实时数据库的最新副本。在有关使用Red Gate Software的SQL Toolkit同步SQL Server数据库的文章中,我讨论了将数据从一个SQL Server复制到另一个SQL Server的一些方法。

我最近了解到的是日志传送。关于SQL Server复制主题的书籍已经写好了,但是听起来它可能是解决问题的简单方法,但是却并不简单。更重要的是,它并不便宜。它涉及部署最可靠的服务器,添加第二个故障转移站点,保持两个站点同步以及管理客户端对正确位置的访问。这样的设置和配置可以轻松将您的成本提高到数百万美元。

Next:备份SQL Server数据的细节

既然您知道为什么要备份,什么是确切的备份以及如何配置硬件以最大程度地减少还原备份的需求,下一步就是探索SQL Server备份的选项。您应该在哪里备份?多常?制作完这些备份后,应该如何处理?本系列下一篇文章中的所有内容。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638