The vblade is the virtual EtherDrive (R) blade, a program that makes a seekable file available over an ethernet local area network (LAN) via the ATA over Ethernet (AoE) protocol. The seekable file is typically a block device like /dev/md0 but even regular files will work. When vblade exports the block storage over AoE it becomes a storage target. Another host on the same LAN can access the storage if it has a compatible aoe kernel driver. The following command should build the vblade program on a Linux-based system: make For FreeBSD systems, include an extra parameter like so: make PLATFORM=freebsd There is a "vbladed" script that daemonizes the program and sends its output to the logger program. Make sure you have logger installed if you would like to run vblade as a daemon with the vbladed script. ecashin@kokone vblade$ echo 'I have logger' | logger ecashin@kokone vblade$ tail -3 /var/log/messages Feb 8 14:52:49 kokone -- MARK -- Feb 8 15:12:49 kokone -- MARK -- Feb 8 15:19:56 kokone logger: I have logger Here is a short example showing how to export a block device with a vblade. (This is a loop device backed by a sparse file, but you could use any seekable file instead of /dev/loop7.) ecashin@kokone vblade$ make cc -Wall -c -o aoe.o aoe.c cc -Wall -c -o linux.o linux.c cc -Wall -c -o ata.o ata.c cc -o vblade aoe.o linux.o ata.o ecashin@kokone vblade$ su Password: root@kokone vblade# modprobe loop root@kokone vblade# dd if=/dev/zero bs=1k count=1 seek=`expr 1024 \* 4096` of=bd -file 1+0 records in 1+0 records out 1024 bytes transferred in 0.009901 seconds (103423 bytes/sec) root@kokone vblade# losetup /dev/loop7 bd-file root@kokone vblade# ./vblade 9 0 eth0 /dev/loop7 ioctl returned 0 4294968320 bytes pid 16967: e9.0, 8388610 sectors Here's how you can use the Linux aoe driver to access the storage from another host on the LAN. ecashin@kokone ecashin$ ssh makki Last login: Mon Feb 7 10:25:04 2005 ecashin@makki ~$ su Password: root@makki ecashin# modprobe aoe root@makki ecashin# aoe-stat e9.0 eth1 up root@makki ecashin# mkfs -t ext3 /dev/etherd/e9.0 mke2fs 1.35 (28-Feb-2004) ... Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. root@makki ecashin# mkdir /mnt/e9.0 root@makki ecashin# mount /dev/etherd/e9.0 /mnt/e9.0 root@makki ecashin# echo hooray > /mnt/e9.0/test.txt root@makki ecashin# cat /mnt/e9.0/test.txt hooray Remember: be as careful with these devices as you would with /dev/hda! AoE Initiator Compatibility --------------------------- The Linux aoe driver for the 2.6 kernel is compatible if you use aoe-2.6-7 or newer. You can use older aoe drivers but you will only be able to see one vblade per MAC address. Kvblade ------- While vblade runs as a userland process (like "ls" or "vi"), there is another program that runs inside the kernel. It is called kvblade. It is alpha software.