Compaq Array Controllers are high-end Driver Array Controllers that
support different RAID configurations for Logical Disk volumes configured
on SCSI Drives connected to the Controllers and in some cases
(the Integrated Smart Array Controller) also support tape drives.
Support is included for the Array Controllers in the Compaq Prosignia and
Compaq Proliant servers:
Supported Controller
Supported Servers
Integrated Smart Array Controller
Proliant 8500
Smart 4200 Array Controller
Proliant and Prosignia Servers
Smart 4250 Array Controller
Proliant 6000, 7000 and 8000
Smart 431 Array Controller
Proliant and Prosignia Servers
To determine the support status of your host adapter,
contact your system supplier or
refer to the
Compatible Hardware Web Pages.
Configuring the clad driver
You can configure the clad driver using
mkdev clad or editing the entries in
/etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/clad.
See
mdevice(F)
and
sdevice(F).
Changes to these files
take effect once you relink the kernel using
link_unix(ADM)
and reboot the system.
When using mkdev tape, use the following calculation for the
bus number:
bus number = tape drive port number + 1
(For example, if the tape drive is connected to port 1 of the controller,
the bus number is 2.)
You can configure clad driver-specific characteristics
by editing the /etc/conf/pack.d/clad/space.c file,
which controls parameters such as as SCSI ID,
I/O port address, tag queuing and so on.
Boot time configuration of SCSI
Use the
bootstring(HW)
parameters to override
the default hardware configuration information.
Of special interest are the adapter= parameter
that specifies information for
the host adapter card
that plugs into or is part of the motherboard,
and the periph= parameter
that specifies information about the host adapter
being used by one of the generic peripheral interfaces
(Sdsk, Srom, or Stp).
ioctl commands
The clad driver
supports all standard SCSI ioctls
that are defined in the <sys/scsicmd.h> header file
and documented on the
scsi(HW)
manual page.
Diagnostics
These error messages associated with clad may
display on the console. See
messages(M)
for general information about kernel error messages,
including a list of generic device driver errors.
clad driver messages and the situations in which they occur
are described in the sections that follow.
indicates that the driver has
detected and initialized an Array Controller. The controller initialized is
using I/O addresses addr1 through addr2,
handling interrupts using IRQ irq,
and will not use DMA. This message can be used
to determine the physical location of the controller given the host adapter
number.
Panic
At run time when the driver detects a severe error, it issues one or more
warnings. The word PANIC is followed by the following messages:
clad: Memory Pool not initialized
This indicates that insufficient memory is installed on the server
to access the Array Controller. This error will not normally occur on a
standard installation. It could occur on a kernel which is severely
corrupted and is unable to allocate memory for the driver.
This indicates a severe memory corruption, where the memory manager in the
driver panics. Here add gives the address of the
descriptor that may be corrupted.
clad: <slot s>: Possible duplicate completion for %x
This indicates that a particular command list was completed twice by the
controller. This condition is typically due to a possible controller
firmware problem.
Any of the above problems should be reported immediately.
Warnings
These messages indicate serious problems that may prevent the driver or
the controller from operating correctly. They appear on the system console
preceded by the word WARNING.
Although these conditions are abnormal, the driver continues to function
normally, but these conditions should not be ignored.
clad: Insufficient Kernel Resources, Memory Pool Partially initialized
The driver displays this if there is insufficient memory provided by the
kernel. The possible remedies are:
Reduce the driver memory requirements in its space.c file. The
shipped driver will not have this problem. This problem could
creep in if the memory requirement for the driver was raised to
an impractical value.
The driver displays this message if it is unable to allocate resources
required for Controller Event Notification. This is a very rare occurence
and it can happen only if the kernel is corrupted or there is very
little installed memory on the server.
clad <slot s>: Request Timed outaddr
The driver displays this message if a request addr timed out. If this
request is not completed by the controller, the controller will be
reset (see below) and the request will be retried. If the controller is
able to complete this request before it is reset, the complete reset
mechanism is aborted and the controller resumes normal operation.
If this message appears frequently, without a controller reset, the timeout
value in the driver space.c file should be increased. The shipped driver
will have this value tuned to an optimum value for a wide variety of stress
situations.
clad <slot s>: Controller will be reset
This is the second message before the reset. If the timed out request
indicated above does not complete, this message will be prompted and the
controller will be reset. All pending requests will be retried. This
condition is a critical condition to the extent that though the driver is
able to recover from it, it should not be ignored and should be reported.
clad <slot s>: Controller failed
This message is displayed, if three attempts to reinitialize the controller
after a reset fail. The controller cannot be accessed at all. After this
all logical volumes and tape devices will be inaccessible to the kernel.
Though this will not affect the rest of the kernel if no drives on the
controller were mounted, it should not be ignored and should be reported.
clad: Excess Controllers
Some controllers will be unavailable.
Update space.c and rebuild.
The shipped driver can support upto eight controllers. If more controllers
have to be installed, the space.c file
for the driver must be updated.
There is no upper limit imposed by the driver on the number of controllers
that can be supported. This limit is instead dictated by kernel resources and
system resources.