高性能冗余存储服务器的安装配置及性能测试

2015-06-06 10:03:27 280点赞 1225收藏 347评论

首先要抱歉,这一篇拖的时间有点长,有两样事情耽误了功夫:

  1. 买功率测试计。本来以为京东肯定有卖的,结果发现只有第三方有货,最后还是在淘宝买的。看来京东还不能称之为万能,淘宝才是全世界最猛的供应链。


  2. 性能测试。由于最近一直在用笔记本,没有办法测试NAS的满速读写速度,因此还搭了一个台式机,又耽误了一天。

好事多磨,金币也不是那么好挣的啊。

前言

通常我们说冗余存储,讲的都是RAID-磁盘阵列关于RAID的简单介绍

对于家用玩家而言,可能比较常见的是RAID0和RAID1。

  1. RAID0是没有冗余保护的。使用RAID0可以把N块硬盘并联成一块硬盘,理论上磁盘的性能可以翻N倍。但是带来的风险是,任何一块硬盘出现问题,整个文件系统会完全破坏,数据无法恢复。

  2. RAID1是1+1备份存储,两个硬盘存储一模一样的数据,一般对硬盘性能影响不大。RAID1甚至不需要专门的硬件,目前常见的家用主板基本都支持。

  3. 有更高级的玩家,会在家里做RAID5或RAID6,这就要求专门的硬RAID阵列卡了。RAID5和RAID6的维护和管理都相当复杂,对硬件(带NvRam&电池的阵列卡,很费脑的硬盘选择....)和运维的要求都很高。能够在家里把RAID5/6玩好的,是需要相当高的水平的。

也有玩NAS的(群晖或QNAP,感觉群晖多一些,应该是受黑群晖的影响)。我之前用过2年的黑群,还算省心。但黑群最大的心结是升级,比如我刚刚手欠升级到5.1-5055,结果导致所有磁盘都无法上线了。好在我已经把所有数据都导入到了新的ZFS服务器里,没有造成损失。

高性能冗余存储服务器的安装配置及性能测试

方案简介

本次家用服务器的搭建,我放弃了硬RAID卡或群晖的方案,转而选择了ZFS。关于ZFS的简单介绍

ZFS是SUN为Solaris操作系统开发的一个高级的文件系统,可以用相对简单的方式提供安全的冗余存储服务。我对ZFS的理解也不深,只能借用网上的介绍:“ZFS 文件系统是一个革命性的全新的文件系统,它从根本上改变了文件系统的管理方式,这个文件系统的特色和其带来的好处至今没有其他文件系统可以与之媲美,ZFS 被设计成强大的、可升级并易于管理的”。简而言之,反正就是很高大上就对了。

如此高级的东西现在可以免费用上,不试试岂不是很遗憾??

说到这里讲个典故:当初,SUN为了Solaris操作系统可以更好的发展,维护了一个相当活跃的名为OpenSolaris的开源社区。但自从SUN被Oracal收购后,Oracal对OpenSolaris完全没有兴趣,致使OpenSolaris解散,也使得大量Solaris的开发人员离职流入开源社区。种种机缘因果,导致Solaris的研发停滞不前,但基于OpenSolaris衍生出的开源项目(内核:Illumos,发布版本:OpenIndiana,OmniOS,SmartOS等)反倒发展的风生水起。这也是为什么现在我们能够用很少的代价,就能够用上ZFS的原因。(所以,我们不要轻易判断一件事是好还是坏,真的很难讲。)

硬件准备

关闭Supermicro主板的Active State Power Management功能


官方要求。

阵列卡刷IT模式

安装存储服务器的虚拟机之前,硬件还要做一个准备工作。

我这次用到的是LSI 9211-8i阵列卡,其实精确地说,这是一块Host Bus Adapter,并不是传统意义上的RAID卡。这个卡出厂默认是IR(integrated RAID)模式,即有简单RAID功能的模式(比如支持RAID0,RAID1之类)。而安装ZFS是不需要任何芯片层面的RAID功能的,需要把固件刷成IT(initiator target)模式,即只支持HBA功能。

