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.

RELATED TO vblade-persist…

vblade(8), runsv(8)

AUTHOR

Daniel Kahn Gillmor <[email protected]>