I read the rfc specification of ATA over Ethernet (AoE) and a bunch of related documents about AoE and iSCSI, and got the following feature comparisons:
1. Routability. AoE is built directly on top of Ethernet, and thus can only be used inside LAN or VLAN, not over Internet -- it is practically impossible to build a VLAN over Internet. iSCSI can be deployed across the Internet because it is built on IP, and the initiator and target communicate through TCP connections.
2. Performance. AoE is more light weighted and has less network and CPU overhead than iSCSI since it runs directly over Ethernet, but a test done by VMWare shows that they can both reach a throughput at the wire speed under proper configurations. See http://www.vmware.com/files/pdf/storage_protocol_perf.pdf and http://www.coraid.com/site/co-pdfs/AoE_Performance_Comparison_3.pdf.
3. Sharing of devices, or targets. AoE specification states AoE as a connectionless protocol, and provides mechanisms such as reserve/release command and config string to coordinate the concurrent access from different hosts, but this is not a real target sharing mechanism among multiple hosts. For example, if one target is reserved by one specific host and that host goes down, there will be no normal way for another host to come over and resume the use of the target device. The only way to deal with this type of fail-over is to find the administrator to force release the target so that it is available to other hosts. Commercial products usually rely on higher level shared disk file systems to coordinate the access from multiple clients and handle node failures (see http://www.sourceteksystems.com/Uploads/AoE_Tutorial.pdf).On the contrary, iSCSI specification explicitly supports sharing of both devices and targets. That is, you can either export one device as multiple targets, or share one target among multiple initiators. So sharing of volumes is easier with iSCSI. For read-only sharing, we can simply have multiple instances attached to the same volume, either by creating multiple targets on the same physical or logical volume, or by connecting multiple initiators to a single device target. And in case of failure of one attached instance, we can directly have a backup instance come over and resume the use of the volume.
Saturday, July 25, 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment