FreeNAS是否可以作为一个虚拟机运行是有争议的。
官方的立场是肯定的,但是需要额外的configuration 。
如果我不能保证我可以遵循这些build议,那么比起运行EXT4 / XFS的vanilla Linux系统,或者使用UFS的FreeBSD,我更容易遭受失败 – 特别是灾难性的失败?
具体来说,假设我将无法执行PCI传递,也不能禁用写入caching。 此外,我将只有一个虚拟磁盘存储(由硬件RAID支持的VMDK),所以没有RAIDZ。 显然,会有备份。
编辑 :澄清为什么我想要做到这一点 – 我需要一个文件服务器,这是我必须使用的基础设施。 如果我需要,我可以得到额外的虚拟磁盘设置RAIDZ,但否则就是这样。 我正在寻找一个好的文件服务器解决scheme,而FreeNAS似乎符合这个法案。 除了所有关于虚拟化ZFS的可怕警告,以及如何丢失所有数据并破坏备份。
我意识到,在这个基础设施上部署FreeNAS是有风险的。 我的问题是:比替代品风险高吗?
编辑2 :我似乎无法沟通我的意图。 带有ZFS的FreeNAS是一个坚如磐石的NAS平台。 然而,从我所读到的看来,使ZFS作为裸机文件服务器更可靠的function,如果在标准的虚拟机configuration上运行,实际上可能会对您有所帮助。 如果是这样,那么使用不同的文件系统是标准虚拟机设置(即没有直接IO,写入caching启用)的更好select。 这是一个正确的评估?
如果我不能保证我可以遵循这些build议,那么比起运行EXT4 / XFS的vanilla Linux系统,或者使用UFS的FreeBSD,我更容易遭受失败 – 特别是灾难性的失败?
风险是不同的,不能直接比较。
send/recv
或快照function,使您的生活更容易,没有任何关系的诚信。 如果您查看引用的build议并对其进行剖析,则会注意到以下几点:
- 如果您不使用PCI直通(更多内容请参见下文),那么您必须禁用ZFS中的清理任务。 硬件可以“撒谎”到ZFS,所以擦洗可以造成更多的伤害,甚至可能永久破坏你的Zpool。
Scrub只读取底层vdevs的每个块并validation它们的校验和。 如果你的虚拟磁盘没有处理这个问题,这是垃圾,你应该关心它,而不是关于ZFS。 另一方面,如果您的虚拟磁盘已经在SAN上进行了校验和,那么除了导致额外的I / O(这是无用的)之外,额外的擦除将不会执行任何操作。
- 第二个预防措施是禁用SAN,NAS或RAID控制器本身发生的任何写入caching。 一个写caching可以很容易地混淆了ZFS写入或未写入磁盘的内容。 这种混乱可能导致灾难性的池失败。
如果您不信任硬件,这是一个很好的build议。 当然,缺点是性能相当低。 您也可能无法控制SAN设置,因此您需要将其作为从ebay购买的廉价磁盘,并将其用于您的系统 – 至less在理论上可能发生任何事情。
- 使用单个磁盘会使您容易受到池元数据损坏,从而导致池损失。 为了避免这种情况,您至less需要3个vdevs,无论是条带还是RAIDZconfiguration。 由于ZFS池元数据在三个vdev之间进行镜像(如果可用),使用最less三个vdevs来构build您的池比一个vdev安全。 理想情况下,有自己的冗余vdevs是首选。
这是一般的build议,但有点挑剔。 假设你的SAN不好,这在某些情况下会帮助你(至less有很多运气)。 假设你的SAN是好的,这没有任何意义,只会损失你的空间和性能。 在我看来,要确保从物理磁盘到SAN到networking到VM主机到VM guest的链是同样好的,所以你不必在每一层再做一切。
关于FreeNASbuild议的一句话 – 它们当然是可以作为推荐的,也就是为普通观众提供的指南或提示。 如果你跟着他们,否则你不会变得更糟,甚至可能会更好。 然后,他们又是严厉的措辞,似乎是FreeNAS社区的惯常语气(至less从某些论坛海报来看)。 我想他们只是想在这个安全的一面。 我一直倾向于使用ZFS最佳实践指南 ,因为它的措辞非常中性,只是介绍事实,由您决定。
有趣的是,根据FreeNAS文档和论坛,如果您敢于使用less于4 GB的RAM运行ZFS文件服务系统,那么您将死于可怕的死亡,而在OmniOS的邮件列表(或SmartOS或Illumos或Nexenta,目前我不记得)人们testing了512MB内存的系统,并分享了如何configuration它们的build议。 总而言之,更多的是关于细节的知识,而select是由每个人决定的,而不是build立你将要遵循的规则。
随着时间的推移,这个问题也将变得不那么重要,并且build议将会改变,因为越来越多的系统在正常的桌面和服务器版本上切换到ZFS。 Ubuntu已经做到了,其他人肯定会跟上。 如果在两三年内80%的发行版使用ZFS或btrfs,其中大多数将运行虚拟化,所以这是一个有争议的问题。
说到替代品,你可以试试StarWind Free。 它具有RAM和SSDcaching,可选的重复数据删除function,并使用同步复制来实现高可用性。
我唯一的抱怨是我不能从虚拟机做直接SMB,因为目前我使用的RDMA实现有一些SR-IOV的问题。 我希望Mellanox能够很快为他们的Windows Server 2012r2和2016驱动程序发布修补程序。
我不确定你想从我们这里得到什么。
如果我不能保证我能遵循这些build议,…
如果你不能保证你可以按照build议,那么你有一个不受支持的环境不这样做。
如果有人说他“确定你会没事的”,那么你不希望从这个build议中得到什么?