![家庭服务器:存储虚拟化,该选择什么?](https://linux22.com/image/1321294/%E5%AE%B6%E5%BA%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9A%E5%AD%98%E5%82%A8%E8%99%9A%E6%8B%9F%E5%8C%96%EF%BC%8C%E8%AF%A5%E9%80%89%E6%8B%A9%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我正在寻找家庭服务器的存储和操作系统虚拟化解决方案。一种私有云,我可以独立于 VM 管理存储空间。
这个问题主要针对存储管理。(我有另一个与虚拟机/计算实例管理相关的问题)。
这是我的环境和愿望。
- 服务器:HP Proliant MicroServer,配备 8 GB RAM(采用 AMD-V 技术的 AMD Turion 双核),1 个 250GB 系统磁盘和最多 4 个 HDD(2 TB)用于“数据”
- 操作系统类型:仅限 Linux(未来可能会有 *BSD VM)
- Linux 发行版不重要,我熟悉 RHEL、Fedora、Suse、Ubuntu,但任何其他推荐都可以
- 这 4 个 HDD 将成为软件 RAID 阵列,可能是 RAID 5。
- 贮存应该是“虚拟化/云化”:
- 易于扩展:如果我在网络上添加 NAS,我可以将 NAS 空间容量包含在该存储空间内作为一个虚拟磁盘。这可以是 NAS、外部 HDD 或另一台服务器。
- 簇FS或者S3风格空间或者OpenStack块存储? 无论什么都更容易管理/维护,并且易于集成/插入 VM/计算实例。
我更喜欢免费(自由,如言论自由)和开源工具。但它不一定非得是免费的,如免费的啤酒。
注意:我打算在此服务器上运行的虚拟机一个专用于备份,一个用于“owncloud/dropbox”类服务,也许还有一个用于媒体服务器(托管视频和照片)。我不确定传统虚拟机或计算实例是否最合适为了这。
编辑 1,重新聚焦问题
据我了解并经过一番研究,存储虚拟化和存储虚拟机管理程序是相当新的技术,除了企业级解决方案外,很少有软件堆栈提供商,这不符合我的预算和单人个人时间可用性的需求。
因此,我会寻求更切实可行的解决方案,但是这是新问题:对于具有 4 个磁盘托架的家用服务器,应选择哪些存储技术(设备映射器、逻辑卷管理器、集群 FS、iSCSI 等),以便将来可以使用 NAS 或其他此类服务器进行扩展?
- 使用 MD + LVM + iSCSI 的软件 RAID?(不确定是否可行)
- 使用 MD + iSCSI 的软件 RAID?
- 使用支持它的 FS(例如 ZFS 或 BTRFS)的软件 RAID?
- 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 解决方案中实现了后者。这对我的目标有什么帮助?是否有一些管理工具可以利用框架/库,例如库存储管理或者目标? 还有其他选择吗?
答案1
所以你想使用你的 HP Microserver 作为虚拟化存储解决方案来托管你的 VM 客户端。我最近问了一个相似的 问题在 serverfault 上,但更倾向于在同一个盒子内实现虚拟化存储。在某种程度上,我认为你正在走这条路(或者至少在展望未来)。
在操作系统/虚拟机管理程序方面,我建议您查看 VMWare ESXi 5.0。您可以将其安装在 USB 上,这样可以节省虚拟机的磁盘存储空间。它可能不是恰当的免费,但对于您的需求来说已经足够了。您也可以放弃文件服务器的虚拟化,直接使用操作系统,因为虚拟化本身并不是您想要的功能,而存储虚拟化/精简配置才是您所需要的。
供您存储,在我的(有偏见) 的意见,我建议使用 ZFS。Nexenta、OpenIndiana 或 FreeBSD,但 ZFS 是最佳选择。如果使用 4x2TB 磁盘和 8GB RAM,ZFS 将是不错的选择。如果您使用 USB 棒进行 ESXi,则可以将 250GB 系统磁盘替换为用于 ZIL 和 L2ARC 的 SSD,以进一步加快 ZFS 的速度(如果需要)。有一些命令行工具可以帮助确定 ZFS 是否需要 ZIL 或 L2ARC,但该讨论将在另一篇文章中讨论。
您还要求能够附加或更确切地说,正如您所说延长存储。我不知道 ZFS 是否能够做到这一点,但就存储而言,ZFS 的存储是可升级的,也许这是更好(更简单)的方法。也许其他人可以谈论这个,或者也许有另一个更适合此功能的文件系统,但我对这方面并不了解。我想到的一个想法是使用外部机箱将磁盘直接扩展到 HP Microserver 上,例如这一个来自 Newegg。您可以轻松地在 ZFS 中创建新的 zpools 并将磁盘添加到该池中,或者在旧池中创建新的 vdevs 以进一步扩展该池。
我不确定云除了使用一些自定义防火墙规则之外,还有其他可访问性。也许其他用户在这方面有更好或更详细的答案。
您可以将 ZFS 卷设置为 iSCSI 目标。以下是博客文章来自 Oracle for Solaris,但想法是一样的。iSCSI 可能是最常见且最实惠(即免费)的虚拟机存储虚拟化方式。
我还建议,就 RAID 而言,RAID5/6 可能会为您带来更多存储空间,但速度和简便性会受到影响。我已经从传统硬件 RAID(5 和 6)的方式转变过来,我完全赞成镜像。它可能对存储的使用效率不高,但修复起来要简单得多,而且速度弥补了差异。这文章基本上向我推销了镜像,而不是 ZFS 内的 RAID 5 或 6,可能也推销了 ZFS 之外的 RAID 5 或 6。
ZFS 的妙处在于虚拟设备和条带化。对于您在 zpool 中创建的每个虚拟设备,它们都会一起条带化。因此,如果您要使用 ZFS 路线,您将创建两个镜像磁盘(磁盘 0 和 1)作为虚拟设备,然后将其他两个磁盘(磁盘 2 和 3)作为另一个虚拟设备,然后 ZFS 会对两个虚拟设备进行条带化,因此您可以将其视为 RAID 10(或 1+0)。非常快,非常简单。您可能会遇到 2 个磁盘故障(只要每个磁盘不在同一个虚拟设备中),但不会有什么问题。
我希望这能回答您的一些问题。您给出了一些用例的部分示例,但您到底想用这个文件服务器做什么?也许再多一点信息,其他人就能提供更好的指导性答案。
答案2
在下载 FreeNAS 时,SourceForge 建议我查看 NAS4Free、OpenMediaVault 和 Openfiler。所有相关项目都很有前途。我需要花一些时间来验证所有这些产品... – Huygens 7 月 9 日 19:02
是的,有很多选择,你说得对,你可能只需要尝试一下,以确定哪个最适合你的需求。 – jmreicha 7 月 9 日 19:37
只需检查其他产品的功能即可。如果他们不提供虚拟文件系统作为文件系统选择,然后继续。就这么简单。
FreeNAS 现在还允许他们所谓的“插件”,这些插件实际上是在盒子上运行的虚拟机,因此您可以将 CUPS 打印服务器添加到您的存储阵列中。
答案3
我确实切换到了NAS4免费经过一段时间的测试。
在NAS4免费我的速度比我能达到的要快FreeNAS 8.3。它还包含一些不错的功能,例如加密FreeNAS 8缺乏。而且,还有一个很大的好处,NAS4免费现在支持高可用性存储 (HAST)