'''[[w:ATA over Ethernet|ATA over Ethernet (AoE)]]'''<ref>[[w:ATA_over_Ethernet|Wikipedia:ATA over Ethernet]]</ref> is a [[w:network protocol|network protocol]] developed by the Brantley Coile Company (now Coraid)<ref>[http://www.coraid.com/index.html Coraid:: The Linux Storage People]</ref>, designed for accessing [[w:Advanced Technology Attachment|ATA]] storage devices over [[w:Ethernet|Ethernet]] networks. It gives the possibility to build [[w:Storage area network|SAN]]s with low-cost, standard technologies. AoE does not rely on network layers above Ethernet, such as [[w:Internet Protocol|IP]], [[w:User Datagram Protocol|UDP]], [[w:Transmission Control Protocol|TCP]], etc. This means that AoE is not routable over [[w:local area network|LAN]]s and is intended for SANs only. An alternative to [[w:iSCSI|iSCSI]], the AoE specification<ref>[http://www.coraid.com/documents/AoEr8.txt Advanced Technology Attachment(ATA) over Ethernet - (AoE) ]</ref> <ref>[http://www.coraid.com/technology.html Coraid: The AoE Protocol]</ref> is 8 pages compared with iSCSI's<ref>[http://www.ietf.org/rfc/rfc3720.txt RFC 3720 - Internet Small Computer Systems Interface - (iSCSI)]</ref> 257 pages.

+

'''[[w:ATA over Ethernet|ATA over Ethernet (AoE)]]'''<ref>[[w:ATA_over_Ethernet|Wikipedia:ATA over Ethernet]]</ref> is a [[w:network protocol|network protocol]] developed by the Brantley Coile Company (now [[w:Coraid|Coraid]])<ref>[http://www.coraid.com/index.html Coraid:: The Linux Storage People]</ref>, designed for accessing [[w:Advanced Technology Attachment|ATA]] storage devices over [[w:Ethernet|Ethernet]] networks. It gives the possibility to build [[w:Storage area network|SAN]]s with low-cost, standard technologies.

* AoE is not routable over [[w:local area network|LAN]]s 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.

{{Brick|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}}

{{Brick|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=

=Installation=

−

The Linkstation is used as a server running '''vblade''' and a computer running ubuntu used as a client running '''aoetools'''. This version of vblade runs in userspace, however there is a version that runs in kernelspace.<ref>[http://lpk.com.price.ru/~lelik/AoE/ Vblade Linux kernel module]</ref>

+

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.<ref>[http://lpk.com.price.ru/~lelik/AoE/ Vblade Linux kernel module]</ref> <ref>[http://sourceforge.net/project/showfiles.php?group_id=130453&package_id=201711 Sourceforge: Kvblade]</ref>

−

+

−

I had bricked my LS when trying to mount an internal partition the first time, so I used a usb drive this time around. Which on my L

+

−

LinkStation was <tt>/dev/sda1</tt>

+

==Server (vblade)==

==Server (vblade)==

===FreeLink===

===FreeLink===

−

Use [[w:Aptitude (program)|aptitude]] to install [[w:ATA_over_Ethernet|vblade componant of AOE]]. You will need to have the unstable branch added: [[Get access to packages from the Debian unstable branch]]

+

Use the [[w:Advanced Packaging Tool|Advanced Packaging Tool]] to install the vblade componant of AoE<ref>[http://sourceforge.net/project/showfiles.php?group_id=130453&package_id=143790 Sourceforge: Vblade]</ref>. You will need to have the unstable branch added.

−

apt-get install vblade

+

#[[Get access to packages from the Debian unstable branch]]

−

+

#use apt-get to install vblade:

+

<font color=red>apt-get install vblade</font>

'''usage:''' '''''vblade <shelf> <slot> <ethn> <device>'''''

'''usage:''' '''''vblade <shelf> <slot> <ethn> <device>'''''

−

vblade 1 2 eth0 /dev/sda1 &

+

The first number (1) is the shelf number, the second (2) the slot number, change these numbers to your liking. The <tt>'''eth0'''</tt> 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 <tt>'''/dev/sda1'''</tt> or some other device.

+

<font color=red>vblade 1 2 eth0 /dev/sda1 </font>

+

Or instead to have it run on startup and stay up since Vblade may not take well to being forked. Adding it to <tt>/etc/inittab</tt> as a command that would respawn itself should "daemonize" vblade<ref>[http://skylab.org/~icblenke/building-a-xen-cluster.txt Building a Xen Cluster]</ref>. If someone has a better solution please put it in here, it may be possible to add it to <tt>init.d</tt>

Install the aoetools<ref>[http://aoetools.sourceforge.net/ ATA Over Ethernet Tools and vblade] - the server side part of AoE and this one runs in userspace</ref> package <ref>[http://packages.debian.org/unstable/admin/aoetools Debian Package: aoetools] - tools to assist in using ATA over Ethernet</ref> using aptitude. You will need to have [[w:Unstable (Debian)|Unstable (Debian)]] or [[w:Testing (Debian)|Testing (Debian)]] branch enabled.

*[[w:Coraid|Coraid]] provides [[w:device driver|device drivers]] for [[w:FreeBSD|FreeBSD]] and [[w:Linux|Linux]]. Support is currently being beta tested for the [[w:Solaris Operating Environment|Solaris Operating Environment]]. <ref>[http://www.coraid.com/support.html Coraid: Support for EtherDrive (R) Storage]</ref>

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 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]

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