从图上可以看出默认是IR模式,闪光灯没控制好,大家凑合看。

高性能冗余存储服务器的安装配置及性能测试

如何刷IT的教程,网上的教材很多,但多是不好用的。其实Supermicro主板刷LSI的固件是很简单的,总结步骤如下:

  1. 从官网下载该9211-8i固件版本19(根据nappit官网的建议,不要下最新版本20的固件),以及UEFI下的固件刷新程序,拷贝到U盘根目录,其实一共只需要三个文件:sas2flash.efi, 2118it.bin, mptsas2.rom

  2. 重启主机,使用Supermicro内建的的“UEFI shell”启动。

  3. 下发命令“fs1:”,将目录切换到U盘。

  4. 下发命令“sas2flash -o -e 6”,清除板卡上固件大部分内容,千万别把参数下成7了,否则后果自负哦。

  5. 下发命令“sas2flash -o -f 2118it.bin -b mptsas2.rom”,刷入IT固件。

  6. 下发命令“sas2falsh -o -sasadd 500605bxxxxxxxxx”,将xxxxxxxxx替换成板卡标签上的值,(怀疑这一步不做也可以,不过我还是做了)

完成后重启电脑,模式已经改为IT了。

再说几句闲话,在最新的20版本固件中,LSI的logo已经变成了Avago。其实去年LSI已经被Avago收购了,听说Avago刚刚又收购了BroadCom。这年头做芯片的也不容易啊。

高性能冗余存储服务器的安装配置及性能测试

配置设备直通(VT-D特性)

进入ESXi,先把所有需要直通的PCI设备配置成直通。其中设置阵列卡直通是和存储服务器有关的。

高性能冗余存储服务器的安装配置及性能测试

根据提示,需要重启ESXi才能使得直通生效。

高性能冗余存储服务器的安装配置及性能测试

系统安装

本来计划选择OpenIndiana+napp-it的组合(napp-it是一个网页版的ZFS管理工具,由于类Solaris系统的资料比较少,因此nappit几乎是必备的),后来发现napp-it官网上直接提供了ESXi 5.5U2的虚拟机下载(是OmniOS+nappit),这应该是更简单的选择,于是变更方案。

官网地址

英文教程

一共只需要5步:

  1. 下载napp-it_15b_vm_for_ESXi_5.5u2-6.0.zip

  2. 解压缩后,将该目录上传到ESXi datastore。

  3. 高性能冗余存储服务器的安装配置及性能测试

    鼠标右键点击文件夹中的napp-it_15b.vmx,选择“添加到清单”。


  4. 高性能冗余存储服务器的安装配置及性能测试

    在“编辑虚拟机设置”中,添加直通的阵列卡,并将系统内存更改为16G(一般推荐每T硬盘分配1G内存,由于有5个3T硬盘,因此分配了16G);添加网卡,配置为vmxnet3模式(根据nappit官网建议,E1000模式貌似有稳定性问题);并使能VMCI功能。

    高性能冗余存储服务器的安装配置及性能测试

    高性能冗余存储服务器的安装配置及性能测试

    高性能冗余存储服务器的安装配置及性能测试

  5. 高性能冗余存储服务器的安装配置及性能测试

    根据VMWare的官方建议,保持电源管理为默认值“平衡”。

高性能冗余存储服务器的安装配置及性能测试

一切配好,启动虚拟机~

系统配置

先通过ESXi的客户端登录到系统的命令行,缺省的root用户密码为空。需要第一时间更改root密码。可以使用ifconfig查看系统的获得的动态IP。

任务一:配置一个静态IP

作为服务器,一般我推荐配置一个静态IP,以免服务器重启后DHCP IP变化,导致需要修改一大堆配置。Solaris配置静态IP的方式还是比较特别的,官方说明。简要版本如下:

  1. 通过dladm命令查询链接


  2. 通过ipadm命令增加IP接口

  3. 通过ipadm命令配置静态IP地址

  4. 通过ipadm命令查看IP接口和IP地址


