Next Previous Contents

2. How Linux Uses The EtherDrive System

For security and performance reasons, many people use a second network interface card (NIC) for ATA over Ethernet traffic. If you have a second NIC for the network where you have connected your EtherDrive blades, you can activate the NIC with a simple ifconfig eth1 up, using the appropriate device name instead of "eth1". Assigning an IP address is not necessary if the NIC is being used only for AoE traffic.

Using EtherDrive blades in Linux is achieved with a simple abstraction: each EtherDrive blade is represented as a disk device in /dev/etherd/ and accessed just like any other direct attached disk. The "aoe" device driver is an open-source loadable kernel module authored by Coraid that translates system reads/writes on a device into AoE request frames for the associated blade. When the AoE responses from the blade are received, the appropriate system read/write call is acknowledged as complete. The aoe device driver handles retransmissions in the event of network congestion.

The association of blades to devices in /dev/etherd/ follows a simple naming scheme. Each device is named eX.Y, where X represents a shelf address and Y represents a slot address. Both X and Y are decimal integers. The shelf address is set with the switches on the back of the shelf. Slots in a shelf are numbered from zero to nine or seventeen depending on disk drive size.. As an example, the following command shows the first 4KB of data from the disk on the EtherDrive blade in shelf 0, slot 1.

dd if=/dev/etherd/e0.1 bs=1024 count=4 | less

It directly follows that creating an ext3 filesystem on the selfsame EtherDrive blade is as simple as ...

mkfs.ext3 /dev/etherd/e0.1

After creating the filesystem, it can be mounted in the normal way. It is important to remember to unmount the filesystem before shutting down your network devices. (Make sure no automounting software re-mounts it afterwards.) Without networking, there is no way to unmount a filesystem that resides on a disk across the network.

It is best to update your init scripts so that filesystems on EtherDrive blades are unmounted early in the system-shutdown proceedure, before network interfaces are shut down.

Due to limitations within the Linux device driver architecture, each driver may only access 255 devices for each assigned device identification number. This currently dictates that a maximum of 255 EtherDrive blades can be accessed from a single Linux host. At a maximum current individual capacity of 400GB 3.5" drives per EtherDrive blade this is a total accessible store of 102TB (with 80GB 2.5" drives the capacity is 20.4TB). This is not, however, a hard limit. For anyone desiring to access more blades, additional device numbers may be obtained and added to the access list in the aoe driver.

The current aoe device driver for 2.4.x Linux kernels does not support the partitioning of an individual EtherDrive blade.


Next Previous Contents