Debian packaging of the vblade virtual AoE blade emulator https://github.com/OpenAoE/vblade

Ed L. Cashin 0359ef052e Import upstream version 6 14 years ago
COPYING 0359ef052e Import upstream version 6 14 years ago
HACKING 0359ef052e Import upstream version 6 14 years ago
NEWS 0359ef052e Import upstream version 6 14 years ago
README 0359ef052e Import upstream version 6 14 years ago
aoe.c 0359ef052e Import upstream version 6 14 years ago
ata.c 0359ef052e Import upstream version 6 14 years ago
config.h 0359ef052e Import upstream version 6 14 years ago
dat.h 0359ef052e Import upstream version 6 14 years ago
fns.h 0359ef052e Import upstream version 6 14 years ago
linux.c 0359ef052e Import upstream version 6 14 years ago
linux.h 0359ef052e Import upstream version 6 14 years ago
makefile 0359ef052e Import upstream version 6 14 years ago
vblade 0359ef052e Import upstream version 6 14 years ago
vblade.8 0359ef052e Import upstream version 6 14 years ago
vbladed 0359ef052e Import upstream version 6 14 years ago

README

This is a beta release of vblade, the virtual EtherDrive (R) blade.
The vblade is 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 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.

The following command should build the vblade program:

make

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!