我在用着纳米以交互模式监控多台服务器上的磁盘活动,每台服务器都有几块硬盘。纳米显示的硬盘在不同的服务器之间有所不同,我希望在所有服务器上都有相同的顺序。
请注意,我使用的是交互模式(从命令行启动 nmon,然后按d)。我尝试使用磁盘组文件(-G启动选项)每行只有一个磁盘,但它的输出不太容易阅读,因为它没有使用图形表示加载的方式d做。
更新
显然除了侵入 nmon 之外没有其他办法,因为 nmon 使用与 /proc/diskparts 相同的顺序,很难改变。
例如,这是一台服务器上的输出:
┌nmon─12f─────────────────────Hostname=testhost001──Refresh= 1secs ───16:19.38────┐
│ Disk I/O ─────(/proc/diskstats)────────all data is Kbytes per second────────────│
│DiskName Busy Read WriteKB|0 |25 |50 |75 100| │
│sda 0% 0.0 0.0| > | │
│sda1 0% 0.0 0.0| > | │
│sda2 0% 0.0 0.0|> | │
│sda5 0% 0.0 0.0| > | │
│sdc 0% 0.0 0.0| > | │
│sdc1 0% 0.0 0.0| > | │
│sdc2 0% 0.0 0.0|> | │
│sdb 100% 1226.4 0.0|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR|> │
│sdb1 0% 0.0 0.0| | │
│sdb2 100% 1226.4 0.0|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR|> |
另一边是这样的:
┌nmon─12f─────────────────────Hostname=testhost002──Refresh= 1secs ───16:19.38────┐
│ Disk I/O ─────(/proc/diskstats)────────all data is Kbytes per second────────────│
│DiskName Busy Read WriteKB|0 |25 |50 |75 100| │
│sdc 0% 0.0 0.0| > | │
│sdc1 0% 0.0 0.0| > | │
│sdc2 0% 0.0 0.0|> | │
│sda 0% 0.0 0.0| > | │
│sda1 0% 0.0 0.0| > | │
│sda2 0% 0.0 0.0|> | │
│sda5 0% 0.0 0.0| > | │
│sdb 100% 1226.4 0.0|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR|> │
│sdb1 0% 0.0 0.0| | │
│sdb2 100% 1226.4 0.0|RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR|> |
这是使用磁盘组,每行一个硬盘:
┌nmon─12f─────────────────────Hostname=testhost002──Refresh= 1secs ───16:30.02────┐
│ Disk-Group-I/O ─────────────────────────────────────────────────────────────────│
│ Name Disks AvgBusy Read|Write-KB/s TotalMB/s xfers/s BlockSizeKB │
│ sda 1 0.0% 0.0|0.0 0.0 0.0 0.0 │
│ sdb 1 0.0% 0.0|0.0 0.0 0.0 0.0 │
│ sdc 1 0.0% 0.0|0.0 0.0 0.0 0.0 │
更新:正如所建议的尤怀特,输出顺序与 /proc/diskstats 完全相同。因此,也许影响 diskstats 的顺序更容易,但这看起来有点过头了。
在服务器 1 上执行 df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 895G 30G 820G 4% /
none 7.8G 212K 7.8G 1% /dev
none 7.8G 0 7.8G 0% /dev/shm
none 7.8G 104K 7.8G 1% /var/run
none 7.8G 0 7.8G 0% /var/lock
none 7.8G 0 7.8G 0% /lib/init/rw
/dev/sdb1 640G 298G 343G 47% /data_b1
/dev/sdb2 1.2T 510G 684G 43% /data_b2
/dev/sdc1 640G 148G 493G 24% /data_c1
/dev/sdc2 1.2T 361G 832G 31% /data_c2
在服务器2上:
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 895G 257G 594G 31% /
none 7.8G 212K 7.8G 1% /dev
none 7.8G 0 7.8G 0% /dev/shm
none 7.8G 116K 7.8G 1% /var/run
none 7.8G 0 7.8G 0% /var/lock
none 7.8G 0 7.8G 0% /lib/init/rw
/dev/sda1 640G 156G 485G 25% /data_b1
/dev/sda2 1.2T 511G 684G 43% /data_b2
/dev/sdb1 640G 148G 493G 24% /data_c1
/dev/sdb2 1.2T 362G 833G 31% /data_c2
答案1
nmon
非常适合对系统活动进行抽查。对于监视多台服务器,是否应该采用更全面的监控系统?
至于系统上显示的磁盘条目顺序,它似乎/proc/diskstats
与启动时的安装顺序有关。我刚刚检查了正在运行的 10 台服务器nmon
,我收到了相同的设备顺序。
cat /proc/diskstats | grep sd
两个系统上的情况如何?您能显示两个服务器的df -h
输出吗?fdisk -l
编辑:
在这种情况下,您的设备排序似乎是根案例。/dev/sdc
是您的启动卷在其中一个服务器上(而不是 sda),因此它在设备顺序中排在第一位。我不认为有一种快速的方法来修改它以便在 中显示数据nmon
。