Avamar Client 需要内存、CPU、网络和 I/O 资源来执行备份。其他操作系统服务共享这些资源,包括可能比 Avamar 更“任务关键”的进程。
本文讨论备份期间 avtar 进程占用的 CPU、网络和 I/O 资源的限流和优先级设置。
Avamar avtar 进程会完全使用操作系统提供给它的网络带宽、CPU 周期和 I/O。您可以使用参数来设置 Avamar,这些参数决定了在声明占用某些系统资源时的激进程度。
CPU 利用率
Avamar Client 机器可能是文件服务器、邮件服务器、数据库,或者具有需要系统资源的其他角色。
如果在这些系统资源负载繁重时运行备份,备份和客户端的常规角色都可能受到影响。如果无法安排备份在静默期运行,建议您通过 avtar 来对 CPU 使用进行限流,以确保剩余足够的 CPU 周期供客户端的主要功能使用。
可以在 Avamar Client 备份日志中查看 Avtar CPU 利用率,如下所示:
avtar Info <5100>: Status 2009-04-10 20:37:02, 0 files, 25.00 GB (0 files, 473.7 MB, 1.85% new) 117 MB 99% CPU
在有多个 CPU 核心可用的环境中,可能会看到 CPU 百分比值高于 100%。
CPU 进程优先级设置
Linux 行为:
- avagent 进程自动将其产生的所有进程设置为“nice”级别。
- 在 Linux 中,优先级范围从 -20 到 20,其中 -20 是最高优先级。
- 进程生成时的默认优先级为 0。
- 创建 Avtar 时的优先级为 10,低于默认优先级。
Windows 行为:
- Windows 管理的优先级范围从 1(最低)到 31(最高)。
- Avtar 使用 BELOW_NORMAL_PRIORITY_CLASS 创建,这意味着默认情况下,avtar 拥有的线程创建时的优先级为 6。
- 作为参考,Windows 上进程创建的线程的默认优先级为 8。
网络利用率
相对于传统备份软件,Avamar 占用的带宽很少。但如果 Avamar Client 与 Avamar Server 之间是低带宽链路,对网络使用量进行限流可能会有帮助。这可以防止链路被备份数据淹没和降低对时间更敏感的数据的传输速度。
I/O 优先级设置
Avamar Client 进程的 I/O 优先级没有明确设置。
Linux 行为:
- I/O niceness 范围从 0(最高优先级)到 7(最低优先级)。
- 使用的算法是 (cpu niceness + 20)/5(来源:http://linux.die.net/man/1/ionice)
- 对于 avtar,I/O 优先级为 (10 + 20)/5 = 6,这是第二低的 I/O 优先级。
- 作为对比,默认线程优先级为 0 的进程的 I/O 优先级为 4。
Windows 行为:
对于 Windows,I/O 优先级没有那么明确。Microsoft 声称进程的 I/O 优先级与线程优先级相关联。Avamar 工程部门对问题 #240762 的调查表明,在实践中,情况似乎并非如此。将 avtar 设置为以较低的优先级运行不会更改默认 I/O 优先级。
内存利用率
备份期间所需的内存量取决于高速缓存文件大小和所使用的高速缓存文件类型。
传统的“整体”高速缓存文件将所有高速缓存文件加载到内存中,而分页高速缓存文件根据需要将数据“分页”写入内存中。
内存利用率和高速缓存文件大小不在本知识库文章的讨论范围内。有关详细信息,请参阅《操作最佳实践指南》。
以下标志可用于对 avtar 进程的网络和 CPU 使用进行限流:
--net-throttle(网络限流)
--cpu-throttle (CPU 限流)
要实施其中任一标记,请编辑在 Avamar Client 中找到的 'avtar.cmd’ 文件。 avs/var 目录。
提醒:如果 'avtar.cmd' 文件不存在,请新建该文件。
CPU 限流
该标志应采用以下格式,其中“80”是 avtar 使用 CPU 的最大平均百分比。
--cpu-throttle=80
此标志是在多核 CPU 广泛使用之前引入的。您可能需要进行多次试验以确定要使用的百分比。在将 avtar 限制为 10% 的双核台式机上执行的备份似乎使用了大约 5% 的 CPU 资源。
网络限流
文件中的条目应采用以下格式:
--throttle=Mbit/sec
实施时,如有必要,avtar 会在发送每个数据包后暂停。这可确保网络使用量不超过指定的最大带宽(单位为兆比特/秒)。
例如, --throttle=5 使用 10Mbit/sec 连接的一半, --throttle=0.772 将用量限制为 T1 链路的一半。
进行更改后,保存 avtar.cmd 文件。
这些更改应在下次 avagent 生成新的 avtar 进程时生效。
或者,使用 Avamar Administrator 中的 Options 选项卡,从下拉列表中选择相应的文件系统插件程序(Windows 文件系统、Linux 文件系统等)。
选中“Show Advanced Options”复选框,向下滚动,直至找到“Network rate throttle (Mbps)”。
填写所需的带宽,单位为 Mbps(可以包含小数,例如 1.2)。
Avamar Plug-in 备份
对于插件程序备份(Exchange、Oracle 等),在 Avamar Administrator 用户界面中,从菜单下拉列表中选择插件程序,单击“More”按钮,然后手动输入属性和值。
对于属性,请输入 [avtar]net-throttle。对于属性值,输入所需的带宽。如果对设置感到满意,请单击字段下方的 + 号以将标志添加到下方的框中。
单击 OK 保存更改。
标志中的 [avtar] 告诉插件程序将标志传递给 avtar,这是与服务器通信的进程。
使用限流标志时应小心谨慎,并注意以下事项:
-
进程以其支持的最快速度运行。如果我们尝试降低 CPU 或网络利用率,备份的运行速度可能会降低。较慢的备份可能无法在常规备份窗口内完成。
-
备份速度降低,备份时间就会延长,如果此时有其他客户端的备份正在排队等待启动,那么这些客户端的备份可能会因此延迟。
-
如果客户端在执行 Avamar 备份时正在执行其他工作,则此工作受到的影响较小,但持续时间较长。
如果您对于是否适合应用下面讨论的标志有疑问,请联系您的 Dell Professional Services 代表。
网络限流可能呈现脉冲状“突发”
对于限流设置为 0.2(兆比特/秒)的客户端,其流量的网络图可能显示,客户端和服务器之间传输的数据出现脉冲状的短暂突发,速率超过 150 Mb/s。
Avamar 网络限流算法的工作方式会使数据传输时呈现短暂的突发。每次突发后,算法会让数据排队等待一定的时间,然后再继续发送数据。数据的发送速率等于限流标志指定的限流级别。
观察到的“突发”级别与监控的粒度相关。换言之,对传输速率的亚秒增量分析显示突发行为,但如果查看在备份期间内发送的数据总量,我们应该会看到速率接近 0.2 Mb/s。
下面是一个备份的短期图表,时长为几分钟:
常见问题:
Avtar 会尝试尽快传输数据。使用的具体带宽取决于以下因素。
- 链路的最大带宽
- 在网络中的端到端延迟
- 服务质量
- 可能适用的任何其他常规瓶颈
限流功能旨在对一段时间内的网络利用率进行平均化。Avtar 延迟发送数据包的目的是使传输的数据量不超过限流值允许的范围。
Avtar 会在发送数据包之前等待,以确保网络使用量不超过限流设置指定的平均带宽。此暂停会持续必要的时长。
用于检查 Avamar Server 上是否已存在不在本地客户端高速缓存中的数据的查询,以及包含 Avamar 系统上不存在的唯一新备份数据的数据包。
不可以。网络限流是按客户端应用的。它控制某个特定客户端可以占用的带宽(平均)。如果一个位置有多个 Avamar Client,并且它们都具有类似的限流设置,网络链路仍可能被完全占用。如果必须控制两个站点之间发送的数据量,请应用网络级别限流。
Avamar 备份到 Data Domain 期间的网络限流
当 Avamar Client 为 v7.1 且 Data Domain 为 v5.5 或更高版本时,支持对发送到 Data Domain 的备份进行网络限流。