Veritas NetBackup™ Appliance 容量规划和性能调整指南
关于 I/O 监视和调整
表:示例 I/O 统计数据(使用 iostat –kxdt 5 收集) 是 的一个示例输出。在 列下, sdxx 显示 SCSI 设备的统计数据,VxVMxx 显示 VxVM 虚拟卷的统计数据。有关每一列的完整说明,请参阅 iostat 的手册页。
表:示例 I/O 统计数据(使用 iostat –kxdt 5 收集)
Device |
Rrqm/s |
Wrqm/s |
r/s |
w/s |
rKB/s |
wKB/s |
Avgrq-sz |
Avgqu-sz |
Await |
Svctm |
%util |
---|---|---|---|---|---|---|---|---|---|---|---|
sdaw |
0 |
0.4 |
0 |
8.8 |
0 |
3552 |
807.16 |
0.01 |
1.64 |
1.36 |
1.2 |
sdax |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdaz |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdba |
0 |
0 |
0 |
8 |
0 |
2894 |
723.4 |
0.01 |
1.7 |
1.1 |
0.88 |
sdbb |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdbc |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdbd |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdbe |
0 |
0.2 |
0 |
17 |
0 |
6786 |
798.33 |
0.03 |
1.88 |
1.36 |
2.32 |
sdbf |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdbg |
0 |
0.4 |
0.2 |
14.8 |
1.6 |
5468 |
729.32 |
0.12 |
8.11 |
4.53 |
6.8 |
sdbh |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdbi |
0 |
0.2 |
0.2 |
8.8 |
1.6 |
3222 |
716.27 |
0.02 |
2.67 |
1.69 |
1.52 |
sdbj |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
sdag |
0 |
0 |
0 |
15.2 |
0 |
6358 |
836.63 |
0.03 |
2.05 |
1.32 |
2 |
VxVM3 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
VxVM4 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
VxVM5 |
0 |
45 |
0.6 |
17.8 |
4.8 |
12303 |
1337.85 |
0.04 |
2.26 |
1.61 |
2.96 |
VxVM6 |
0 |
53.8 |
0 |
18.4 |
0 |
13502 |
1467.65 |
0.05 |
2.65 |
1.87 |
3.44 |
VxVM7 |
0 |
18 |
0.4 |
8.4 |
3.2 |
5743 |
1305.86 |
0.02 |
2.18 |
1.36 |
1.2 |
VxVM8 |
0 |
38.6 |
0.6 |
16.2 |
4.8 |
11225 |
1336.87 |
0.2 |
11.62 |
7.52 |
12.64 |
VxVM9 |
0 |
60 |
0.2 |
19.2 |
1.6 |
13064 |
1346.96 |
0.04 |
2.23 |
1.65 |
3.2 |
VxVM10 |
0 |
29.8 |
0 |
10.4 |
0 |
7349 |
1413.23 |
0.02 |
2.23 |
1.62 |
1.68 |
VxVM11 |
0 |
26.8 |
0.4 |
11.8 |
3.2 |
6573 |
1077.98 |
0.03 |
2.1 |
1.64 |
2 |
VxVM12 |
0 |
30 |
0.2 |
11.2 |
1.6 |
7440 |
1305.54 |
0.02 |
2.18 |
1.68 |
1.92 |
VxVM13 |
0 |
45 |
0.2 |
15.6 |
1.6 |
11652 |
1475.11 |
0.04 |
2.43 |
1.67 |
2.64 |
VxVM14 |
0 |
45 |
0.2 |
17.4 |
1.6 |
11895 |
1351.86 |
0.04 |
2.05 |
1.45 |
2.56 |
VxVM15 |
0 |
21 |
0.4 |
11.2 |
3.2 |
6814 |
1175.38 |
0.03 |
2.76 |
1.93 |
2.24 |
VxVM16 |
0 |
36 |
0.2 |
17 |
1.6 |
13358 |
1553.44 |
0.05 |
2.84 |
1.77 |
3.04 |
请注意,iostat 可显示 SCSI 和 VxVM 设备的 I/O 统计数据。在大多数情况下,您只需要分析 VxVM 统计数据。在上表中,VxVM5 – VxVM16 是 MSDP 用于存储备份数据的 12 个 VxVM 卷。每个卷均位于一个 7+2 硬件 RAID 6 LUN 上,并在每个 LUN 基础上创建一个文件系统。因此,每个卷对应于一个装入的文件系统。
iostat 的手册页提供了 iostat 输出中每一列的完整说明。下面介绍了其中一些列:
wrqm/s |
每秒合并的已排队设备写入请求数。此列中的较大数字表示 I/O 模式更有序,因此多个 I/O 请求有更多机会合并为单个请求并发送到设备。大多数情况下,大量合并读与写请求可提升 I/O 子系统的性能。 |
wKB/s |
每秒写入设备的千字节数。 |
avgrq-sz |
I/O 请求的平均大写(以扇区为单位) |
avgqu-sz |
在设备队列上等待的平均 I/O 请求数 |
await |
处理 I/O 请求需要等待的时间(以毫秒为单位)。这包含设备队列时间以及处理请求的时间(例如 svctm)。 |
svctm |
I/O 请求的平均服务时间 |
wKB/s 是每秒写入设备的千字节数,可用于估计每秒的备份吞吐量。这可以通过将 VxVM5 – VxVM16 的 wKB/s 值相加来计算。在 0% 重复数据删除工作量中,此和值应非常接近接收的千字节数(例如,网络统计数据表中 bond0 下的 in 列)。由于上述统计数据是在运行 120 个并行 98% 重复数据删除备份流时捕获的,因此 wKB/s 应接近从网络接收的千字节数的 2%。进行简单计算即可确认此表述。VxVM5 – VxVM16 的 wKB/s 相加的和为 12,097.1 KB,而网络统计数据表中 bond0 下 in 列中的值约为 4,777,000KB。将这两个数字相除 (12,091.1/4,777,000) 即可得到 2.5%。换言之,在此特殊时间,仅从网络接收的备份数据的 2.5%需要写入磁盘,因为余下数据与现有数据重复,无需再写入磁盘。
通常,高重复数据删除比的备份不会生成太多 I/O 活动,因此不太可能发现 I/O 瓶颈。在上表中,磁盘服务时间 svctm 大部分低于 2 毫秒,磁盘队列显示接近 0,未完成的 I/O avgqu-sz 和 %disk 利用率大部分低于 5%。所有这些统计数据表明 I/O 并不是瓶颈。但是,在上表中,我们可以看见 VxVM8 的磁盘利用率百分比、svctm 和 await 时间远大于其他卷。您不需要为该特定卷的统计数据担心,可以安全地忽略。但是,如果您想知道与改卷相关的是哪一个文件系统,或性能太低以至于您想了解关于改卷的更多信息,可以执行以下步骤来查找 VxVM8 映射到的文件系统:
通过运行命令 ls –l /dev/vx/rdsk/nbuapp 识别次设备号。
下面是上述命令的示例输出。例如,第 6 列中的数字 3 4 5 …12 为次设备号,将 VxVM 添加到数字前面即得到 VxVM3、VxVM4、... VxVM12. 这些是表:示例 I/O 统计数据(使用 iostat –kxdt 5 收集) 中示例 iostat 输出的第一列中显示的设备名称。最有一列 1pdvol、2pdvol、...9pdvol 是 VxVM 虚拟卷的名称,可用于步骤 2 中进一步细化。
crw-------
1
root
root
199,
3
Sep
28
16:12
pdvol
crw-------
1
root
root
199,
4
Sep
28
16:12
1pdvol
crw-------
1
root
root
199,
5
Sep
28
16:12
2pdvol
crw-------
1
root
root
199,
6
Sep
28
16:12
3pdvol
crw-------
1
root
root
199,
7
Sep
28
16:12
4pdvol
crw-------
1
root
root
199,
8
Sep
28
16:12
5pdvol
crw-------
1
root
root
199,
9
Sep
28
16:12
6pdvol
crw-------
1
root
root
199,
10
Sep
28
16:12
7pdvol
crw-------
1
root
root
199,
11
Sep
28
16:12
8pdvol
crw-------
1
root
root
199,
12
Sep
28
16:12
9pdvol
使用 vxprint –ht 命令识别用于卷的 LUN。该命令可输出每个 pdvol 的以下信息。例如,在此案例中提及的卷为 VxVM8,对应于
5pdvol
。下面的输出显示5pdvol
位于设备nbu_appliance0_29
上。输出显示5pdvol
位于设备0_29
上。在0_29
前面加上前缀nbu_appliance
即可获得设备全名nbu_appliance0_29
。此设备名称在步骤 4 中需要用作 vxdisk list 命令的参数。v 5pdvol - ENABLED ACTIVE 82039901904 SELECT - fsgen pl 5pdvol-01 5pdvol ENABLED ACTIVE 82039901904 CONCAT - RW sd 50002974280F356058357-01 5pdvol-01 50008000011F356058357 0 82039901904 0 appl 0_29 ENA
使用命令 df –hT 识别装入卷
5pdvol
的文件系统。在此命令的输出中,应该可以发现对应于5pdvol
的以下信息。输出显示5pdvol
装入在装入点 /msdp/data/dp1/5pdvol 上,并且文件系统的大小为 39TB。Filesystem
类型
大小
已用
Avail
Use%
Mounted on
/dev/vx/dsk/nbuapp/5pdvol
vxfs
39T
1.6G
38T
1%
/msdp/data/dp1/5pdvol
使用命令 vxdisk list nbu_appliance0_29 识别 SCSI 设备名称。在上述命令输出的结尾,您可以找到以下内容:
sds
state=enabled
type=secondary
sdav
state=enabled
type=primary
sddb
state=enabled
type=primary
sdby
state=enabled
type=secondary
上述数据显示 VxVM8 配置了四个路径,其中两个为主动两个为被动。在 iostat 输出中,应该可以看出 VxVM8 的 wKB/s 值大约为 sdav
与 sddb
的 wKB/s 值相加的和。此外,sdav 和 sddb 的 wKB/s 值应该非常接近。这是因为 VxVM 多路径设备驱动器提供的负载平衡机制 DMP。