自制 iSCSI SAN 的最佳免费软件解决方案

自制 iSCSI SAN 的最佳免费软件解决方案

我目前有一个在 Ubuntu 上运行 ZFS 的 NAS,但最近将我的主要 Windows 软件更改为使用 Stablebit DrivePool 池化本地驱动器。除非它们是 iSCSI 并以与物理磁盘相同的方式呈现给 Windows 10 操作系统,否则我无法将网络驱动器包含在 DrivePool 中。我尝试使用 Stablebit Cloud 驱动器将 Windows 共享作为虚拟驱动器进行安装,但速度太差了。我有两台 PC,它们之间总共有 22 个驱动器,我希望能够将所有驱动器池化到 DrivePool 中的一个大型虚拟驱动器中。SnapRaid 和文件夹级别复制到多个驱动器以存储个人照片和视频,从而实现冗余。

我有两个 Emulex 12002 双光纤通道 HBA,我想将两台 PC 连接在一起,将辅助驱动器呈现给主 Windows PC,这样 Drivepool 和 SnapRaid 就可以发挥它们的魔力了。我遇到的难题是使用最简单的免费软件来实现这一点。我对 Linux 和 BSD 操作系统很满意,但也会考虑 Windows 10/Server。理想情况下,我希望 SAN 不仅能呈现 iSCSI 驱动器,还能成为主 Windows PC 的 docker swarm 的一部分。

要求:

  • 主 PC 运行带有 SnapRaid 和 StableBit DrivePool 的 Windows 10 Pro,将所有存储集中到相当于 Raid5/RaidZ1(1 个驱动器故障)的存储,并将额外的文件夹级别复制到 2/3/4 个物理驱动器以存储特定的重要文件。
  • 主 PC 和副 PC 都将安装带有 8GBit 光纤链路的 Emulex 12002 双光纤通道 HBA。我需要通过这些而不是 1GBit NIC 发送 iSCSI 数据。我不打算使用光纤通道交换机,只是两台 PC 之间的专用链路。
  • 第二台 PC 需要将所有驱动器(启动 SSD 除外)作为 iSCSI 驱动器呈现给主 PC,以便与 DrivePool 配合使用。我更愿意呈现原始驱动器(充当直通),以便主 PC 使用 NTFS 文件系统管理分区和碎片。
  • 第二台 PC 需要能够与主 PC 一起作为 docker swarm 的一部分运行 docker
  • 初始设置后,第二台 PC 需要无头,所有管理均通过主 PC 远程执行
  • 借助 iSCSI 驱动器,我将能够将 SnapRaid 升级到 Raid6/Z2 或更高版本(2 个以上驱动器故障),并通过 DrivePool 添加额外的池存储
  • 我不会运行虚拟机,只会运行用于服务的 Docker,因此我不需要虚拟机管理程序,除非这是创建 iSCSI 目标的最简单方法。

问题:

  • iSCSI 是否转发 SMART 信息?Stablebit Drive Scanner 是否可以像本地安装的驱动器一样与它们配合使用。
  • 实现此目的的最简单的免费 (GPL/开源等) 操作系统/软件是什么?除非 Windows Server 2019 是一个好的解决方案,否则我不会考虑专有操作系统。
  • 我可以让 iSCSI 目标以与本地安装的驱动器相同的方式运行吗?
  • 是否有一个与 StableBit Scanner 相当的好的 Linux 软件,可以监控 SMART 信息并定期扫描驱动器表面?

我已经在谷歌上搜索了相当多的内容,但我找到的大多数答案都是基于专有的 SAN 硬件,而不是我想要的 DIY 解决方案。非常感谢您的帮助和建议!一旦我知道了最好的软件/操作系统,我就能更具体进行谷歌搜索。

答案1

问题 1: iSCSI 是否转发 SMART 信息?Stablebit Drive Scanner 是否可以像本地安装的驱动器一样与它们配合使用。使用哪种最简单的免费(GPL/开源等)操作系统/软件来实现这一点?除非 Windows Server 2019 是一个很好的解决方案,否则我不会考虑专有操作系统。

答案1:有商业 iSCSI 目标将所有 SCSI 流量按原样转发到目标设备,但这是 a) 罕见的情况,并且 b) 这是一个性能问题,因为单个虚拟 I/O 队列映射到短物理设备 I/O 队列。通常,iSCSI 目标会将多个物理磁盘集中到单个虚拟 LUN 中以报告为 iSCSI 目标,因此所有 SMART 命令最终都会进入 iSCSI 目标。我建议 StarWind iSCSI Target 表现最佳。这个可以在您的 Windows 机器上运行,或者如果您运行虚拟化,也可以使用 Linux VM。我建议不要使用 Windows 默认 iSCSI 目标,因为它真的很慢,没有内置 HA,并且 VMware HCL 中缺少它。如果您愿意,Linux 默认 LIO 效果很好。

问题2: 我可以让 iSCSI 目标以与本地安装的驱动器相同的方式运行吗?是否有一个与 StableBit Scanner 相当的 Linux 版本,可以监控 SMART 信息并定期扫描驱动器表面?

A2:是的,但并不是每个人都会对此感到满意。比如说,ReFS 在 SAN 卷上运行得不好,任何旨在处理尽可能少的“中间人”的文件系统(BtrFS、ZFS)也是如此。

答案2

  • iSCSI 通常在磁盘系统上传递 LUN,因此它显示为单个虚拟磁盘,类似于 RAID 控制器向操作系统显示单个磁盘的方式,因此通常不会从各个磁盘传递 SMART 信息。
  • Starwind VSAN 是 Windows 上相当常见的解决方案,他们还提供免费版本。它基本上是一个在 Windows 服务器上运行的软件虚拟 SAN。
  • iSCSI 目标充当物理驱动器,但操作系统知道它们并不是真正的物理驱动器。因此,某些软件可能会对此感到不满,例如 ZFS 确实接受 iSCSI 目标作为磁盘,但在无法访问物理磁盘的情况下运行 ZFS 并不是最佳选择。
  • 您想在这里实现什么?如果您希望从具有大量磁盘的单台机器上获得类似 NAS 的功能,只需在该机器上安装 FreeNAS,然后让它负责 SMART 监控和 ZFS 池清理。

相关内容