NAME
vblade-persist - manage persistent exported ATA-over-Ethernet devices
SYNOPSIS
vblade-persist ls [--no-header]
vblade-persist setup shelf slot netif blockdev
vblade-persist destroy shelf slot
vblade-persist { start | stop | restart | auto | noauto } shelf slot
vblade-persist { start | stop | restart | auto | noauto } all
vblade-persist mac shelf slot { ls | clear }
vblade-persist mac shelf slot { add | del } [ addr ... ]
DESCRIPTION
The vblade-persist script is used to show and manipulate persistently-
exported ATA-over-Ethernet devices. It has a simple subcommand syntax.
Persistent AoE device exports can be configured to come up at boot
time. For each running persistent AoE export, a symlink pointing to
the backing device is created in /dev/etherd/, mirroring the devices
seen by clients of the AoE device.
MANAGEMENT SUBCOMMANDS
ls [--noheader]
vblade-persist ls shows all existing persistent AoE exports. The
columns of the output are, in order: AoE Shelf, AoE Slot, Network
Interface, Backing Device, AutoStart, Status. AutoStart is either
"auto" (start automatically at boot), or "noauto" (don’t start
automatically at boot). Status should be either "run" (running) or
"down" (not running).
The optional --no-header argument suppresses the header line. This may
be convenient for machine-parseable output.
setup shelf slot netif source
vblade-persist setup creates a new persistent exported AoE block
device. You must supply all four additional arguments. These are the
same arguments supplied to vblade(8). You should specify source using
an absolute path.
New devices set up this way are noauto (not brought up automatically at
boot) and down (not exported immediately).
destroy shelf slot
vblade-persist destroy halts any running exported AoE block device
managed by vblade-persist and removes the service directory used to
manage it.
start shelf slot
stop shelf slot
restart shelf slot
These commands control a specific exported AoE device. Instead of
specifying shelf and slot , you can also provide the special keyword
all which will act on every exported AoE device.
auto shelf slot
noauto shelf slot
These commands control whether a specific exported AoE device should be
started automatically ( auto ) or not ( noauto ) at system boot time.
Instead of specifying shelf and slot , you can also provide the special
keyword all which will act on every exported AoE device.
MAC-ADDRESS FILTERING
You can use vblade-persist to restrict access to specific exports by
MAC address, using the mac subcommand.
mac shelf slot ls
List all MAC addresses allowed to access the specified device, one per
line. If the list is empty, no MAC address limits are imposed on this
device.
mac shelf slot clear
Remove all MAC address filtering from the specified device. No MAC
address limits will be imposed on this device.
mac shelf slot add [ addr ... ]
Add a MAC address (or more than one) to the list of allowed addresses
for the specified device. Note that if there were no MAC addresses
listed previously, this will enable MAC address filtering for the
device.
mac shelf slot del [ addr ... ]
Remove a MAC address (or more than one) from the list of allowed
addresses for the specific device. Note that if you remove all the MAC
addresses from the list, this will disable MAC address filtering for
the device.
EXAMPLES
Set up /dev/sda2 as shelf 2, slot 3 on the network served by interface
eth0. Make sure it starts automatically at boot, and start it up now:
vblade-persist setup 2 3 eth0 /dev/sda2
vblade-persist auto 2 3
vblade-persist start 2 3
Limit that same export to MAC addresses aa:bb:cc:dd:ee:ff and
11:22:33:44:55:66:
vblade-persist mac 2 3 add aa:bb:cc:dd:ee:ff 11:22:33:44:55:66
Remove all MAC address restrictions on the same export:
vblade-persist mac 2 3 clear
BUGS
You can’t currently use the vblade-persist framework to export a device
(or two) with the same shelf/slot identifier on two different network
interfaces.
DEPENDENCIES
The exports themselves are handled by vblade(8). Supervision of the
exports and convenient management is enabled by runsv(8), from the
runit suite.
SEE ALSO
vblade(8), runsv(8)
AUTHOR
Daniel Kahn Gillmor <dkg@fifthhorseman.net>