ATA over Ethernet
ATA over Ethernet(简称:AoE)是由Brantley Coile[1]所提创的一种网络通讯协议,此协议可以在以太网路上访问ATA标准的存储装置(多指硬盘[2]),运用此协议的好处在于能以平价且标准的技术来实现一个存储局域网络环境。
AoE不倚赖以太网路中网络层以上的协议,包括IP、UDP、TCP等都弃舍不用,这表示AoE不能通过在局域网络上进行路由、绕径,很明显AoE仅打算做为存储局域网络之用。
需要注意的是,AoE与iSCSI相同,皆强调自身是远比光纤渠道(Fibre Channel)低廉的存储局域网络布建方案,不过AoE标榜比iSCSI更简单、更低廉。单就标准规范的技术文件而言,AoE规格仅有8页,而iSCSI却为257页。
操作系统支持
编辑以下是各式操作系统对AoE的支持程度:
- Linux
- Linux自2.6.11版(2005年3月1日发布)之后的核心程式即具备AoE的功效机制。
- OpenBSD
- 自4.5-Current版开始原生支持
支持AoE的软、硬件
编辑在支持的硬件方面,有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封包是用以太网路中的MAC位址来决定封包从何处发出以及要传往何处。不过MAC位址只能在单一的以太网路中使用,因为MAC位址是以网域为范畴进行广播式发送。
- 现有的以太网路硬件多具有流量控制(flow control)的功效机制,能够使封包重新发送(packet retransmission)的带宽需求降至最低。
- 以太网路使用循环冗余校验(CRC)算法来确保封包完整送达。
网络式存储
编辑当使用以太网路来进行区块性传输时,将能够获得以下的几项潜在益处:
- 存储的空间、容量等资源可以很容易地扩展延伸。
- 容量扩展的上限几乎是无限。
- 可以将以太网路建立成ad hoc的型态,借此来对访问传输进行控制。
- 存储设备的硬件及其资源可以从专属个用、单用转变成公用、共享型态。
- 资料备份更加容易。
- 与存储设备、存储资源相同的,存储的资料也可以从专用改成共享。
组态字串
编辑当同时间有一部以上的服务器对AoE硬盘柜进行访问,此时传输运作就会发生冲突,因为AoE硬盘柜不能确认哪一部服务器拥有真正的访问主控权,为了解决这个问题,AoE协议中具备一种协调机制,通过此种机制来排解冲突,使同时性的访问纠纷可以化解,此外该机制也能维持与保护共享资料的一致性,避免资料发生矛盾,举例来说,当一部服务器取得AoE硬盘柜的访问主控权时,特别是服务器正将新的资料写入硬盘时,机制上会自动对正在写入的存储区块进行保护,防止其他的服务器也对该区块进行写入,待原有的服务器完成写入后才将保护解除,并允许下一个获得主控权的服务器对该区块进行读出或写入。
若进一步探究,AoE允许用两种方式来实现此种排解机制,一种是由已经获得访问主控权的服务器,由该服务器以TCP/IP协议的方式对其他服务器发送讯息,告知哪个区块正在访问使用中,请勿对该区块进行重复性访问,以免造成访问冲突与资料矛盾等问题,等于让多部服务器间自行进行访问上的讨论与知会。
另一种作法是由AoE硬盘柜自己来决定哪个服务器可以进行访问,AoE协议也支持此种作法,在AoE协议中具有一种组态字串(Config String[3])的功效机制,即是在AoE硬盘柜上设置一个组态字串,由各部服务器来对此字串进行设定(对字串的存储区进行写入),设定成功的服务器即拥有访问传输的主控权,反之失败的服务器只能等候与再次尝试设定,而同时间只会有一个服务器能成功设定。
附注说明
编辑参考引据
编辑- Coraid公司对AoE技术的相关说明(英文)
- LinuxDevices.com网站:ATA-over-Ethernet造就平价、Linux型的存储局域网络(2004年6月23日)(英文)
相关参见
编辑外部链接
编辑- 教学
- 在FreeBSD操作系统上使用AoE(页面存档备份,存于互联网档案馆) (英文)
- 各种不同发行版本的Linux在设定AoE时的小技巧(页面存档备份,存于互联网档案馆)(英文)
- 报导
- ATA Over Ethernet:将硬盘放在局域网络上(页面存档备份,存于互联网档案馆) - Linux Journal(2005年4月28日)(英文)
- 通过以太网路连接ATA硬盘 - 电子时报(2006年8月14日)(繁体中文)
- 协议
- AoE通讯协议的叙述说明(页面存档备份,存于互联网档案馆)(PDF档)(英文)
- AoE通讯协议的规范标准 (英文)
- 下载
- ATA Over Ethernet Tools(也称aoetools)及vblade(页面存档备份,存于互联网档案馆) (英文)
- 说明:vblade是安装、运作于AoE服务器端的程式,负责AoE的使用者空间(userspace)工作执行。
- 以Linux核心模组方式实现的vblade (英文)
- 说明:执行运作速度快过以使用者空间型态运作的vblade。
- ATA Over Ethernet Tools(也称aoetools)及vblade(页面存档备份,存于互联网档案馆) (英文)