HOWTO aoe

From Gentoo Linux Wiki

Jump to: navigation, search

Contents

[edit] What is ATA Over Ethernet?

ATA Over Ethernet (AOE) is an IEEE protocol capable of sending ATA commands over a network. It was developed by Coraid (a startup company) 1 in order to make Linux Storage Area Networks (SANs) easy to create. This page is intended to give an overview of the protocol, as many people may have found it in their kernel configurations and wondered at its purpose.

[edit] Arguments

[edit] Advantages

  • 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 layer 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, and (for the technically-minded) the protocol is only 8 pages, compared with iSCSI's 257.
  • The protocol is also non-routable, which can provide a great increase in security.

[edit] Disadvantages

  • Each partition on the server computer can only be used by one client at a time, unless a cluster filesystem such as GFS or Lustre is used; 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 seperated by routers.

[edit] 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 are much better for this.

[edit] Installation

  • You must add AOE support to your kernel, either compiled in (shown below) or as a module:
Linux Kernel Configuration: ATA Over Ethernet
Device Drivers  --->
  Block devices  --->
    <*> ATA over Ethernet support

[edit] Server

First we have to unmask the packages

echo sys-block/vblade >> /etc/portage/package.keywords

Then install the server:

emerge -av sys-block/vblade

Now it is time to edit the config file, open /etc/conf.d/vblade and change the config to your liking. My config file looks like this:

config_vblade0="0 0 eth0 /dev/sda1"

The vblade0 part is the name, like with the net package the vblade package uses /etc/init.d/vblade.$NAME to start, where name defaults to vblade0. The first 0 is the shelf number, the second 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/hda1 or some other device.

After editing, it is time to start the server.

/etc/init.d/vblade.vblade0 start


[edit] Client

First we have to unmask the packages

echo sys-block/aoetools >> /etc/portage/package.keywords

Then install the client

emerge -av sys-block/aoetools

If you've done everything correctly then you should see the server share by typing aoe-stat now. You can mount the share from /dev/etherd/e$SHELF.$SLOT (which is /dev/etherd/e0.0 in my case)

Good luck with your new ATA over Ethernet system :)

WoLpH 18:00, 9 May 2006 (UTC)

[edit] Sources

Personal tools