在 CentOS 7 上使用 ATA Over Ethernet (AoE)(启动器和目标)在 CentOS 7 上使用 ATA Over Ethernet (AoE)(启动器和目标)在 CentOS 7 上使用 ATA Over Ethernet (AoE)(启动器和目标)在 CentOS 7 上使用 ATA Over Ethernet (AoE)(启动器和目标)
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 CentOS 7 上使用 ATA Over Ethernet (AoE)(启动器和目标)

本教程适用于这些操作系统版本

  • CentOS 7.2
  • CentOS 6.3

在此页

  1. 1 条初步说明
  2. 2 启用其他存储库
  3. 3 在两个系统上加载 AoE 内核模块
  4. 4 在服务器 2 上设置服务器(目标)
  5. 5 在服务器 1 上设置客户端(启动器)
  6. 6 个链接

本指南解释了如何设置 AoE 目标和 AoE 启动器(客户端),它们都运行 CentOS 7。AoE 代表“以太网上的 ATA”,是一种存储区域网络 (SAN) 协议,它允许 AoE 启动器使用使用普通以太网电缆连接(远程)AoE 目标上的存储设备。在这种情况下,“远程”意味着“在同一 LAN 内”,因为 AoE 在 LAN 外不可路由(这是与 iSCSI 相比的主要区别)。对于 AoE 发起者,远程存储看起来像一个普通的、本地连接的硬盘驱动器。

1 初步说明

我在这里使用两台 CentOS 7 服务器:

  • server1.example.com(发起方):IP 地址 192.168.1.100
  • server2.example.com(目标):IP 地址 192.168.1.101

2 启用其他存储库

服务器 1/服务器 2:

首先,我们导入软件包的 GPG 密钥:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

然后我们在 CentOS 系统上启用 EPEL 存储库,因为我们将在本教程中安装的许多软件包在官方 CentOS 7 存储库中不可用:

yum -y install epel-release
yum -y install yum-priorities

编辑 /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

...并将行 priority=10 添加到 [epel] 部分:

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

然后我们更新系统上现有的包:

yum -y update

3 在两个系统上加载 AoE 内核模块

在我们开始之前,我们必须确保内核支持 AoE:

grep ATA_OVER /boot/config-`uname -r`

这应该显示如下内容:

[ ~]#

这意味着 AoE 是作为内核模块构建的。让我们检查模块是否已经加载:

lsmod | grep aoe

如果你什么也没得到,这意味着它没有加载。在这种情况下,我们可以按如下方式加载它:

modprobe aoe

让我们再次检查模块是否已加载:

lsmod | grep aoe
[ ~]#

要在系统启动时自动加载模块,我们将以下行添加到 /etc/rc.local:

nano /etc/rc.local
[...]
modprobe aoe
[...]

4 在服务器 2 上设置服务器(目标)

首先,我们设置目标(server2):

rpm -i http://download.opensuse.org/repositories/home:/cyberorg:/ltsp/CentOS_7/x86_64/vblade-22-3.1.x86_64.rpm

我们可以使用未使用的逻辑卷、映像文件、硬盘(例如/dev/sdb)、硬盘分区(例如/dev/sdb1)或RAID设备(例如/dev/md0)来存储。

在此示例中,我将使用位于存储文件夹 /storage 中的 10GB 图像文件。

mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=10000

这将创建一个大小为 10GB 的图像文件 /storage/storage1.img。

如果您想改用逻辑卷,则可以在卷组 vg0 中创建一个大小为 10GB 的名为 storage1 的卷,如下所示:

lvcreate -L10G -n storage1 vg0

现在我们导出我们的存储设备如下:

vbladed 0 1 ens33 /storage/storage1.img

第一个数字 (0) 是货架号(主要),第二个 (1) 是槽号(次要),根据您的喜好更改这些数字。每个 AoE 设备由一对必须唯一的主要/次要标识(如果您要导出多个设备),主要在 0-65535 之间,次要在 0-255 之间。 ens33 部分告诉 vbladed 使用哪个以太网设备,您可以通过运行找到有关您的以太网设备的详细信息

ifconfig

).

要在启动目标时自动开始导出,请打开 /etc/rc.local...

nano /etc/rc.local

...并向其中添加以下行(在 modprobe aoe 行之后!):

[...]
vbladed 0 1 ens33 /storage/storage1.img
[...]

5 在服务器 1 上设置客户端(启动器)

在 server1 上,我们安装启动器。没有适用于 CentOS 7 的软件包,但来自 centOS 6 的软件包可以正常工作,因此我们将在此处使用它。

rpm -i http://download.opensuse.org/repositories/system:/aoetools/CentOS_CentOS-6/x86_64/aoetools-36-1.2.x86_64.rpm

现在我们检查可用的 AoE 存储设备:

aoe-discover

命令

aoe-stat

现在应该显示存储设备:

[ ~]#

此时,我们在名为 /dev/etherd/e0.1 的客户端盒上有一个可用的新块设备。如果我们看一下 /dev 树,就会出现一个新节点:

ls -la /dev/etherd/
[ ~]#

要使用该设备,我们必须对其进行格式化:

fdisk /dev/etherd/e0.1
[ ~]#

之后,有一个新设备 /dev/etherd/e0.1p1,您可以在输出中看到它

ls -l /dev/etherd/
[ ~]#

现在我们在 /dev/etherd/e0.1p1 上创建一个文件系统...

mkfs.ext4 /dev/etherd/e0.1p1

...并出于测试目的安装它:

mount /dev/etherd/e0.1p1 /mnt

您现在应该在...的输出中看到新设备

mount
[ ~]#

... 和

df -h
[ ~]#

您可以像这样卸载它:

umount /mnt

在启动时自动安装设备,例如在目录 /storage 中,我们创建该目录...

mkdir /storage

... 并将以下行添加到 /etc/fstab:

nano /etc/fstab
[...]
/dev/etherd/e0.1p1       /storage        ext4    defaults,auto,_netdev 0 0

仅此一项不足以在启动时安装设备,因为 AoE 内容是在读取 /etc/fstab 后加载的。因此我们打开/etc/rc.local ...

nano /etc/rc.local

...并向其中添加以下行(在 modprobe aoe 行之后!):

[...]
aoe-discover
sleep 5
mount -a
[...]

出于测试目的,您现在可以重新启动系统:

reboot

重启后,应该挂载设备:

mount
[ ~]#
df -h
[ ~]#

6个链接

  • AoE 协议定义:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • CentOS:http://www.centos.org/

©2015-2025 艾丽卡 support@alaica.com