您推荐使用哪种硬件来通过以下设置保存数据库备份:
5 个独立的物理主机,每个主机都有一个 Sql Server 2008 数据库。每个实例都大于 200Gb。每个数据库每天进行一次完整备份,每隔几个小时进行一次差异备份。我想将一周的备份保存在机器外的一个位置,以便在必要时快速轻松地将数据库还原到不同的机器上。
目前,他们都将压缩备份发送到单个大型文件共享,这会导致不堪重负并频繁导致备份失败。
还有一个问题,将本地备份复制到远程服务器的最快和最经济的方法是什么?
答案1
您提到目前您的备份失败是因为它们被发送到单个共享 - 购买廉价硬件来创建另一个共享似乎没有帮助。
我认为首先你需要看看你的瓶颈在哪里,然后围绕这些备份进行设计。如果瓶颈是网络而不是磁盘或 CPU,那么你就有不同的解决方案。这在很大程度上取决于你的数据访问模式,你有 200GB 的数据,但 SELECT 和 UPDATE 的频率是多少?
一种选择可能是设置主/从实例,并让主 SQL 服务器将数据写入从服务器,并从从服务器备份以保存活动主服务器。
请注意,我不是 DBA,但据我所知,这个答案相当准确,希望比我更有知识的人可以进一步回答!
答案2
我会使用我能找到的最便宜、最大的 NAS。
复制它们的有效方法是将 SQL BAK 文件转储到 SQL 服务器本身并安排 robocopy BAT 脚本,或者如果 NAS 支持 FTP,则使用计划脚本中的 FTP 来复制它们。
一种可能更好的方法是将 SQL BAK 文件直接写入 NAS 共享,但您必须确定它是否可以处理 IO。
答案3
在不知道您的预算或负载的情况下,我会考虑尝试将您的备份存储划分为几个设备,以稍微抵消网络负载。
我不知道其他人会怎么想……我不是数据库专家,我们也没有像 TB 级数据 + 差异这样大规模的数据需要存储和管理,但我想知道是否要为数据库服务器添加第二个 NIC,并使用单独的交换机连接到充当 NAS 设备的几台服务器。让服务器 1、2 和 3 转到备份服务器 1,服务器 4 和 5 转到第二个 LAN 上的备份服务器 2。这应该可以缓解一些网络拥塞,而拥有单独的机器可能有助于减轻驱动器和驱动器吞吐量的一些负担。
我还考虑将外部驱动器连接到服务器,这样您就可以将其保存到“本地”驱动器,然后您可以将数据从物理外部磁盘拉到另一个系统进行直接复制,而不会使网卡或交换机饱和。但是,它需要物理干预,并且无法轻松实现自动化(尽管您可以编写一些脚本来仅保留特定日期的文件/备份,以防止文件系统过满)。它需要 5 个大型外部驱动器,但它可能比使您的网络饱和更快。
不过,我相信其他人有更好的想法。这可能是入门级或便宜的产品。
答案4
您是否正在运行事务日志备份?也许每 5 分钟运行一次事务日志备份而不是差异备份会更省力?