| The EtherDrive (R) HOWTO for users of 2.6 kernels is found at ... |
| |
| http://www.coraid.com/SUPPORT/EtherDrive-HBA |
| |
| It has many tips and hints! |
| |
| The aoetools are userland programs that are designed to work with this |
| driver. The aoetools are on sourceforge. |
| |
| http://aoetools.sourceforge.net/ |
| |
| The scripts in this Documentation/aoe directory are intended to |
| document the use of the driver and are not necessary if you install |
| the aoetools. |
| |
| |
| CREATING DEVICE NODES |
| |
| Users of udev should find the block device nodes created |
| automatically, but to create all the necessary device nodes, use the |
| udev configuration rules provided in udev.txt (in this directory). |
| |
| There is a udev-install.sh script that shows how to install these |
| rules on your system. |
| |
| If you are not using udev, two scripts are provided in |
| Documentation/aoe as examples of static device node creation for |
| using the aoe driver. |
| |
| rm -rf /dev/etherd |
| sh Documentation/aoe/mkdevs.sh /dev/etherd |
| |
| ... or to make just one shelf's worth of block device nodes ... |
| |
| sh Documentation/aoe/mkshelf.sh /dev/etherd 0 |
| |
| There is also an autoload script that shows how to edit |
| /etc/modprobe.conf to ensure that the aoe module is loaded when |
| necessary. |
| |
| USING DEVICE NODES |
| |
| "cat /dev/etherd/err" blocks, waiting for error diagnostic output, |
| like any retransmitted packets. |
| |
| "echo eth2 eth4 > /dev/etherd/interfaces" tells the aoe driver to |
| limit ATA over Ethernet traffic to eth2 and eth4. AoE traffic from |
| untrusted networks should be ignored as a matter of security. See |
| also the aoe_iflist driver option described below. |
| |
| "echo > /dev/etherd/discover" tells the driver to find out what AoE |
| devices are available. |
| |
| These character devices may disappear and be replaced by sysfs |
| counterparts. Using the commands in aoetools insulates users from |
| these implementation details. |
| |
| The block devices are named like this: |
| |
| e{shelf}.{slot} |
| e{shelf}.{slot}p{part} |
| |
| ... so that "e0.2" is the third blade from the left (slot 2) in the |
| first shelf (shelf address zero). That's the whole disk. The first |
| partition on that disk would be "e0.2p1". |
| |
| USING SYSFS |
| |
| Each aoe block device in /sys/block has the extra attributes of |
| state, mac, and netif. The state attribute is "up" when the device |
| is ready for I/O and "down" if detected but unusable. The |
| "down,closewait" state shows that the device is still open and |
| cannot come up again until it has been closed. |
| |
| The mac attribute is the ethernet address of the remote AoE device. |
| The netif attribute is the network interface on the localhost |
| through which we are communicating with the remote AoE device. |
| |
| There is a script in this directory that formats this information |
| in a convenient way. Users with aoetools can use the aoe-stat |
| command. |
| |
| root@makki root# sh Documentation/aoe/status.sh |
| e10.0 eth3 up |
| e10.1 eth3 up |
| e10.2 eth3 up |
| e10.3 eth3 up |
| e10.4 eth3 up |
| e10.5 eth3 up |
| e10.6 eth3 up |
| e10.7 eth3 up |
| e10.8 eth3 up |
| e10.9 eth3 up |
| e4.0 eth1 up |
| e4.1 eth1 up |
| e4.2 eth1 up |
| e4.3 eth1 up |
| e4.4 eth1 up |
| e4.5 eth1 up |
| e4.6 eth1 up |
| e4.7 eth1 up |
| e4.8 eth1 up |
| e4.9 eth1 up |
| |
| Use /sys/module/aoe/parameters/aoe_iflist (or better, the driver |
| option discussed below) instead of /dev/etherd/interfaces to limit |
| AoE traffic to the network interfaces in the given |
| whitespace-separated list. Unlike the old character device, the |
| sysfs entry can be read from as well as written to. |
| |
| It's helpful to trigger discovery after setting the list of allowed |
| interfaces. The aoetools package provides an aoe-discover script |
| for this purpose. You can also directly use the |
| /dev/etherd/discover special file described above. |
| |
| DRIVER OPTIONS |
| |
| There is a boot option for the built-in aoe driver and a |
| corresponding module parameter, aoe_iflist. Without this option, |
| all network interfaces may be used for ATA over Ethernet. Here is a |
| usage example for the module parameter. |
| |
| modprobe aoe_iflist="eth1 eth3" |