Vblade – ATA over Ethernet (AoE)
ATA over Ethernet (AoE)[1] is a network protocol developed by the Brantley Coile Company (now Coraid)[2], designed for accessing ATA storage devices over Ethernet networks. It gives the possibility to build SANs with low-cost, standard technologies.
Advantages
iSCSI protocol stack
iSCSI
Data sync
TCP
AoE protocol stack IPsec
AoE IP
Ethernet Ethernet
Physical Physical
AoE vs. iSCSI[3]
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 3 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.[4]
It apparently uses less CPU time than the similar iSCSI protocol. For the technically minded, the AoE specification[5] [6] is 8 pages compared with iSCSI’s[7] 257 pages.
AoE is not routable over LANs and is intended for SANs only, which can provide greatly increased security.
Disadvantages
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.
Uses
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.
WARNING!
There is a possibility that you could brick your NAS with these instructions. Please make sure that you read the entire page carefully. This was a proof of concept exercise that someone on the IRC proposed. I bricked my LS the first time I played with this and had to reflash
Installation
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.[8] [9]
Server (vblade)
FreeLink
Use the Advanced Packaging Tool to install the vblade componant of AoE[10]. You will need to have the unstable branch added.
Get access to packages from the Debian unstable branch
use apt-get to install vblade:
apt-get install vblade
usage: vblade
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[11]. 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
Client (aoetools)
The following Operating systems provide ATA over Ethernet support:
Rocket Division Software has added AoE support for Windows.[12]
2ºFrost Software offers AoE support for Mac OS X [13]
Coraid provides device drivers for FreeBSD and Linux. Support is currently being beta tested for the Solaris Operating Environment. [14]
The Gentoo Linux Wiki has a AoE Howto[15]
In Debian using the Unstable or Testing branch the aoetools[16] package [17] can be installed using the Advanced Packaging Tool.
sudo apt-get aoetools
mkdir mountpoint
modprobe aoe
check to see that your vblade device is available to mount
aoe-stat
you should see output like this:
e1.2 20.003GB eth0 up
Mount this device on your client
mount -t vfat /dev/etherd/e1.2 mountpoint/
and try it out, hopefully it works.