各式操作系统对AoE的支持程度:
Linux
Linux自2.6.11版(2005年3月1日发布)之后的核心程式即具备AoE的功效机制。
FreeBSD
FreeBSD自身并不支持AoE,但Coraid公司有提供FreeBSD之用的AoE驱动程式(下载网址)
Solaris
无论是SPARC版的Solaris或x86版的Solaris,都已有外部测试(beta test)性的AoE驱动程式。
Windows
Windows默认并未支持AoE,然而有一家位在欧洲(德国)的存储方案业者:Rocket Division Software,该公司的存储用软件:StarPort Storage Controller就含有供Windows操作系统使用的AoE驱动程式,除此之外也有AoE的初始器程式(Initiator)、iSCSI的初始器程式、虚拟磁盘程式(RAM disk)、虚拟DVD光碟程式(Virtual DVD drive)。
在支持的硬件方面,有Coraid公司推出AoE用的硬盘柜,称为EtherDrive。
另外, LayerWalker (中文名:联克科技) 也推出了AoE的SoC芯片。 实际测试的性能,在10/100Mbps以太网路上可以达到最高11.5MB/s (约92Mbps)的速度。在Gigabit网络上,则可以达到最高65MB/s(约530Mbps)读取速度与55MB/s(约440 Mbps写入速度)。称为miniSAN的这个Soc解决方案,展现了AoE有足够的能力与稳定性以取代价格高昂的iSCSI与速度较慢的SAMBA,FTP等以TCP为基础的资料传输协议。
在软件方面,自由软件的专案网站:SourceForge.net有提供vblade软件的下载,将vblade软件安装到Linux服务器上,Linux服务器就会通过网络去寻找AoE硬盘柜,找寻到后便可向硬盘柜提出存储服务的请求,进而使用硬盘柜内的存储空间、资源。vblade软件有两种型态与执行法,一种是以使用者空间(userspace)的执行程式(属aoetools工具程式包的一部份)来运作,另一种是以Linux的核心模组程式(kernel module)来运作。
虽然AoE是简单的网络协议,但在存储的功效机制运作上却也增高了复杂性,因此有必要对AoE的进一步细节进行了解,如此才能切实依据场合、情境的需求来决定是否该采行AoE,同时此也有助于将一些新存储概念的普及推行。
区块性的存储传输
首先,ATA在AoE中被当成一种硬盘用的线路协议,资料写入硬盘后若要进行读出,则会以一个或一个以上的块状型态进行回传,且每块的容量尺寸大小(Block size)固定一致,此可称为传输区块(Block),AoE的技术基础即是此种“区块性传输”。
接着,AoE协议直接、简单地将ATA指令(ATA command)送入低阶网络封包内,此种方式使以太网路线(ethernet cable)能有效取代ATA接口的接线(或称:排线,ribbon cable),AoE可以在以太网路所及的各处进行资料区块的搬运与传输,而以太网路上的各端点可以是硬盘(硬盘柜)或电脑。
对ATA标准中的ATA排线而言,它不用去理会自身所传输的是何种资料区块,这对AoE标准而言也是相同,AoE标准所用的以太网路线不用去了解它所传输的是何种资料区块,用户可以读出、写入任何想要的区块资料,只不过在多数情况下,文件系统将比传输区块更适合用来进行资料的组织与结构化运用。
区块传输上的文件系统
就传统而言,使用者是以文件系统的方式来使用电脑中的硬盘,如ext3、XFS、以及NTFS等文件系统皆是以此种想定所设计、运用。
然而在使用AoE时,由于AoE运用以太网路来取代ATA排线,这就有可能破坏此种想定用法,改以AoE方式运作对传统文件系统而言是一件危险的事,有可能导致文件系统的错乱,或造成操作系统的核心错愕(kernel panic)。
对此,AoE是用集群式的文件系统来避免这些问题,使AoE硬盘、硬盘柜的区块性存储、传输的装置设备,能够同时供多部电脑访问使用,跳脱过往ATA技术只能让硬盘、硬盘群专供单一部电脑访问使用的限制。若就实际的功效运作来说,能够访问AoE硬盘柜的服务器自身就如同是加入集群系统的一部集群电脑,是以集群的共享机制来共同取用存储资源,而AoE硬盘柜即是一个可供共享的区块性存储设备。
至于具集群功效的文件系统有哪些,常见的有GFS、OCFS2等。
硬盘
AoE的目标端是个硬盘(集中放于AoE硬盘柜内),或者必须被视为一颗硬盘(用其他非硬盘的存储媒体来乔装顶替),对此有几项与与硬盘关连的要项必须关心留意:
访问速度主要取决于碟片的转速,转速单位为RPM,RPM值愈高,硬盘读写头(head,俗称:磁头)的旋转等待时间(rotational latency)就愈短,硬盘性能就愈高。其次读写头的移动速度愈快,搜轨时间(seek time)就愈短,此也会影响硬盘的传输快慢,其他还有磁录密度(magnetic density)、磁头入轨的精准度、碟片上的资料配置分布情形、以及碟机上的数位信号处理器、接口控制电路等也都会影响硬盘的性能表现。
硬盘的随机访问速度完全主导了搜寻时间
完整随机访问的时间比连续访问慢上1,000倍
就一般而言,单颗硬盘的连续访问速度为50MB/Sec―80MB/Sec。
运用磁盘阵列(RAID)技术多半可提高随机访问及连续访问的传输性能。
主控端操作系统及其文件系统必须尽可能将资料以连续访问的方式写入硬盘,如此有助于整体访问性能的提升。
以太网路
有关以太网路的更多资讯请参考维基百科的条目说明,在此仅谈论对AoE技术有关及有帮助的部分。
AoE封包是用以太网路中的MAC位址来决定封包从何处发出以及要传往何处。不过MAC位址只能在单一的以太网路中使用,因为MAC位址是以网域为范畴进行广播式发送。
现有的以太网路硬件多具有流量控制(flow control)的功效机制,能够使封包重新发送(packet retransmission)的带宽需求降至最低。
以太网路使用循环冗余校验(CRC)算法来确保封包完整送达。
网络式存储
当使用以太网路来进行区块性传输时,将能够获得以下的几项潜在益处:
存储的空间、容量等资源可以很容易地扩展延伸。
容量扩展的上限几乎是无限。
可以将以太网路建立成ad hoc的型态,借此来对访问传输进行控制。
存储设备的硬件及其资源可以从专属个用、单用转变成公用、共享型态。
资料备份更加容易。
与存储设备、存储资源相同的,存储的资料也可以从专用改成共享。
组态字串
当同时间有一部以上的服务器对AoE硬盘柜进行访问,此时传输运作就会发生冲突,因为AoE硬盘柜不能确认哪一部服务器拥有真正的访问主控权,为了解决这个问题,AoE协议中具备一种协调机制,通过此种机制来排解冲突,使同时性的访问纠纷可以化解,此外该机制也能维持与保护共享资料的一致性,避免资料发生矛盾,举例来说,当一部服务器取得AoE硬盘柜的访问主控权时,特别是服务器正将新的资料写入硬盘时,机制上会自动对正在写入的存储区块进行保护,防止其他的服务器也对该区块进行写入,待原有的服务器完成写入后才将保护解除,并允许下一个获得主控权的服务器对该区块进行读出或写入。
若进一步探究,AoE允许用两种方式来实现此种排解机制,一种是由已经获得访问主控权的服务器,由该服务器以TCP/IP协议的方式对其他服务器发送讯息,告知哪个区块正在访问使用中,请勿对该区块进行重复性访问,以免造成访问冲突与资料矛盾等问题,等于让多部服务器间自行进行访问上的讨论与知会。
另一种作法是由AoE硬盘柜自己来决定哪个服务器可以进行访问,AoE协议也支持此种作法,在AoE协议中具有一种组态字串(Config String[3])的功效机制,即是在AoE硬盘柜上设置一个组态字串,由各部服务器来对此字串进行设定(对字串的存储区进行写入),设定成功的服务器即拥有访问传输的主控权,反之失败的服务器只能等候与再次尝试设定,而同时间只会有一个服务器能成功设定.