高性能冗余存储服务器的安装配置及性能测试

任务二:安装VMware Tools

对于类Solaris系统,安装VMWare Tools最大的好处是,可以通过ESXi直接关闭或重启虚拟机。这样在系统维护的时候,就不需要对每个虚拟机进行操作了。从Nappit官网下载的虚拟机已经自带VMware Tools了,这一步可以省略。此外,对类Solaris系统虚拟机手工安装VMWareTools的步骤如下:

  1. 使用7zip从VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso中提取TOOLS.T00文件。

  2. 使用7zip从TOOLS.T00中提取solaris.iso文件。

  3. 使用7zip从solaris.iso中提取vmware-tools-distrib文件夹。

  4. 使用WinSCP将该目录拷贝到虚拟机的/root目录,并修改目录权限为777(chmod)。

  5. 在命令行执行“perl /root/vmware-tools-distrib/vmware-install.pl”

可以通过vSphere Client查看虚拟机的VMWareTools是否正常运行。

高性能冗余存储服务器的安装配置及性能测试

任务三:配置pool并创建目录

ZFS里并没有Windows里的磁盘,分区等概念,取而代之的是磁盘资源池(pool)。只需要简单的把几块硬盘塞到一个资源池里,就可以把这些硬盘当成一份大的资源来使用了,非常方便。

磁盘资源池的类型有几种,这里用的是raidz(即raidz1,是1:N保护的做法,可以在一个磁盘故障的情况下恢复数据)。当然,如果对数据安全性要求很高,可以选raidz2或raidz3(这些我没有仔细研究,请精通的大侠补充)。

高性能冗余存储服务器的安装配置及性能测试

创建好了pool,就直接创建一个文件系统(可以简单理解成一个共享目录)。

高性能冗余存储服务器的安装配置及性能测试

只需以上两个简单的步骤,一个带冗余保护的共享目录就建好了。

性能测试

  1. 对于Windows系统,可以直接运行“192.168.18.8”访问该共享目录。

  2. 对于OSX系统,通过“Finder > 前往 > 连接服务器”,在服务器地址中填写“smb://192.168.18.8”访问该共享目录。


  3. 以上两种方式,都需要用系统的root用户和密码做身份认证。

高性能冗余存储服务器的安装配置及性能测试

本虚拟机性能测试结果

由于有大量的内存做一级缓存,性能测试的结果有点快的离谱了。

高性能冗余存储服务器的安装配置及性能测试

跨虚拟机性能测试结果

读速度(ZFS -> WIN7虚拟机)

高性能冗余存储服务器的安装配置及性能测试

写速度(WIN7虚拟机 -> ZFS)

高性能冗余存储服务器的安装配置及性能测试

WIN7虚拟机没有安装过任何驱动,安装驱动后性能可能还能更高一点。

跨物理机性能测试结果

读写测试全部取第一次测试的结果,曲线相当平直。

读速度(ZFS -> WIN8)

高性能冗余存储服务器的安装配置及性能测试

写速度(WIN8 -> ZFS)

高性能冗余存储服务器的安装配置及性能测试

功耗测试结果

最后入手的是功率计是淘宝上最大销量的北电海盗版。

高性能冗余存储服务器的安装配置及性能测试

先测试一下黑群晖,配置为:G1610+H77主板+2G内存+2T硬盘*4+风扇*3。关机功耗和待机功耗分别为:

高性能冗余存储服务器的安装配置及性能测试

高性能冗余存储服务器的安装配置及性能测试再测试新配服务器,配置为:E3 1230v2 + C202主板 + 8G(ECC)内存*4 + 3T硬盘*5 + 2T硬盘 + SSD + 9211-8i阵列卡 + HD6570显卡 +HD6450显卡 + 风扇*4。考虑到散热问题,机箱换成了Antec A300。机箱不能背线,我已经尽力了。(请自动忽略背景,临时过渡房子各种乱。两个月后搬新家,搬好给大家晒装修。)

