FreeNAS:灵活、快速的存储,而且价格合理
在拥挤的网络存储市场中脱颖而出需要与众不同的东西。像免费啤酒和言论自由这样的自由听起来怎么样?
这就是背后的前提FreeNAS这款开源存储软件支持所有主流的文件共享协议。FreeNAS可以看起来像窗户服务器或iSCSI目标,以及其他类型的服务器。它由一个Web界面管理,这个界面比我们使用过的一些商业存储设备更直观。FreeNAS提供了创新的ZFS文件系统,具有内置的完整性检查、灵活的、几乎无限的可伸缩性和良好的性能。
在这个Clear Choice测试中,我们在服务器供应商iXsystems提供的iX-2212服务器上评估了FreeNAS, iXsystems是FreeNAS项目的主要支持者。虽然iXsystems销售基于FreeNAS构建的TrueNAS系统,但该公司明确表示,该软件包是免费的,可以安装在任何32或64位PC硬件上。
安装是快速和直接的。一旦系统建立起来,它就由设计良好的Web界面或命令行界面(CLI)来管理。即使考虑到我们强烈的CLI偏见,我们也可以完成几乎所有的任务,从Web UI到在FreeNAS所基于的FreeBSD操作系统中设置低级参数。(对于FreeBSD的新用户,默认参数在我们的测试中运行良好;不需要改变操作系统参数,也不需要了解FreeBSD。)
FreeNAS支持多种文件共享协议,包括CIFS、NFS和iSCSI,适合作为Windows、Mac和Unix/的文件共享设备Linux客户。而且iSCSI支持使FreeNAS成为虚拟机共享存储的一个很好的选择。FreeNAS还可以充当FTP和TFTP服务器,它支持rsync,以便在设备之间进行备份。可以配置为Windows Shadow Copy和Windows Shadow Copy的备份服务器苹果时间机器。
由于它的ZFS支持,FreeNAS执行本地和远程备份文件系统的“快照”,类似于Windows的恢复点。FreeNAS可以以增量方式发送快照,从而减少备份大小。即使FreeNAS系统中的所有冗余特性都失败了,数据仍然可以通过将备份的快照恢复到新系统中来恢复。
FreeNAS设备可以充当iTunes流媒体服务器、通用即插即用服务器或web服务器,所有这些都使用可用的插件。插件使用FreeBSD的虚拟“监狱”,这意味着一个插件的问题不会影响系统的其他部分。
引入ZFS
也许FreeNAS最好的特性是它对zettabyte文件系统(ZFS)的可选使用,ZFS最初是由Sun开发的,现在作为FreeBSD项目进行了积极维护。
一个ZFS系统可以保存一个16艾字节的文件(大约1800万兆兆字节)或2亿个文件。即使在大数据时代,容量也不会成为ZFS的问题。
(存储相关:观看CES 2013:存储]
ZFS是一种快速的表演者,正如我们将通过测试结果显示,但它也非常灵活且易于管理。它支持高达18.4千万夸光的快照,用于向后和向前滚动几乎无限的滚动。
数据完整性是ZFS的标志。ZFS系统中的每个块都使用256位校验和来验证数据,而不是依赖底层硬件来检测错误。在使用镜像或RAID的冗余系统中,ZFS自动重构任何损坏的块,而无需用户干预。因为ZFS持续地验证磁盘上的数据完整性,FreeNAS设备可以在断电后继续运行,而不需要在每个卷上运行Unix fsck命令。
ZFS实际上是集RAID控制器、卷管理器和文件系统于一体的。不需要像在许多其他企业存储产品中那样,为每一种产品单独使用管理工具。
在RAID方面,FreeNAS提供了许多卷组装方式的选择。除了许多RAID选择(RAID 0、1、5、6、10、50和60)之外,ZFS还有两个自己的方法,分别称为raidz1和raidz2。raidz1选项与RAID5类似,不同之处在于它可以容忍多个磁盘的丢失,从而解决RAID5的“写洞”问题。raidz2选项与RAID6类似,提供双重奇偶校验,与raidz1类似,它也可以处理多个磁盘的丢失。
与传统的卷管理器和文件系统不同,ZFS不使用固定大小的分区或卷。如果当前的容量不能提供足够的容量,ZFS可以很容易地添加更多的容量——到一个活动的生产系统中,并且没有停机时间。在测试期间,我们使用一个命令扩展了ZFS存储池,不需要使设备或文件系统脱机。这种可扩展性甚至可以扩展到将不同大小的磁盘添加到存储池中(尽管RAID的通常大小规则仍然适用)。
ZFS还提供了对选定存储池的可选压缩。这可以提高性能,因为压缩池所用的时间比将未压缩的数据读写到磁盘所用的时间要快。压缩对于包含大量文本文件(如日志)的存储池非常合适。
使用ZFS的缺点很小,在很多情况下甚至不被认为是缺点。首先,由于ZFS的大部分性能归功于缓存,所以最好将其安装在具有大量RAM的服务器上。虽然在理论上6GB就足够了,但是在实践中ZFS系统应该有更多——很多更多。iXsystems提供的系统有48GB的RAM,不过我们也在16G和24GB RAM的系统中运行了FreeNAS,结果很好。但是,一般来说,ZFS能够缓存的越多,其I/O性能就越快。
如果可用RAM真的是一个问题,FreeNAS也可以使用FreeBSD的常规UFS文件系统安装,只需要2GB的RAM。
第二,由于许可问题,ZFS主要运行在BSD系统上,尽管有Linux港口可用(仅针对ZFS,而不是整个FreeNAS系统)。对于FreeNAS来说,操作系统的选择不是问题,它是建立在FreeBSD上的一个交钥匙发行版。即使是不熟悉FreeBSD的用户也可以使用FreeNAS,因为它通过一个直观而强大的Web界面进行管理。
授权实际上只是开发者的问题。ZFS的通用开发和发布许可(CDDL)许可允许免费重用源代码(包括转换为闭源代码的权利),而Linux世界中的GNU 2.0和3.0许可要求将更改提交回开源发行版。
FreeNAS性能
存储性能基准测试是一个复杂的主题,涉及许多变量。为了确定FreeNAS将如何处理最常见的操作类型,我们建立了一个10gb的测试平台,并使用了开源的iozone基准测试工具。
I/O性能中的关键变量涉及存储设备将处理的操作类型。设备可以以小块或大块的形式移动数据——可以考虑处理小事务的数据库,而文件管理器可以移动大型虚拟机映像。操作的类型也很重要;往磁盘上写往往比从磁盘上读要花更长的时间。由于缓存的原因,初始的读或写操作可能会比重新读或重写花费更长的时间。在磁盘上使用顺序块的操作将比随机读和写性能更好,因为在后者的情况下,磁头会移动很多。
我们配置了iozone工具来测量六个测试用例的I/O性能,每个用例都使用FreeNAS设备作为两个NFS客户机的网络文件系统(NFS)服务器,也配备了10gb以太网适配器。我们使用小的和大的记录大小运行了所有六组测试两次。
我们没有做的一件事是允许Freenas在IxSystems提供的服务器中使用所有48 GB的RAM。与任何现代操作系统一样,FreeBSD在必须将尽可能多的数据换成RAM之前将其交换为磁盘。从RAM提供数据对于相对较小的读取和写入来说,性能更高,但它不代表在生产中看到的性能用户。当涉及许多用户时,这尤其如此;然后,从磁盘读取和写入不可避免。
为了确保磁盘I/O和缓存性能的平衡,我们将FreeNAS服务器配置为仅使用6GB RAM,这是ZFS所支持的最小内存,然后在每个测试中读取或写入64GB——远远超过了可用RAM。我们还将两个NFS客户机配置为使用6GB RAM,尽管它们都有16GB可用内存。
测试结果
FreeNAS的性能非常快,特别是顺序读取和重新读取(见下图)。存储性能测试通常以每秒字节数衡量I/O;当以比特表示时,FreeNAS以6Gbps或以上的速率读取和重读数据。
6Gbps的最高速度还包括其他几个因素:SATA3硬盘的6Gbps速度限制;NFS协议增加的开销;多个TCP流之间的争用(在这些测试期间有16个线程处于活动状态);以及相对于从RAM读取数据的磁盘I/O量。这里达到的最高速度大约是硬件在这些测试条件下可能达到的最快速度。
写和重写的性能比读慢,这在I/O基准测试中很常见。通过顺序重写,FreeNAS移动流量的速率约为280MBps。奇怪的是,4千字节记录的顺序重写速度是64千字节记录的两倍。最可能的解释是,将大量数据写入磁盘所需的时间有利于较小的记录大小。
当在相对空的磁盘上写或读大量数据时,顺序写和读测试是有意义的。一旦磁盘满了,或者如果应用程序涉及从数据库的不同部分读取数据,那么随机读写测试就变得更加重要。
对于随机读写测试,结果要慢得多。考虑到磁头在随机测试中比在顺序操作中移动得更多,这并不奇怪。在这里,更大的64字节记录会有帮助,因为相对于磁盘寻道时间,写或读的时间更多。尽管如此,4和64 kb的读写时间都只是顺序时间的一小部分。
在最坏的情况下,4千字节记录的写入速度仅为3MBps,而顺序写入则为276MBps。不过,公平地说,任何存储系统在随机测试中的表现都比在顺序测试中差得多。这些结果并不是FreeNAS或ZFS的反映。
FreeNAS的价格无人能敌。
总的来说,FreeNAS提供了一个非常积极的故事,具有灵活性、易于管理、良好的性能和无与伦比的价格。
谢谢
感谢Arista Networks提供了一个7124S 10G机架顶置交换机,将测试台上的所有系统捆绑在一起。
纽曼是网络世界实验室联盟的成员,也是独立测试实验室和足球竞猜app软件工程服务咨询公司Network Test的总裁。可以和他联系dnewman@networktest.com.
我们是如何做到的
我们从可用性、特性和NFS I/O性能方面对FreeNAS进行了评估。在性能测试中,被测设备是iXsystems提供的iX-2212服务器;作为可用性测试的一部分,我们还在旧的SuperMicro服务器上安装了FreeNAS软件,并将其作为运行在VMware vSphere 5下的虚拟机。我们在测试中使用了FreeNAS版本8.3.0-RELEASE-x64 (r12701M)。
可用性和特性测试包括将设备设置为NFS服务器,然后再设置为iSCSI网络连接存储(NAS)设备。在NAS的情况下,我们使用VMware vSphere 5在VMware ESX 5.0主机上创建FreeBSD虚拟机,并使用FreeNAS作为数据存储。
我们还评估了FreeNAS执行其他常见管理任务的能力,如管理员权限配置;软件升级;以及使用两个10G以太网接口建立链路聚合组。
对于NFS I/O性能测试,我们使用开源文件系统基准测试工具iozone。这些I/O测试的目标是比较六种常见场景下的客户端性能:初始顺序写;顺序重写;最初的顺序读取;顺序重读;随机读写。两台NFS客户端机器都运行FreeBSD 8.3并运行文件大小为32GB、每个文件大小为8个线程的iozone,每次测试总共有64GB和16个线程。我们用4和64 kb的记录大小重复了iozone测试。
为了综合考虑磁盘I/O和缓存性能,我们特意限制FreeNAS服务器和客户端机器使用6GB RAM,这比安装在服务器或客户端的硬件RAM要少得多。这就迫使在测试中进行更多的磁盘I/O操作,就像在企业设置中有更多的用户和/或文件一样。
版权©2013足球竞彩网下载
点评:云存储
一个替代购买昂贵的存储区域网络或其他基于硬件的专用存储的选择…
今年早些时候,我们测试了网络连接存储(NAS)设备。现在我们复习……
在拥挤的网络存储市场中脱颖而出需要与众不同的东西。如何……