Difference between revisions of "Vblade - ATA over Ethernet"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
m (Client (aoetools))
m
 
(13 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
|-
 
|-
 
||http://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Harddisk-head.jpg/162px-Harddisk-head.jpg
 
||http://upload.wikimedia.org/wikipedia/commons/thumb/6/62/Harddisk-head.jpg/162px-Harddisk-head.jpg
||http://upload.wikimedia.org/wikipedia/en/thumb/b/be/Cat5-cable-with-RJ45.jpg/120px-Cat5-cable-with-RJ45.jpg
+
||[[Image:Cat5-cable-with-RJ45.jpg|116px]]
 
|}
 
|}
 
=Background=
 
=Background=
'''[[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.  
+
'''[[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.  
 
====Advantages====
 
====Advantages====
  
{| align=right cellspacing=0 cellpadding=2  
+
{| align=right cellspacing=0 cellpadding=2  
 
|-
 
|-
 
||
 
||
Line 45: Line 45:
 
|style="background:#F0F0F0;" colspan=3 align=center| '''AoE vs. iSCSI'''<ref>[http://linuxdevices.com/news/NS3189760067.html LinuxDevices.com - ATA-over-Ethernet enables low-cost Linux-oriented SAN]</ref>
 
|style="background:#F0F0F0;" colspan=3 align=center| '''AoE vs. iSCSI'''<ref>[http://linuxdevices.com/news/NS3189760067.html LinuxDevices.com - ATA-over-Ethernet enables low-cost Linux-oriented SAN]</ref>
 
|}
 
|}
* AoE avoids the usual high-level [[w:Transmission Control Protocol|TCP]]/[[w:Internet Protocol|IP]] or [[w:User Datagram Protocol|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.<ref>[http://gentoo-wiki.com/HOWTO_aoe Gentoo Linux Wiki:HOWTO aoe]</ref><ref>[http://www.linuxjournal.com/article/8149 Linux Journal - Kernel Korner - ATA Over Ethernet: Putting Hard Drives on the LAN]</ref>
+
* AoE avoids the usual high-level [[w:Transmission Control Protocol|TCP]]/[[w:Internet Protocol|IP]] or [[w:User Datagram Protocol|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.<ref>[http://www.linuxjournal.com/article/8149 Linux Journal - Kernel Korner - ATA Over Ethernet: Putting Hard Drives on the LAN]</ref>
 
* It apparently uses less CPU time than the similar [[w:iSCSI|iSCSI]] protocol. For the technically minded, 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.
 
* It apparently uses less CPU time than the similar [[w:iSCSI|iSCSI]] protocol. For the technically minded, 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.
 
* AoE is not routable over [[w:local area network|LAN]]s and is intended for SANs only, which can provide greatly increased security.
 
* AoE is not routable over [[w:local area network|LAN]]s and is intended for SANs only, which can provide greatly increased security.
Line 58: Line 58:
  
 
=Installation=
 
=Installation=
{{Postit|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 <tt>/dev/sda1</tt> - [[User:Ramuk|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.<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>
 
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>
 
==Server (vblade)==
 
==Server (vblade)==
 
===FreeLink===
 
===FreeLink===
Use [[w:Aptitude (program)|aptitude]] 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.  
+
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.  
 
#[[Get access to packages from the Debian unstable branch]]
 
#[[Get access to packages from the Debian unstable branch]]
 
#use apt-get to install vblade:
 
#use apt-get to install vblade:
Line 75: Line 74:
  
 
==Client (aoetools)==
 
==Client (aoetools)==
{{Postit|My Client|In this case I have a [[w:Pentium III|PIII]]/600 [[w:Compaq_Armada|Compaq Armada]] laptop running [[w:Ubuntu (Linux distribution)|Ubuntu]] Dapper Drake. - [[User:Ramuk|Ramuk]]}}
+
 
Install the aoetools<ref>[http://aoetools.sourceforge.net/ Sourceforge: ATA Over Ethernet Tools]</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.  
+
The following [[w:Operating system|Operating systems]] provide ATA over Ethernet support:
 +
*Rocket Division Software has added AoE support for Windows.<ref>[http://www.rocketdivision.com/port.html Rocket Division Software: StarPort Storage Controller]</ref>
 +
*2ºFrost Software offers AoE support for [[w:Mac OS X|Mac OS X]] <ref>[http://www.2degreesfrost.com/index.html The 2ºFrost AoE Driver™ for Mac OS X]</ref>
 +
*[[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>
 +
*The Gentoo Linux Wiki has a AoE Howto<ref>[http://gentoo-wiki.com/HOWTO_aoe Gentoo Linux Wiki: How to AoE]</ref>
 +
*In [[w:Debian|Debian]] using the [[w:Unstable (Debian)|Unstable]] or [[w:Testing (Debian)|Testing]] branch  the aoetools<ref>[http://aoetools.sourceforge.net/ Sourceforge: ATA Over Ethernet Tools]</ref> package <ref>[http://packages.debian.org/unstable/admin/aoetools Debian Package: aoetools] - tools to assist in using ATA over Ethernet</ref> can be installed using the [[w:Advanced Packaging Tool|Advanced Packaging Tool]].  
 
  <font color=red>sudo apt-get aoetools
 
  <font color=red>sudo apt-get aoetools
 
  mkdir mountpoint
 
  mkdir mountpoint
  sudo modprobe aoe</font>
+
  modprobe aoe</font>
 
check to see that your '''vblade''' device is available to mount
 
check to see that your '''vblade''' device is available to mount
  <font color=red>sudo aoe-stat</font>
+
  <font color=red>aoe-stat</font>
 
you should see output like this:
 
you should see output like this:
 
  '''e1.2'''        20.003GB  eth0 up
 
  '''e1.2'''        20.003GB  eth0 up
 
Mount this device on your client
 
Mount this device on your client
  <font color=red>sudo mount -t vfat /dev/etherd/e1.2 mountpoint/</font>
+
  <font color=red>mount -t vfat /dev/etherd/e1.2 mountpoint/</font>
and try it out, hopefully it works. There is some useful Linux support on the Coraid site<ref>[http://www.coraid.com/support/linux/ Linux Support for EtherDrive (R) Storage]</ref>
+
and try it out, hopefully it works.
  
 
=References=
 
=References=
 
<references/>
 
<references/>

Latest revision as of 20:11, 13 August 2007

162px-Harddisk-head.jpg Cat5-cable-with-RJ45.jpg

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 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.
Kurobrick.png
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.

  1. Get access to packages from the Debian unstable branch
  2. 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[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:

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.

References

  1. Wikipedia:ATA over Ethernet
  2. Coraid:: The Linux Storage People
  3. LinuxDevices.com - ATA-over-Ethernet enables low-cost Linux-oriented SAN
  4. Linux Journal - Kernel Korner - ATA Over Ethernet: Putting Hard Drives on the LAN
  5. Advanced Technology Attachment(ATA) over Ethernet - (AoE)
  6. Coraid: The AoE Protocol
  7. RFC 3720 - Internet Small Computer Systems Interface - (iSCSI)
  8. Vblade Linux kernel module
  9. Sourceforge: Kvblade
  10. Sourceforge: Vblade
  11. Building a Xen Cluster
  12. Rocket Division Software: StarPort Storage Controller
  13. The 2ºFrost AoE Driver™ for Mac OS X
  14. Coraid: Support for EtherDrive (R) Storage
  15. Gentoo Linux Wiki: How to AoE
  16. Sourceforge: ATA Over Ethernet Tools
  17. Debian Package: aoetools - tools to assist in using ATA over Ethernet