我的问题是... 建议在 NetBackup 中使用什么多路复用因子/您是否将 Oracle RMAN 通过 1Gb/s 管理网络备份到 LTO3?
JB
背景:
对于像 NetBackup 这样的企业备份工具,存在多路复用的概念,即同时组合来自多个备份客户端的数据,以便尽快为现代高速磁带驱动器提供数据。
交错的同时客户端数据流的数量由多路复用因子确定。多路复用因子越高,提供给磁带驱动器的数据就越多,但恢复速度越慢。
由于总体恢复速度主要取决于混乱(日志事件、确定磁带是否可用、从异地召回、负载、库存等)而不是实际磁带恢复速度,因此我对文件系统备份使用高因素很有信心.
具有大型数据集的 Oracle 备份通常会一起还原,这对文件系统备份提出了不同的挑战。
首先要检查的是您的服务器可以处理多少网络 (TCP) 吞吐量。使用netcat等。如果低于30 MB/s左右,从网络多路复用对你没有用,我的进一步建议可以忽略。改为调整网络吞吐量。现在,说到重点。
LTO3 驱动器与任何其他线性磁带驱动器一样,只有在获得具有特定恒定吞吐量的数据流时才能正常工作。
磁带正高速通过磁头下方,您不想停下来。在每次停止时,驱动器都必须执行冗长的程序:减速至完全停止、向后加速、通过数据结束点、再次减速、向前加速以到达数据结束点。当 NetBackup 提供数据的速度不够快时,缓冲区会经常欠载,因此驱动器必须经常停止/倒带/启动。性能受到严重损害。这称为“启停”操作或“擦鞋”。
驱动器会稍微调整磁带的速度,但不是很大,它可以下降到最大速度的 50% 左右。
Netbackup 多路复用的全部意义在于提供更好的流式吞吐量并避免启动-停止操作。检查您的 RMAN 备份的吞吐量,如果它是 30 MB/s 或更低,那么您有一个经典的启停操作。
现在,让我澄清一件事。如果您没有start-stop,我不建议您使用多路复用 RMAN 备份。没有多路复用,RMAN 就足够复杂了。我不想弄乱 RMAN,我希望我的恢复尽可能快速、简单和无缝。
但是,如果您发现备份吞吐量低得无法接受,我建议您为初学者实施大约三个多路复用流。每晚增加数量,直到您不再获得更多吞吐量。并确保每个流都来自不同的磁盘主轴。不是来自不同的分区/表空间/文件系统/数据库/服务器/LUN/其他虚拟化层。如果有的话,这些都无关紧要。物理磁盘轴。如果你从同一个主轴喂入许多流,你只会导致抖动,整体性能会下降得更多。
注意:NetBackup 理论上也可以对还原进行多路分解。如果我没记错的话,它会在恢复之前暂停一点,以便有机会启动更多恢复尝试。在这种情况下,它们将联合运行,就像多路复用备份一样。但请用手册验证这一点,我对这个只有 90% 的把握。
这完全取决于您的 Oracle 服务器是否可以足够快地移动数据以保持 LTO3 驱动器流式传输。我不复用 Oracle 数据,因为大文件的提供速度足够快,可以使驱动器以可接受的速度运行。
然而,在我们更换 Oracle 服务器之前,它们仅以当前速度的一半左右备份,实际上我确实对它们进行了多路复用。
需要注意的是,与 NetBackup 多路复用时,还原速度会稍慢,但不会慢很多。我知道您可以在还原时多路分解。我们一直这样做是为了进行恢复测试,并且在极少数情况下实际替换丢失的数据。
我强烈建议测试这两种方式,看看是否可以在不进行多路复用的情况下保持 LTO3 驱动器的移动速度足够快。
我发现解决这个问题的最简单方法是将初始备份写入磁盘,然后将备份映像复制到磁带。
多路复用备份更有可能跨越磁带,更难导入或在 netbackup 之外使用,恢复速度较慢,并且是为防止擦鞋磁带而创建的全方位丑陋黑客。
Netbackup 具有非常好的直接到磁盘功能,并且 CLI 工具使编写映像复制机制的脚本变得非常容易。