Vblade - ATA over Ethernet
ATA over Ethernet (AoE) is a network protocol developed by the Brantley Coile Company (now Coraid), designed for accessing ATA storage devices over Ethernet networks. It gives the possibility to build SANs with low-cost, standard technologies.
|iSCSI protocol stack|
|AoE protocol stack||IPsec|
|AoE vs. iSCSI|
- AoE avoids the usual high-level TCP/IP or UDP protocols; it's a base-level protocol itself. (For the technically-minded, it is an OSI level 2 protocol.) This gives the advantage of higher speed transfers, as the protocol doesn't have to build upon existing structures. In comparison, iSCSI runs over TCP/IP.
- It apparently uses less CPU time than the similar iSCSI protocol. For the technically minded, the AoE specification  is 8 pages compared with iSCSI's 257 pages.
- AoE is not routable over LANs and is intended for SANs only, which can provide greatly increased security.
- Each partition on the server computer can only be used by one client at a time; AoE is not intended to be a replacement for NFS or similar protocols which run on top of filesystems. It is designed to work at a much lower level.
- As the protocol is non-routable, the servers cannot be separated by routers.
- ATA Over Ethernet is therefore useful for creating cheap SANs, but it is not intended for the average user. It is very definitely not useful for sharing files easily: NFS or Samba is much better for this.
The Linkstation is used as a server running vblade. A separate computer is a client running aoetools. This version of vblade runs in userspace, however there are versions that run in kernelspace. 
- Get access to packages from the Debian unstable branch
- use apt-get to install vblade:
apt-get install vblade
usage: vblade <shelf> <slot> <ethn> <device>
The first number (1) is the shelf number, the second (2) the slot number, change these numbers to your liking. The eth0 part tells vblade what interface to use, it will only be available to that interface on that direct connection. It can't go through routers and it can't be redirected. The last argument is the device name to share, this could be /dev/sda1 or some other device.
vblade 1 2 eth0 /dev/sda1
Or instead to have it run on startup and stay up since Vblade may not take well to being forked. Adding it to /etc/inittab as a command that would respawn itself should "daemonize" vblade. If someone has a better solution please put it in here, it may be possible to add it to init.d
echo "e1:2:respawn:/usr/sbin/vblade 1 2 eth1 /dev/sda1" >> /etc/inittab init q
sudo apt-get aoetools mkdir mountpoint sudo modprobe aoe
check to see that your vblade device is available to mount
you should see output like this:
e1.2 20.003GB eth0 up
Mount this device on your client
sudo mount -t vfat /dev/etherd/e1.2 mountpoint/
and try it out, hopefully it works. There is some useful Linux support on the Coraid site
- Wikipedia:ATA over Ethernet
- Coraid:: The Linux Storage People
- LinuxDevices.com - ATA-over-Ethernet enables low-cost Linux-oriented SAN
- Gentoo Linux Wiki:HOWTO aoe
- Linux Journal - Kernel Korner - ATA Over Ethernet: Putting Hard Drives on the LAN
- Advanced Technology Attachment(ATA) over Ethernet - (AoE)
- Coraid: The AoE Protocol
- RFC 3720 - Internet Small Computer Systems Interface - (iSCSI)
- Vblade Linux kernel module
- Sourceforge: Kvblade
- Sourceforge: Vblade
- Building a Xen Cluster
- Sourceforge: ATA Over Ethernet Tools
- Debian Package: aoetools - tools to assist in using ATA over Ethernet
- Linux Support for EtherDrive (R) Storage