The fibre channel non-RAID (JBOD) command-line interface, fccli, is an interface to the SP (storage processor) in a FibreVault enclosure that contains non-RAID disks. The fccli program communicates directly with the JBOD agent fcagent. This software is the only way to communicate with JBOD storage; a graphical user interface is provided only for RAID storage. This CLI is accessible using a serial-port terminal, or remote login.
![]() | Note: For communication with RAID storage, use the graphical user interface explained in other chapters in this guide or the command-line interface explained in Chapter 6, “The Fibre Channel RAID Command-Line Interface.” |
This chapter is organized as follows:
The fccli works directly with the fibre channel agent fcagent. The fcagent must be running before fccli commands are accepted and executed by the fibre channel host system. To start the fcagent, follow these steps:
Stop the agent by entering
/etc/init.d/fcagent stop |
Table 7-1 summarizes fccli subcommands.
Subcommand | Use |
---|---|
GETVERSION | Gets version number of fcagent on a particular host system |
GETSTATUS | Gets channel and enclosure status |
REMOVE | Takes a non-RAID drive offline |
INSERT | Brings a drive online |
LEDON | Turns disk module check LED on |
LEDOFF | Turns disk module check LED off |
BYPASS | Causes the host to bypass JBOD disk(s) in a specific enclosure on a specific channel |
UNBYPASS | Brings bypassed disks back online |
Command syntax is as follows:
fccli SUBCOMMAND [-h hostname] [parameters]
where
SUBCOMMAND |
| |
-h hostname | Specifies hostname of target host, for when user is logged in remotely. | |
parameters | Possible parameters are as follows:
|
For more information on fccli, see its man page fccli(1M).
You can obtain the version number of the fcagent that is running on a particular host system in two ways:
If you are remotely logged into the host, enter
fccli GETVERSION -h hostname |
To get the revision information directly from the host system running fcagent, enter
fccli GETVERSION |
A sample output follows:
FC JBOD Agent version 1.1, Wed Mar 12 08:04:26 PST 1997. |
In this example, the agent is identified as a JBOD, or non-RAID, agent version.
To get a general channel and enclosure status for all the fibre channel devices on a host system, enter
fccli GETSTATUS |
If you are remotely logged into the host, enter
fccli GETSTATUS -h hostname |
Output looks like the following:
CHANNEL| DRIVES POWER FANS PEER LCCS -------+----------------------------------------- 01 | OK FAIL OK OK 02 | OK OK OK OK 03 | OK OK OK OK 04 | OK OK OK OK 05 | OK OK OK OK 06 | OK OK OK OK |
In channel 01 in the sample output, a power error is shown. Because the drives, fans, and link control cards (LCCs) show OK in the GETSTATUS output example, you can conclude that there is probably trouble with one of the two power supplies in the enclosure.
![]() | Note: In this example, channel 01 controls three enclosures. Each fibre channel site can have different configurations installed, and a single channel can control up to 11 (non-RAID) enclosures within the same rack. (The Fibre Channel Hub is transparent to fccli.) |
To determine more about the power failure in the enclosure controlled by fibre channel 01, specify the channel:
fccli GETSTATUS -c 01 |
This command causes the fcagent to output a more detailed screen display showing the status of the enclosure(s) controlled by channel 01. The following example output shows that a power supply has failed:
ENCLOSURE | DRIVES POWER FANS PEER LCC ----------+----------------------------------------- 4 | OK FAIL OK OK 5 | OK FAIL OK OK 11 | OK FAIL OK OK |
Always physically inspect the power supply before ordering a new part. The GETSTATUS command reports an unplugged power supply or a power supply with its breaker set at 0 (off), as a “failed” power supply.
If you try to obtain status on a channel that does not exist on the host, the fcagent reports an error; for example:
# fccli GETSTATUS -c 4 Channel 4 does not exist on `localhost'. |
For an enhanced output of information or to specify one particular enclosure supported by a particular channel, specify the enclosure as well as the channel with the -c and -e arguments to GETSTATUS. The following example requests information for channel 01 and enclosure 01:
fccli GETSTATUS -c 01 -e 01 |
Figure 7-1 shows example output.
If you select a nonexistent or offline enclosure with a GETSTATUS inquiry, the fcagent reports an error similar to the following:
fccli GETSTATUS -c 1 -e 0 Enclosure 0 does not exist on channel 1 on host `localhost'. |
To remove a non-RAID fibre channel disk module from an operating enclosure use the fccli REMOVE command:
fccli REMOVE -c channelid -t tid1 [tid2 ... [tidn]
![]() | Note: You must use the -c (channel designator argument) and -t (target drive argument) with the command in order to properly spin down the target disk module. |
In the following example, the tenth disk module on channel 01 is spun down and taken out of the fibre channel operational loop.
fccli REMOVE -c 1 -t 10 |
The fccli REMOVE command does not confirm that the disk module has been taken offline. Use a GETSTATUS inquiry such as fccli GETSTATUS -c 1 or physically inspect the number 10 drive (and see the amber LED) to confirm that it is offline or bypassed (BP). The GETSTATUS shows something similar to:
+---------------------------------------+------+ | [1] FAIL | | +---------------------------------------+ | | | | | | | | | | | | P | | O | O | O | O | O | O | O | O | O | B | E L | | K | K | K | K | K | K | K | K | K | P | E L | | 10| 11| 12| 13| 14| 15| 16| 17| 18| 19| R C | +---------------------------------------+ | | FANS OK | OK | | PS0 FAIL PS1 OK | | +---------------------------------------+------+ |
The targeted disk module shows BP instead of OK and can now be physically removed from the enclosure.
If you use fccli REMOVE to remove a disk module on a channel that does not exist, you receive an error message similar to the following:
fccli REMOVE -c 1 -t 11 Drive 11 does not exist on channel 1 on host `localhost'. |
In this case, channel 01 controls only one enclosure with a total of ten disk modules. The targeted disk module (drive 11) does not exist and cannot be taken offline.
After you install a new disk module, you must alert the host system to spin up the disk module and bring it online. This spin-up process uses the INSERT subcommand and requires the proper channel (-c) and targeted disk (-t):
fccli INSERT -c channelid -t tid
![]() | Note: During the replacement process, quiesce the loop's activity. Advise all users to unmount filesystems and stop running applications until the process is complete. |
The following example spins up a replacement disk module at slot 10 on channel 1 and brings it back online.
fccli INSERT -c 1 -t 10 |
If you enter an invalid channel, enclosure, or drive number when bringing a new or replacement drive online, fcagent returns an error message.
Each disk module slot in a FibreVault has two LEDs directly above it. The LED closest to the disk drive is a green activity LED, which lights during normal drive operations. The amber LED, farther from the drive, lights when there is a problem with the drive or when the drive is offline or missing. This amber LED can also be turned on using the LEDON subcommand with fccli with the proper arguments.
You may wish to turn on the LED of a particular drive to confirm the identity of a channel, enclosure, or a particular drive. Doing so can be especially helpful in systems with many cables, enclosures, and drives. Proper cable and enclosure labeling should greatly reduce this type of identification problem.
Use LEDON as follows:
fccli LEDON -c channelid -t tid1 [tid2 ... [tidn]
The following example turns on the check LEDs for disk 3 and 5 in enclosure 1 on channel 12.
fccli LEDON -c 12 -t 13 -t 15 |
Figure 7-2 shows output for this example.
The amber LEDs above disk drives 3 and 5 in enclosure 1 light up and stay lit until you turn them off with the LEDOFF subcommand.
Note in the sample output for LEDON that there is an asterisk above positions 13 and 15. The asterisk indicates that the amber LED has been turned on for enclosure 1, drive 3 and enclosure 1, drive 5.
To turn the LED off again, use LEDOFF:
fccli LEDOFF -c channelid -t tid1 [tid2 ... [tidn]
The following example turns off the amber check LED on the disk modules from the previous example.
fccli LEDOFF -c 12 -t 13 -t 15
![]() | Note: The LEDOFF subcommand is not intended for turning off a check LED on a drive that is experiencing an actual failure. |
You can cause the host to bypass one or more disks in a specific enclosure on a specific channel by using the BYPASS subcommand with the -c and -e arguments:
fccli BYPASS -c channelid -t tid1 [tid2 ... [tidn]
![]() | Note: When you use BYPASS to take a drive offline, you cut off all I/O access. Before implementing the command, make sure that this action does not affect local or remote users. |
In the example in Figure 7-3, five of the ten drives in enclosure 4 on channel 1 are taken offline.
The fcagent always reports the bypassing of a drive(s) to /var/adm/SYSLOG. If you checked the SYSLOG immediately after the last command was issued, you would see something similar to the following:
system1 15# view /var/adm/SYSLOG May 7 17:49:10 5D:system1 fcagent[427]: FRU reconfiguration: DISK #5 in enclosure 4 on channel 01: OK --> BYPASSED May 7 17:49:10 5D:system1 fcagent[427]: FRU reconfiguration: DISK #6 in enclosure 4 on channel 01: OK --> BYPASSED May 7 17:49:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #7 in enclosure 4 on channel 01: OK --> BYPASSED May 7 17:49:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #8 in enclosure 4 on channel 01: OK --> BYPASSED May 7 17:49:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #9 in enclosure 4 on channel 01: OK --> BYPASSED |
To bring bypassed drives back online, have the host “unbypass” the disks in an enclosure that have been bypassed:
fccli UNBYPASS -c channelid -t tid1 [tid2 ... [tidn]
![]() | Note: When you use UNBYPASS to bring drives back online, the host has almost immediate access. Be sure this does not affect local or remote users before implementing the order. |
For example, if five of the ten drives in enclosure 4 on channel 1 were offline, you would use the following commands to unbypass the drives and bring them back online and show the status after that operation. Figure 7-4 shows the commands and output.
As with the BYPASS command, the fcagent reports the unbypassing of a drive(s) to /var/adm/SYSLOG. If you checked the SYSLOG immediately after the last command was issued, you would see something similar to the following:
system1 15# view /var/adm/SYSLOG May 7 17:59:10 5D:system1 fcagent[427]: FRU reconfiguration: DISK #5 in enclosure 4 on channel 01: OK --> UNBYPASSED May 7 17:59:10 5D:system1 fcagent[427]: FRU reconfiguration: DISK #6 in enclosure 4 on channel 01: OK --> UNBYPASSED May 7 17:59:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #7 in enclosure 4 on channel 01: OK --> UNBYPASSED May 7 17:59:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #8 in enclosure 4 on channel 01: OK --> UNBYPASSED May 7 17:59:11 5D:system1 fcagent[427]: FRU reconfiguration: DISK #9 in enclosure 4 on channel 01: OK --> UNBYPASSED |
This section explains how to use IRIX utilities to get more information about JBOD storage:
To obtain hardware graph information for a local host system that is controlling a fibre channel disk array, enter a grep inquiry such as the following:
grep ^controller_number /etc/ioconfig.conf
The following example displays information on channel 12.
grep ^12 /etc/ioconfig.conf |
The output might look like the following:
12 /hw/module/1/slot/io4/fibre_channel/pci/0/scsi_ctlr/0 |
This output tells you that module 1, slot io4, has a fibre channel enclosure connected to pci 0 (the first channel on the Fibre Channel XIO board).
You can use the hinv command at the operating system level to determine numbers and types of fibre devices on a particular host system, as follows:
hinv | grep Fibre |
Such hinv output might look like the following:
Integral SCSI controller 12: Version Emerald Fibrechannel Integral SCSI controller 13: Version Emerald Fibrechannel Integral SCSI controller 10: Version Emerald Fibrechannel Integral SCSI controller 11: Version Emerald Fibrechannel Integral SCSI controller 22: Version Emerald Fibrechannel Integral SCSI controller 23: Version Emerald Fibrechannel |
To use hinv to get the listing of devices connected to the fibre channel controller(s), enter
hinv -c disk |
The output might look like the following:
Integral SCSI controller 12: Version Emerald Fibrechannel Disk drive: unit 19 on SCSI controller 12 Disk drive: unit 17 on SCSI controller 12 Disk drive: unit 15 on SCSI controller 12 Disk drive: unit 13 on SCSI controller 12 Disk drive: unit 11 on SCSI controller 12 Disk drive: unit 18 on SCSI controller 12 Disk drive: unit 16 on SCSI controller 12 Disk drive: unit 14 on SCSI controller 12 Disk drive: unit 12 on SCSI controller 12 Disk drive: unit 10 on SCSI controller 12 |