最後更新: 2016-05-18
介紹
AoE encapsulates those commands inside Ethernet frames
* AoE runs on layer 2 Ethernet(fast and lightweight) <= No IP/TCP overhead, but non-routability
* no password verification or encryption
* ACL (allowing connections only from specific MAC addresses)
AoE Header Format:
* EtherType 0x88A2
* 24 byte
Initiator --> Target-(Disk)
AoE "config string" feature
record who is using the device (防止 simultaneously)
Check Target Support AOE (Linux)
Target:
grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
modprobe aoe
Auto load module at startup
# Ubuntu
echo aoe >> /etc/modules
# Centos6
echo aoe > /etc/sysconfig/modules/aoe.modules
chmod +x /etc/sysconfig/modules/aoe.modules
安裝
apt-get install vblade
獲得
- vblade - process that uses raw sockets to perform ATA over Ethernet (foreground)
* Dæmonized version: vbladed
- kvblade - script to daemonize the vblade process
設定
/etc/vblade.conf
# network_device shelf slot file/disk/partition mac[,mac[,mac]] #eth0 0 0 /dev/sdb 00:11:22:33:44:55
* 限制了 MAC 後, 直頂 discover 唔到
Start Service
/etc/init.d/vblade
Usage
vblade [ -m mac[,mac...] ] shelf slot netif filename
-m MAC # MAC addresses permitted access to the vblade
-r # read-only
-d # O_DIRECT
-s # O_SYNC (writes are committed to disk before returning to the client)
i.e.
(server)# dd if=/dev/zero of=vblade0.img count=1 bs=1M
(server)# vblade 1 1 eth0 vblade0.img
pid 22588: e0.0, 2097152 sectors O_RDWR shelf: major slot: minor
Initiator
* mapped it as a Logical Unit (LU)
安裝 Tools:
# C6
yum install aoetools
# U14
apt-get install aoetools
獲得:
/sbin/aoe-version
/sbin/aoe-discover # AoE config query broadcast
/sbin/aoe-stat
/sbin/aoe-interfaces
/sbin/aoe-revalidate
/sbin/aoe-flush # flush the "down" devices out of the aoe driver
# Default: remember all devices it has seen until the module is unloaded
# rmmod aoe
/sbin/aoecfg # manipulate AoE configuration strings
/sbin/aoeping # simple communication with AoE device
/sbin/aoe-mkshelf
/sbin/aoe-mkdevs
/sbin/coraid-update
Usage
# version
aoe-version
aoetools: 30 installed aoe driver: 85 running aoe driver: 85
# tell aoe driver to discover AoE devices
aoe-discover
# load module
if the dæmon on the Target server is interrupted or exits, pending requests to the Initiator's AoE block devices will hang at least until the dæmon is restarted.
modprobe aoe aoe_deadsecs=10
# only eth0 allowable for AoE traffic
# restrict aoe driver to specified network interfaces
modprobe aoe aoe_iflist="eth1 eth2"
查看
aoe-interfaces
再設定
aoe-interfaces eth1 [eth2]
-c # clear the interface access list, permitting any interface to be used.
# print aoe device status report
aoe-stat
# format 及 mount 一個 AOE Device
/dev/etherd/e0.1
parted /dev/etherd/e0.1
mkfs.ext4 /dev/etherd/e0.1p1
mount /dev/etherd/e0.1p1 /mnt
revalidate
# tells the aoe driver to revalidate the disk (AoE device disappears(down) or changes size)
aoe-revalidate e1.1
# Auto mount aoe partition
udev
cat > /etc/udev/rules.d/60-aoe.rules << EOM SUBSYSTEM=="aoe", NAME="etherd/%k", GROUP="disk", MODE="0220" SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440" EOM
/etc/rc.local
# 引發 udev event aoe-discover mount /dev/etherd/e0.1p1 /mnt
進階工具 (Centos6 無此工具)
vblade-persist - show and manipulate persistently-exported ATA-over-Ethernet devices.
SYNOPSIS
vblade-persist ls [--no-header]
vblade-persist setup shelf slot netif blockdev
vblade-persist destroy shelf slot
vblade-persist { start | stop | restart | auto | noauto } shelf slot
vblade-persist { start | stop | restart | auto | noauto } all
vblade-persist mac shelf slot { ls | clear }
vblade-persist mac shelf slot { add | del } [ addr ... ]
# AoE device should be started automatically ( auto ) or not ( noauto ) at system boot time.
auto shelf slot
noauto shelf slot
Window Client (WinAoE)
[1] winaoe
License: GPL
Homepage: http://winaoe.org/
C:\Windows\system32\drivers\aoe32/64.sys
C:\Windows\system32\aoe.exe
How to use WinAoE
For general AoE access it is sufficient to just install the driver (using "Control Panel", "Add Hardware", until I make an installer).
After installing you can use the "aoe" command in a command prompt window to mount and unmount AoE drives (type "aoe" for a help screen).
[2] StarWind AoE Initiator
License: free / paid version
https://www.starwindsoftware.com/aoe-ataoverethernet-initiator
options:
-i do ATA device identify dump as raw hex
-I do ATA device identify print fields
-v be verbose
options taking arguments:
-s timeout in seconds
-S perform SMART command
-t specify number for starting AoE tag
A SAN allows the physical hard drive to be removed from the server that uses it, and placed on the network.
qaoed
Mulithreaded ATA over Ethernet storage target qaoed(8)
https://github.com/inste/qaoed