bioctl
—
RAID management interface
bioctl |
device command
[arg [...]] |
RAID device drivers which support management functionality can register their
services with the bio(4) driver.
bioctl
then can be used to manage the RAID
controller's properties.
The following commands are supported:
show
[disks | volumes]
- Without any argument by default
bioctl
will show
information about all volumes and the logical disks used on them. If
disks is specified, only information about physical
disks will be shown. If volumes is specified, only
information about the volumes will be shown.
alarm
[disable | enable |
silence | test]
- Control the RAID card's alarm functionality, if supported. By default if
no argument is specified, its current state will be shown. Optionally the
disable, enable,
silence, or test arguments may
be specified to enable, disable, silence, or test the RAID card's
alarm.
blink
start channel:target.lun | stop
channel:target.lun
- Instruct the device at channel:target.lun to start
or cease blinking, if there's
ses(4) support in the
enclosure.
hotspare
add channel:target.lun | remove
channel:target.lun
- Create or remove a hot-spare drive at location
channel:target.lun.
passthru
add DISKID channel:target.lun |
remove channel:target.lun
- Create or remove a pass-through device. The
DISKID argument specifies the disk that will be used
for the new device, and it will be created at the location
channel:target.lun. NOTE: Removing
a pass-through device that has a mounted filesystem will lead to undefined
behaviour.
check
start VOLID | stop VOLID
- Start or stop consistency volume check in the volume with index
VOLID. NOTE: Not many RAID
controllers support this feature.
create
volume
VOLID DISKIDs
[SIZE] STRIPE RAID_LEVEL
channel:target.lun
- Create a volume at index VOLID. The
DISKIDs argument will specify the first and last
disk, i.e.: 0-3 will use the disks 0, 1, 2, and 3. The
SIZE argument is optional and may be specified if
not all available disk space is wanted (also dependent of the
RAID_LEVEL). The volume will have a stripe size
defined in the STRIPE argument and it will be
located at channel:target.lun.
remove
volume
VOLID channel:target.lun
- Remove a volume at index VOLID and located at
channel:target.lun. NOTE: Removing
a RAID volume that has a mounted filesystem will lead to undefined
behaviour.
The following command, executed from the command line, shows the status of the
volumes and its logical disks on the RAID controller:
$ bioctl arcmsr0 show
Volume Status Size Device/Label RAID Level Stripe
=================================================================
0 Building 468G sd0 ARC-1210-VOL#00 RAID 6 128KB 0% done
0:0 Online 234G 0:0.0 noencl <WDC WD2500YS-01SHB1 20.06C06>
0:1 Online 234G 0:1.0 noencl <WDC WD2500YS-01SHB1 20.06C06>
0:2 Online 234G 0:2.0 noencl <WDC WD2500YS-01SHB1 20.06C06>
0:3 Online 234G 0:3.0 noencl <WDC WD2500YS-01SHB1 20.06C06>
To create a RAID 5 volume on the SCSI 0:15.0 location on the disks
0, 1, 2, and 3, with stripe size of 64Kb on the first volume ID, using all
available free space on the disks:
$ bioctl arcmsr0 create volume 0 0-3
64 5 0:15.0
To remove the volume 0 previously created at the SCSI 0:15.0
location:
$ bioctl arcmsr0 remove volume 0
0:15.0
The bioctl
command appeared in OpenBSD
3.8, it first appeared in NetBSD 4.0 and was
rewritten for NetBSD 5.0.