高性能冗余存储服务器的安装配置及性能测试

关机功耗和待机功耗分别为:

高性能冗余存储服务器的安装配置及性能测试

高性能冗余存储服务器的安装配置及性能测试

待机功耗100w以下,哦耶~~

总结

首先要仔细阅读官方文档,然后再安装ZFS存储服务器就非常简单了。当然,我们现在只用到了ZFS的皮毛,对整个系统的了解还是非常肤浅的。

要想进一步提高ZFS存储服务器的性能,最佳方案是加内存,官方推荐是每T硬盘使用6G内存(1G做cache+5G做dedup)。家用主机真的很难做到啊!!

还有一条路,就是加SSD做读缓存(L2ARC)和写日志缓存(ZIL)。可是ZFS对ZIL的可靠性要求甚高,官方建议:“Do not use cheap consumer SSDs or not write optimized SSDs or SSDs without a supercap”。如果真要搞,需要用Intel SLC SSD(推荐用Intel s3700!!!),成本实在有点吃不消。此外,对于家用(用户少)环境,L2ARC用处不大。

因此,文件存储暂时到这里为止。

==================================最后割一下======================================

下一篇是讲如何搭建“路由器+防火墙+上网行为管理”服务器。

展开 收起
347评论

  • 精彩
  • 最新
  • 这东西放在原创区真的有用么?

    校验提示文案

    提交
    没地方放啊,放哪儿呢?

    校验提示文案

    提交
    收起所有回复
  • 对于家用环境,我一直认为数据的可迁移性比数据的可扩展性更重要。没有专业的支持,这里面的任何一个环节出了差错,数据是否方便的恢复才是考虑的第一要素。任你群晖,或者ZFS,不管软件,阵列卡,或者系统挂了,你面对的都是一个不能轻易读取数据的硬盘。所以对于家用,如果是Windows你就给我存成NTFS,如果是Linux,你就给我存为Ext3,不管怎么折腾,我立刻就在别的机器上还原数据。至于可扩展性,现在你的机器里还有40G或者80G的硬盘么?原来的数据不都变成了新硬盘的一个文件夹?我认为知道哪个硬盘里装了什么东西就是睡得踏实,这比扩展性重要多了,想想一个文件可能散落在好几个硬盘中,还得用专用软件或者还原环境才能恢复踏实多了。所以我认为Esxi家用环境最好的解决方法就是有条件上Raid0然后physical Raw disk mapping,方便和备份都兼顾了,而且直接读写硬盘性能不会比这个差。

    校验提示文案

    提交
    不确定我是否理解了你的意思,请问最后的结论是应该RAID0还是RAID1之后,再physical Raw disk mapping?

    校验提示文案

    提交
    是Raid 0, 先备份再mapping.

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 一般人搞个nas就够了…
    家里连个wifi,移动设备、htpc在硬盘里在线看个电影什么的…

    校验提示文案

    提交
    是的,一般人家最好搞个成品NAS

    校验提示文案

    提交
    收起所有回复
  • 95W的功耗不低啊。不过性能也上去了。
    但还是想说一句。家用完全没必要……

    校验提示文案

    提交
    呵呵,功耗已经很惊喜了,如果算上all in one,没准功耗会差不多

    校验提示文案

    提交
    乐趣其实还是在于折腾的过程……我还是比较赞同专机专用。毕竟,想看电影我就开电视开盒子,常年只开NAS挂PT。毕竟All in One之后这个One必须运行起来才能实现功能,某个功能不用也得开着这个One……

    校验提示文案

    提交
    收起所有回复
  • 然并卵系列?

    校验提示文案

    提交
    呵呵,卵也没什么用

    校验提示文案

    提交
    收起所有回复
  • 这一堆说的啥,值得买都成专业人士来晒专业的平台了 [黑线]

    校验提示文案

    提交
    嘿嘿,晒别的没有优势啊

    校验提示文案

    提交
    收起所有回复
  • 搞不懂这种文章为毛有这么多评论,连我做IT的都不高兴看完,普通人会看完?

    校验提示文案

    提交
    会的人不喜欢看,挺正常的啊

    校验提示文案

    提交
    收起所有回复
  • 换单条32g的内存把~ [龇牙]

    校验提示文案

    提交
    这套系统最多单条8g啊,唉

    校验提示文案

    提交
    仔细看了下还真是。。先换主板~再换内存~哈哈,无底洞了 [邪恶]

    校验提示文案

    提交
    收起所有回复
  • 作为曾在sun工作的人表示zfs确实是个好东西

    校验提示文案

    提交
    现在在哪里高就呢?

    校验提示文案

    提交
    VMware [高兴] [高兴] [高兴] [高兴] [高兴] 字数你妹

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • zfs确实是好东西,但是楼主的文写的有点乱啊,从头到尾大略的看了一下,感觉不知所谓,这个架构都不知道怎么来的

    校验提示文案

    提交
    有很多预先学习的知识,要想全写出来,估计可以出书了吧

    校验提示文案

    提交
    收起所有回复
  • 楼主是个标准的it工程师啊 [皱眉]

    校验提示文案

    提交
    准确的说,是研发~~~

    校验提示文案

    提交
    通俗说法各种电子搭建及测试可行性的专业人生哈 [锁眉]

    校验提示文案

    提交
    收起所有回复
  • 想到哪说到哪系列

    校验提示文案

    提交
    呵呵,是按照我的安装顺序写的

    校验提示文案

    提交
    收起所有回复
  • 这一套多少钱.

    校验提示文案

    提交
    第一篇里有讲到啊

    校验提示文案

    提交
    收起所有回复
  • 我记得以前我看资料的时候好像记得zfs的性能不如Linux的ext4/btrfs.另外如果让我做储存的话我会用openfiler或者freenas

    校验提示文案

    提交
    嗯,ZFS性能不如btrfs,这个说法挺少见的?还能找到资料的链接吗?

    校验提示文案

    提交
    链接倒是没有。。。刚刚特地看了下以前的btrfs和zfs的iozore的测试报告,确实 小文件貌似btrfs的性能好一点 但是大文件zfs的性能要高不少。我什么的说法有误,抱歉

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 看你的上篇文章,买的是普通sata硬盘,不是sas硬盘,能用在lsi卡上?

    校验提示文案

    提交
    可以啊,SAS是向下兼容的SATA的

    校验提示文案

    提交
    收起所有回复
  • 同款安钛克A300机箱路过 [高兴]

    校验提示文案

    提交
    做工还是说的过去的,就是架构老一点

    校验提示文案

    提交
    收起所有回复
  • 作为存储工程师我只想说,家用群晖活着QNAP的方案已经不错了……没有必要这么折腾 况且功耗和成本那么高

    校验提示文案

    提交
    舍不得买群晖啊,怎么破~~~

    校验提示文案

    提交
    买个4槽位的不贵 不行就入QNAP TS451s 都不占位置。

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 我是强迫症,看到作者管oracle叫oracal好别扭 [吐血] [吐血] [吐血]

    校验提示文案

    提交
    不好意思,信手打的,回头改正

    校验提示文案

    提交
    收起所有回复
  • 额...小餐椅好评...

    校验提示文案

    提交
    重点跑偏了好吗??!!

    校验提示文案

    提交
    收起所有回复
  • 试着用nasfree建了raidz,分配10G内存,CIFS往里面拷贝数据,过一会传输速度跌为零,系统监视器显示内存满了,遂放弃。

    校验提示文案

    提交
    不是原生的ZFS,貌似性能不行

    校验提示文案

    提交
    是配置问题,我一门户FreeBSD跑raidz,8gRAM,还是相当从容的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.2K
扫一下,分享更方便,购买更轻松