non-responding PERC with aaccli ...

Josh Brooks user at mail.econolodgetulsa.com
Thu Oct 16 01:16:04 PDT 2003


I will try to make this as short and sweet as possible:



AAC0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 34.1GB            Open    0:00:0 64.0KB:34.1GB
 /dev/aacd0           mirror0          0:01:0 64.0KB:34.1GB

 1    Mirror 68.3GB            Open      --- Missing ---
 /dev/aacd1           mirror1          0:03:0 64.0KB:68.3GB

 2    Legacy 68.3GB            Valid   0:02:0 0.00 B:68.3GB
 /dev/aacd2



Ok, easy enough.  I am now going to delete container #2 so I can add that
disk as the failover for container #1, which is a broken mirror.

AAC0> container delete 2
Executing: container delete 2

Successful:

AAC0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 34.1GB            Open    0:00:0 64.0KB:34.1GB
 /dev/aacd0           mirror0          0:01:0 64.0KB:34.1GB

 1    Mirror 68.3GB            Open      --- Missing ---
 /dev/aacd1           mirror1          0:03:0 64.0KB:68.3GB




And let's take a look at the disks:



AAC0> disk list
Executing: disk list

B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared Rate
------  --------------  --------- ----------- ---------------- ------ ----
0:00:0   Disk            71771688  512         Initialized      NO     40
0:01:0   Disk            71771688  512         Initialized      NO     160
0:02:0   Disk            143374738 512         Not Initialized  NO     160
0:03:0   Disk            143374738 512         Initialized      NO     160



Ok, fair enough - I will initialize 0,2,0:



AAC0> disk initialize (0,2,0)
Executing: disk initialize (BUS=0,ID=2,LUN=0)

AAC0> disk list
Executing: disk list

B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared Rate
------  --------------  --------- ----------- ---------------- ------ ----
0:00:0   Disk            71771688  512         Initialized      NO     40
0:01:0   Disk            71771688  512         Initialized      NO     160
0:02:0   Disk            143374738 512         Initialized      NO     160
0:03:0   Disk            143374738 512         Initialized      NO     160



Ok, all done.  Now for the final step:



AAC0> container set failover 1 (0,2,0)
Executing: container set failover 1 (BUS=0,ID=2,LUN=0)



Let's see if it is running:

AAC0> task list
Executing: task list

Controller Tasks

TaskId Function  Done%  Container State Specific1 Specific2
------ -------- ------- --------- ----- --------- ---------

No tasks currently running on controller



Huh ?  ... Ok, wait five minutes:


AAC0> task list
Executing: task list

Controller Tasks

TaskId Function  Done%  Container State Specific1 Specific2
------ -------- ------- --------- ----- --------- ---------

No tasks currently running on controller



Still nothing running.  And further:


AAC0> container list
Executing: container list
Num          Total  Oth Chunk          Scsi   Partition
Label Type   Size   Ctr Size   Usage   B:ID:L Offset:Size
----- ------ ------ --- ------ ------- ------ -------------
 0    Mirror 34.1GB            Open    0:00:0 64.0KB:34.1GB
 /dev/aacd0           mirror0          0:01:0 64.0KB:34.1GB

 1    Mirror 68.3GB            Open      --- Missing ---
 /dev/aacd1           mirror1          0:03:0 64.0KB:68.3GB



That makes no sense ... basically it just ignored my command.  I don't
understand it - from the "disk list" output, the disks are the exact same
size and speed - and I know them to be identical:

B:ID:L  Device Type     Blocks    Bytes/Block Usage            Shared Rate
------  --------------  --------- ----------- ---------------- ------ ----
0:00:0   Disk            71771688  512         Initialized      NO     40
0:01:0   Disk            71771688  512         Initialized      NO     160
0:02:0   Disk            143374738 512         Initialized      NO     160
0:03:0   Disk            143374738 512         Initialized      NO     160


So why is this happening ?  I have never seen such behavior before and am
auite confused as to why the CLI would just ignore that command with no
errors or output.


So then, I decided to try verifying the disk:


AAC0> disk verify /repair=TRUE (0,2,0)
Executing: disk verify /repair=TRUE (BUS=0,ID=2,LUN=0)
Command Error: <The driver could not execute the requested IOCTL SENDFIB,
16=Device busy.>


So that is even more odd ... the controller thinks the disk is busy, but:


AAC0> task list
Executing: task list

Controller Tasks

TaskId Function  Done%  Container State Specific1 Specific2
------ -------- ------- --------- ----- --------- ---------

No tasks currently running on controller



So that is completely screwed up.  It won't show the failover task, it
shows no tasks running, but the disk shows up as busy when I try to verify
it.




So what is going on ?  Is the disk bad ?  Has anyone seen behavior like
this before ?


thanks.



More information about the freebsd-scsi mailing list