Linux 可以通过以太网将磁盘映像导出为 ATA 设备吗?

Jo-*_*tad 1 networking linux hard-drive virtualization san

这几乎只是单纯的好奇心。但是有一种叫做 ATA-over-Ethernet 的东西,Linux 应该支持它,它允许您直接通过以太网导出原始磁盘访问以形成 SAN。这是我很可能永远不必做的事情,但听起来很酷,所以我想尝试一下。然而,我没有那种实验所需的硬件,所以我想知道是否有可能创建一个网桥和多个虚拟机,每个虚拟机将多个虚拟磁盘导出为 ATA 设备,然后在网络中的另一台物理机?

Xen*_*050 6

正如davidgo指出的那样,关于以太网上的 ATA 有一些事情需要首先考虑:它是已解决问题 (iSCSI) 的陈旧和次优解决方案,可能不是一个好的解决方案。以太网上的 ATA 是一个非常小众的市场——它不使用 tcp——所以它不能跨越路由器,如果不直接连接就很难保护(那么直接插入它有什么意义?),它没有那么可扩展性,也不是在最有用的地方(例如 VM)也得到支持。也就是说,在某些有限的场景中,它的性能可能更高,因为它的开销略低。

更好的方法可能是使用 iSCSI(维基百科searchstorage.techtarget.com),debian 有一些很有前途的软件包,如open-iscsiCinder

但是,如果您仍然决心尝试 AoE 并且有适合它的程序,那么为什么不呢?通过以太网在debian 的包中搜索ata显示了很多结果(我不太确定它的“精确搜索”是否正在按照您的预期进行),但一些有希望的候选者是:

包装:vblade (23-1)

虚拟 AoE 刀片模拟器

vblade 是虚拟 EtherDrive (R) 刀片,该程序通过以太网上的 ATA (AoE) 协议在以太网局域网 (LAN) 上提供可查找文件

可查找文件通常是像 /dev/md0 这样的块设备,但即使是常规文件也可以使用。稀疏文件可能特别方便。当 vblade 通过 AoE 导出块存储时,它将成为存储目标。如果同一 LAN 上的另一台主机具有兼容的 aoe 内核驱动程序,则可以访问该存储


包装: aoetools (36-2)

帮助在以太网上使用 ATA 的工具

aoetools 是帮助在以太网上使用 ATA 的程序。这些工具旨在与适用于 Linux 2.6+ 内核的“aoe”驱动程序配合使用;事实上,这个版本推荐内核 2.6.14 或更高版本,因为它们都支持每个机架地址最多 16 个插槽。

运行 Linux 2.4 内核的系统不需要也不应该安装 aoetools。2.4 内核的 aoe 驱动程序是自给自足的。

此软件包中包含多种工具:

  • aoecfg - 操作 AoE 配置字符串
  • aoe-discover - 通过以太网设备触发 ATA 发现
  • aoe-flush - 将关闭的设备从 aoe 驱动程序中清除
  • aoe-interfaces - 限制用于 AoE 的网络接口
  • aoe-mkdevs - 创建字符和块设备文件
  • aoe-mkshelf - 为一个架子地址创建块设备文件
  • aoeping - 与 AoE 设备的简单用户空间通信
  • aoe-revalidate - 重新验证 AoE 设备的磁盘大小
  • aoe-sancheck - 诊断 MTU 和其他网络问题
  • aoe-stat - 打印 AoE 设备的状态信息
  • aoe-version - 打印 AoE 相关的软件版本信息
  • coraid-update - 将更新文件上传到 Coraid 设备

甚至运行一个并从另一台计算机(虚拟或其他)连接到它应该没问题