Vblade - ATA over Ethernet
![]() |
![]() |
Contents
Background
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 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.[4][5]
- It apparently uses less CPU time than the similar iSCSI protocol. For the technically minded, the AoE specification[6] [7] is 8 pages compared with iSCSI's[8] 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.
![]() |
Installation
USB Drive |
![]() |
I bricked my LS when trying to mount an internal partition the first time I tried this, so I used a usb drive this time around. Which on my LinkStation was /dev/sda1 - Ramuk |
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.[9] [10]
Server (vblade)
FreeLink
Use aptitude to install the vblade componant of AoE[11]. 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 <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[12]. 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)
My Client |
![]() |
In this case I have a PIII/600 Compaq Armada laptop running Ubuntu Dapper Drake. - Ramuk |
Install the aoetools[13] package [14] using aptitude. You will need to have Unstable (Debian) or Testing (Debian) branch enabled.
sudo apt-get aoetools mkdir mountpoint sudo modprobe aoe
check to see that your vblade device is available to mount
sudo aoe-stat
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[15]
References
- ↑ 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