家庭服务器:存储虚拟化,选择什么?

Huy*_*ens 5 linux home-server cloud-storage lvm

我正在寻找用于家庭服务器的存储和操作系统的虚拟化解决方案。一种私有云,我可以在其中独立于 VM 管理存储空间。

这个问题侧重于存储管理。(我还有另一个与 VM/计算实例管理相关的问题)。

这里是我的环境和愿望。

  • 服务器:HP Proliant MicroServer,8 GB RAM(AMD Turion 双核,采用 AMD-V 技术),1 个 250GB 系统磁盘和多达 4 个用于“数据”的 HDD (2 TB)
  • 操作系统类型:仅限 Linux(未来可能是 *BSD VM)
  • Linux 发行版无关紧要,我熟悉 RHEL、Fedora、Suse、Ubuntu,但任何其他推荐都可以
  • 4 HDD 将是一个软件 RAID 阵列,可能是 RAID 5。
  • 存储应该是“虚拟化/云化”的:
    • 易于扩展:如果我在网络上添加一个 NAS,我可以将这个存储空间内的 NAS 空间容量包含为一个虚拟磁盘。这可以是 NAS、外部 HDD 或其他服务器。
    • 集群 FSS3 风格的空间OpenStack 块存储?任何更易于管理/维护和易于集成/插入虚拟机/计算实例的方法。

我更喜欢免费(自由,就像在自由演讲中一样)和开源工具。但它不必像免费啤酒那样免费。

注意:我打算在这台服务器上运行的虚拟机是一个专用于备份的虚拟机,一个用于类似“owncloud/dropbox”的服务,可能还有一个用于媒体服务器(托管视频和照片)。我不确定传统的 VM 或计算实例是否最适合于此。

编辑 1,重新聚焦问题

据了解,经过一些自己的研究,存储虚拟化和存储虚拟机管理程序是相当新的技术,企业级解决方案的软件堆栈应用程序供应商很少,这不符合我的预算和 1 人个人时间可用性的需求。

因此,我将寻求更多切实可行的解决方案,但这里有一个新问题:为具有 4 个磁盘托架的家庭服务器选择哪些存储技术(设备映射器、逻辑卷管理器、集群 FS、iSCSI 等),而不是将来会使用 NAS 或其他此类服务器吗?

  • 使用 MD + LVM + iSCSI 的软件 RAID?(不确定这是否可行)
  • 使用 MD + iSCSI 的软件 RAID?
  • 使用 FS 支持它的软件 RAID,例如 ZFS 或 BTRFS?
  • GFS2 还是 OCFS2 集群文件系统?在 MD RAID 之上?
  • 等(你建议/建议)

编辑 2,精简配置

看来我的回答会围绕 MD 和 LVM2 作为核心技术。两者都支持(实验性)精简配置,因此一旦稳定,我就可以使用此功能。
我需要被告知使用良好的用户空间工具来监视这些技术,也许是否有一些工具(基于 Web 的)可以远程配置 LVM(除了 ssh)。

lvm“virtualsize”是精简配置实验功能的一部分,还是我可以在其他技术成熟时开始使用?

注 1:我可以在命令行中设置 MD 和 LVM 卷,但是可以通过 GUI 远程完成“维护”会很酷。

注 2:存储将用于备份,所以我不能使用实验性的甚至只是稳定的技术(如 btrfs),我想要经过验证的解决方案。不过,如果我能在这些新技术成熟时升级到它们,那就太好了!

编辑 3,Linux LIO

我对 iSCSI 或Linux LIO一无所知。我已经看到 Synology、QNAP 和其他 NAS 供应商在他们的 NAS 解决方案中实施了后者。这对我的目标有何帮助?是否有一些管理工具可以利用libStorageManagementTargetd等框架/库?还有其他选择吗?

osi*_*2is 4

因此,您希望使用 HP Microserver 作为虚拟化存储解决方案来托管 VM 来宾。我最近问了一个关于服务器故障的类似 问题,但更多的是关于同一个盒子内的虚拟化存储。在某种程度上,我认为你正在沿着这条路走下去(或者至少向前看)。

就操作系统/虚拟机管理程序而言,我建议您查看 VMWare ESXi 5.0。您可以将其安装在 USB 记忆棒上,从而为虚拟机节省磁盘存储空间。它可能不是完全免费的,但它足够免费以满足您的需求。您也可以放弃文件服务器的虚拟化,直接使用操作系统,因为虚拟化本身并不是您想要的功能,而是存储虚拟化/精简配置才是您所要求的。

对于您的存储,在我(有偏见的)看来,我建议使用 ZFS。Nexenta、OpenIndiana 或 FreeBSD,但 ZFS 是最佳选择。配备 4x2TB 磁盘和 8GB RAM,ZFS 非常适合。如果您使用 ESXi 的 USB 记忆棒,则可以将 250GB 系统磁盘替换为 ZIL 和 L2ARC 的 SSD,以进一步加速 ZFS(如有必要)。有一些命令行工具可以帮助确定 ZFS 是否需要 ZIL 或 L2ARC,但该讨论是另一篇文章的内容。

您还要求能够附加或者更确切地说当您放置扩展存储时。我不知道 ZFS 是否能够做到这一点,但就存储而言,ZFS 存储是可升级的,也许这是更好(读:更简单)的方法。也许其他人可以对此进行讨论,或者也许有另一个文件系统更适合此功能,但我在这方面并不了解。我想到的一个想法是使用 Newegg 的外部机箱将磁盘直接扩展到 HP Microserver。您可以轻松地在 ZFS 中创建新的 zpool,并将磁盘添加到该池中,或者在旧池中创建新的 vdev 以进一步扩展该池。

除了使用一些自定义防火墙规则之外,我不确定云式可访问性。也许其他用户在这方面可以为您提供更好或更详细的答案。

您可以将 ZFS 卷设置为 iSCSI 目标。这是 Oracle for Solaris 的一篇博客文章,但想法是相同的。iSCSI 可能是最常见、最经济实惠(也称为免费)的虚拟机存储虚拟化方式。

我还建议就 RAID 而言,RAID5/6 可能会以牺牲速度和简单性为代价获得更多的存储空间。我已经从传统的硬件 RAID(5 和 6)方式转变为镜像,我非常关注镜像。这可能会导致存储使用效率低下,但修复起来要简单得多,而且速度弥补了差异。这篇文章基本上向我推销了镜像,而不是 ZFS 内的 RAID 5 或 6,也可能是 ZFS 之外的。

ZFS 的最酷之处在于 vdev 和条带化。对于您在 zpool 中创建的每个 vdev,它们都会条带化。因此,如果您要采用 ZFS 路线,则需要创建两个镜像磁盘(磁盘 0 和 1)作为 vdev,然后创建另外两个磁盘(磁盘 2 和 3)作为另一个 vdev,然后 ZFS 将对两个 vdev 进行条带化,以便您可以将其视为 RAID 10(或 1+0)。真的很快而且很简单。您可能会遇到 2 个磁盘故障(只要每个磁盘不在同一个虚拟设备中),但不会有问题。

我希望这能回答您的一些问题。您已经给出了一些用例的部分示例,但是您到底打算用这个文件服务器做什么?也许通过更多的信息,其他人可以提供更有针对性的答案。