[[PageOutline]] = `vblade-persist` = `vblade-persist` is a simple shell-script-based framework for managing persistent, automatic `vblade`-created [wiki:aoe] exports on a POSIX-compliant OS such as GNU/Linux. == description == The `vblade-persist` script is used to show and manipulate persistently-exported [wiki:aoe 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 [wiki:aoe AoE] export, a symlink pointing to the backing device is created in `/dev/etherd/`, mirroring the devices seen by clients of the AoE device. == synopsis == {{{ usage: vblade-persist ls [--no-header] vblade-persist start|stop|restart|auto|noauto SHELF SLOT vblade-persist start|stop|restart|auto|noauto all vblade-persist setup SHELF SLOT NETIF SOURCE vblade-persist destroy SHELF SLOT vblade-persist mac SHELF SLOT ls vblade-persist mac SHELF SLOT clear vblade-persist mac SHELF SLOT add [MAC ...] vblade-persist mac SHELF SLOT del [MAC ...] }}} == example == Here's an example setup with a machine with a NIC named `lan`, which exporting two logical volumes at every boot: {{{ 0 zorro:~# vblade-persist setup 0 0 lan /dev/mapper/vg_zorro0-roti0 0 zorro:~# vblade-persist setup 0 1 lan /dev/mapper/vg_zorro0-polori0 0 zorro:~# vblade-persist auto all 0 zorro:~# vblade-persist ls #shelf slot netif source auto stat 0 0 lan /dev/mapper/vg_zorro0-roti0 auto down 0 1 lan /dev/mapper/vg_zorro0-polori0 auto down 0 zorro:~# }}} And here's the symlinks it creates when you bring the exports up. Note that this machine is also doing two AoE imports (`e1.*`) from another host. {{{ 0 zorro:~# ls -l /dev/etherd/e[0-9]* brw-rw---- 1 root disk 152, 256 2007-11-11 22:42 /dev/etherd/e1.0 brw-rw---- 1 root disk 152, 272 2007-11-11 22:42 /dev/etherd/e1.1 0 zorro:~# vblade-persist start all ok: run: /var/lib/vblade-persist/vblades/e0.0: (pid 4849) 0s ok: run: /var/lib/vblade-persist/vblades/e0.1: (pid 4856) 0s 0 zorro:~# ls -l /dev/etherd/e[0-9]* lrwxrwxrwx 1 root root 27 2007-11-12 00:14 /dev/etherd/e0.0 -> /dev/mapper/vg_zorro0-roti0 lrwxrwxrwx 1 root root 29 2007-11-12 00:14 /dev/etherd/e0.1 -> /dev/mapper/vg_zorro0-polori0 brw-rw---- 1 root disk 152, 256 2007-11-11 22:42 /dev/etherd/e1.0 brw-rw---- 1 root disk 152, 272 2007-11-11 22:42 /dev/etherd/e1.1 zorro:~# vblade-persist ls #shelf slot netif source auto stat 0 0 lan /dev/mapper/vg_zorro0-roti0 auto run 0 1 lan /dev/mapper/vg_zorro0-polori0 auto run 0 zorro:~# }}} == dependencies == `vblade-persist` depends on [wiki:runit] and [http://sourceforge.net/projects/aoetools/ vblade]. == download == [http://packages.qa.debian.org/vblade-persist vblade-persist is now a part of Debian]. The latest version of `vblade-persist` is available from CMRG in [http://cmrg.fifthhorseman.net/debian/pool/vblade-persist/v/vblade-persist/ source or .deb form], or from the [http://cmrg.fifthhorseman.net/debian/ CMRG apt repository] by adding the following to your `/etc/apt/sources.list`: {{{ deb http://cmrg.fifthhorseman.net/debian unstable vblade-persist deb-src http://cmrg.fifthhorseman.net/debian unstable vblade-persist }}} Since version 0.5-1, `vblade-persist` no longer works on etch because of [DebianBug:466376 changes in runit]. If you want to use `vblade-persist` on an etch system, please put the following lines in `/etc/apt/sources.list` instead: {{{ deb http://cmrg.fifthhorseman.net/debian etch vblade-persist deb-src http://cmrg.fifthhorseman.net/debian etch vblade-persist }}} Note: these repositories are signed by [wiki:dkg]'s [http://fifthhorseman.net/dkg.gpg GPG key]. You can [wiki:apt/importing-keys import this key for apt] if you want cryptographic verification of these packages. Anonymous, read-only access to the source is available via svn: {{{ svn co http://cmrg.fifthhorseman.net/svn/trunk/vblade-persist }}} You can also [source:trunk/vblade-persist browse the source on this site].