在Debian Squeeze(启动器和目标)上使用以太网上的ATA(AoE)
本指南介绍如何设置AoE目标和AoE启动器(客户端),两者均运行Debian Squeeze。 AoE代表“以太网上的ATA”,是一种存储区域网络(SAN)协议,允许AoE启动器使用通用以太网布线在(远程)AoE目标上使用存储设备。 在这种情况下,“远程”意味着“在同一个LAN内部”,因为AoE不能在LAN外部路由(这与iSCSI相比是一个主要的区别)。 对于AoE启动器,远程存储器看起来像一个正常的本地连接的硬盘驱动器。
1初步说明
我在这里使用两个Debian Squeeze服务器:
-
server1.example.com
(Initiator):IP地址192.168.0.100
-
server2.example.com
(目标):IP地址192.168.0.101
2在两个系统上加载aoe内核模块
server1 / server2:
在我们开始之前,我们必须确保内核支持AoE:
grep ATA_OVER /boot/config-`uname -r`
这应该显示如下:
root@server2:~# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
root@server2:~#
这意味着AoE被构建为内核模块。 我们检查模块是否已经加载:
lsmod | grep aoe
如果你没有回来,这意味着它没有加载。 在这种情况下,我们可以加载如下:
modprobe aoe
如果模块加载,我们再检查一下:
lsmod | grep aoe
root@server2:~# lsmod | grep aoe
aoe 21380 0
root@server2:~#
要在系统启动时自动加载模块,我们将aoe
模块添加到/ etc / modules中
:
vi /etc/modules
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. # Parameters can be specified after the module name. aoe loop |
3设置目标(server2)
server2:
首先我们设置目标( server2
):
apt-get install vblade
我们可以使用未使用的逻辑卷,映像文件,硬盘驱动器(例如/ dev / sdb
),硬盘驱动器分区(例如/ dev / sdb1
)或RAID设备(例如/ dev / md0
)作为存储。 在本例中,我将在卷组vg0
中创建一个名为storage1
的20GB的逻辑卷:
lvcreate -L20G -n storage1 vg0
(如果要使用图像文件,可以按如下方式创建它:
mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=20000
这将创建大小为20GB的映像文件/storage/storage1.img
。
)
现在我们出口我们的存储设备如下:
vbladed 0 1 eth0 /dev/vg0/storage1
第一个号码( 0
)是货架编号(主要),第二个( 1
)socket号(次要),根据您的喜好更改这些数字。 每个AoE设备由几个主要/次要标识,必须是唯一的(如果您导出多个设备),主要在0-65535之间,次要在0-255之间。 eth0
部分告诉vbladed
哪个以太网设备要使用(如果以太网设备是eth1
,那么使用eth1
- 您可以通过运行以下方式了解以太网设备:
ifconfig
)。
要在启动目标时自动导出导出,请打开/etc/rc.local
...
vi /etc/rc.local
...并添加以下行(在退出0
行之前):
[...] /usr/sbin/vbladed 0 1 eth0 /dev/vg0/storage1 [...] |