Hi,
My original question was about monitoring disk performance on my
RAID array. I got many suggestions, but no luck so far. I was digging
through the source codes ('monitor' and many other utilities) and
it seems that the problem is that my kernel does not provide support
for it. As far as I can tell, all of the utilities are trying to
use the table(TBL_DKINFO,...) call. For some reason this does not
work. Nearly all of the utilities find the re* devices, but the
derived dk number is 0 (same as the 'fd' device on my system). Steping
through the 'dk' tables does NOT find the re* devices.
At this point I can only conclude that either the kernel is broken
or I have a bad configuration. The setup is: Alphaserver 1000A 5/500,
Mylex DAC960 RAID controller (aka 3-channel PCI RAID card from Dec).
True64 Unix 4.0E, the corresponding firmware, correct EISA config, etc.
Does anyone have a configuration like this? After the message I
enclose a short code that scans the dk tables. For me, 're' devices do not
show up.
The relevant kernel config:
controller xcr0 at pci0 slot 11 vector xcrintr
device disk re0 at xcr0 drive 0
device disk re1 at xcr0 drive 1
Gyula
#include <sys/table.h>
#include <stdio.h>
main()
{
struct tbl_dkinfo dkinfo;
int ndisk;
int i;
if (table(TBL_DKINFO, 0, &dkinfo, 1, sizeof(dkinfo)) != 1)
{
printf("Disk I/O data is not available.\n");
return(1);
}
ndisk = dkinfo.di_ndrive;
printf("%d potential disks\n",ndisk);
for(i = 0;i < ndisk;i++)
{
if (table(TBL_DKINFO, i, &dkinfo, 1, sizeof(dkinfo)) != 1)
{
printf("Disk I/O data is not available.\n");
return(1);
}
printf("%d: %s %d\n",i,dkinfo.di_name,dkinfo.di_unit);
}
}
Received on Wed Jun 02 1999 - 16:05:50 NZST