V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ShunYea
V2EX  ›  问与答

求助普通 PC 主板上磁盘阵列的方案。

  •  
  •   ShunYea · 2014-09-02 12:38:51 +08:00 · 9355 次点击
    这是一个创建于 3739 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前就发帖讨论过关于自建网盘的问题,毕竟公有云的安全性越来越不靠谱。

    现在想使用普通PC做服务器,但是磁盘方面还是需要组建磁盘阵列更加靠谱,所以目前想到两个方案:
    1、使用主板自带软阵列,即以前老主板(考虑淘宝二手主板)南桥芯片型号末尾带R的英特尔系列芯片组的主板都是带阵列的,此类阵列好像是在BIOS里面设置,属于软阵列。
    2、购买阵列卡,然后再来组阵列。

    上述方案有用过的求介绍,方案1的稳定性可靠性如何?别经常不稳定丢阵列丢数据。因为我从来没用过。方案2阵列卡看身边同事用过,虽然是硬阵列,但是同样出现过阵列丢失数据丢失的问题,或许是阵列卡品质不好。

    所以求用过的同学推荐下。软阵列不用考虑其CPU占用等,因为我觉得仅仅是拿来做阵列存储足够了。
    20 条回复    2014-09-05 13:11:02 +08:00
    cst4you
        1
    cst4you  
       2014-09-02 12:40:39 +08:00
    硬盘该挂的时候还是会挂的
    FanError
        2
    FanError  
       2014-09-02 12:42:46 +08:00
    群晖,楼主看看合适你们不。
    songco
        3
    songco  
       2014-09-02 12:46:35 +08:00
    你要是用raid 0, 再牛的raid卡也没用...
    主板的raid和linux的的软raid我都用过, raid 5, 貌似没遇到过丢数据的. 有spare盘的话, 就重建的时候比较危险.
    geeklian
        4
    geeklian  
       2014-09-02 12:46:51 +08:00 via Android
    如果只是RAID1…那家用级主板随意。
    RAID5,6什么的,家用主板重构时间和性能都捉急。
    mhycy
        5
    mhycy  
       2014-09-02 12:48:48 +08:00
    RAID5别用
    至少RAID6起
    如果愿意使用ZFS
    那么RAIDZ还是可以考虑的(类似于RAID5)

    传统RAID丢数据原因很多的,RAID5掉了个盘然后另外某个盘存在少量坏道使得重建失败也不奇怪
    软硬结合的主板RAID别用,低端RAID卡也别用,预算不多尽量软RAID(如ZFS)
    所以如果愿意入坑的话,ZFS是首选了
    circsqua
        6
    circsqua  
       2014-09-02 12:53:02 +08:00
    冗余和备份的意义不同
    lucifer9
        7
    lucifer9  
       2014-09-02 13:00:44 +08:00
    普通PC主板的raid功能还不如用软raid
    保险起见建议raid6,或者raid10
    raid5曾经遇到过两次两块盘连续坏掉
    zfs也行,相应的就是raidz2。跟mdadm比起来的好处是重构时间大大缩短,因为zfs只重构有数据的部分,而mdadm是全盘一起来
    ShunYea
        8
    ShunYea  
    OP
       2014-09-02 13:15:53 +08:00 via Android
    @FanError 群辉价格太贵了

    @songco 我就是准备做5

    @geeklian 哦,你说重构时间啊,2、3T得好几天吧。

    @mhycy 你说的zfs没研究过,看看

    @lucifer9 谢谢,我研究看看。
    lucifer9
        9
    lucifer9  
       2014-09-02 13:41:12 +08:00
    @ShunYea 1Tx6的普通硬盘,mdadm做的raid6,放了大概1T左右的数据。重构一下要不了1天,改下speed_limit_min/max的话也就3个多个小时。这还是两年前的老机器。当然要是zfs的话,40多分钟就够了。
    sadan9
        10
    sadan9  
       2014-09-02 15:26:42 +08:00
    从实际使用情况来看,intel主板自带的raid5写入性能是极差的,大约只有几MB/s。开启缓存能明显提高速度(这个时候只是写内存),但有额外的风险。而且内存缓存满了以后依旧很慢,只能应付下小文件的写入。
    sadan9
        11
    sadan9  
       2014-09-02 15:28:04 +08:00
    真的不考虑zfs之类软件raid的话,最好上硬件raid卡吧……淘宝上perc 6/i之类的只要200不到。不过这卡单盘只支持到2T……
    mhycy
        12
    mhycy  
       2014-09-02 15:52:12 +08:00
    @sadan9 便宜的硬件卡还不如不用的感觉。。。
    webflier
        13
    webflier  
       2014-09-02 15:56:45 +08:00
    我目前用win server 2012 r2的storage space组的4盘软阵列,读写都能到千兆网极限
    ShunYea
        14
    ShunYea  
    OP
       2014-09-02 16:52:28 +08:00
    @sadan9 我就觉得便宜的阵列卡,之前同事用的会掉数据。有推荐的吗?
    mhycy
        15
    mhycy  
       2014-09-02 18:57:22 +08:00
    @ShunYea 执意要用的话就做好丢数据的准备吧~
    sadan9
        16
    sadan9  
       2014-09-04 09:19:58 +08:00
    @ShunYea 我自己是在用perc 6/i 啦……至于具体性能什么的你可以自己google一下。但一定要记得设置定时扫描。
    sadan9
        17
    sadan9  
       2014-09-04 09:45:52 +08:00
    @mhycy =-= 你这么回复人家让人很难办啊。说了结果又不说原因,也不说解决手段。顺便perc 6/i就算“便宜的硬件卡”了?


    @ShunYea 我说下raid的问题吧。任何一个数据保护技术都会有优点以及缺点,怕的就是你什么都不知道,以为用上就100%安全了,等真出问题才发现数据不能用。就raid5来说,在硬件raid卡上有一个经常碰到的原因就是rebuild的时候出现第2块盘出问题。原因就是某块或者某几块盘上有极少量数据出现坏道,但raid卡又不知道。当整个阵列开始rebuild的时候,这隐藏的问题就会暴露出来。有坏道的磁盘会重复读取损坏的区域,尝试读取数据,这个时间往往在几十秒到几分钟不等(对应到单盘系统,你会觉得忽然系统卡了)。但raid卡有一个响应时间判断,超过24秒(好像是这个值)磁盘没响应的话就会将这个盘判断为故障盘,将其踢出阵列。这就是为什么raid5在做rebuild的时候经常出现所说的丢第2块盘的问题。所以我前面说用raid5的话一定一定记得要定时做扫描,一般好点的硬件卡都会有这个设置。另外对于这种问题西数的红盘有NASware技术解决,希捷的企业盘好像也有类似的技术。

    另外raid5无法对抗的一个问题就是所谓的“位静默”损坏。简单来说就是磁盘上某个区域因为磁性弱化之类的原因导致原先的1读成0之类的。这个时候无论是操作系统或者是raid控制器、磁盘控制器本身都无法发现这个问题。表现出来的现象就是保存了很久的图片会出现莫名其妙的色块,MP3会出现爆音等等。目前好像还没有raid卡解决这个问题。软件raid的话,ZFS和windows 2012的ReFS文件系统可以解决,就是每个数据块都做奇偶校验,具体的你也可以google。
    mhycy
        18
    mhycy  
       2014-09-04 13:01:33 +08:00
    @sadan9 说的也对。。。抱歉
    本想后续补充的,但是一忙起来就忘记这回事了。。。囧

    话说回来,你这补充非常详细的把重点都写出来了
    也省的去翻资料了。。。

    另:perc6/i 不是洋垃圾很多的型号么。。。。囧
    低端RAID卡主要是性能和可靠性的问题啦。。。

    总的来说机械硬盘+SSD做L2ARC的ZFS才是我的首选呢。。
    sadan9
        19
    sadan9  
       2014-09-04 16:43:55 +08:00   ❤️ 1
    @mhycy 洋垃圾不等于说就差,只能说是国外使用量大罢了。如果按照说洋垃圾就是劣质的代名词或者性能差的代名词你让Xeon X5650之类的情何以堪。这东西用的处理芯片是LSI的。LSI自己用这芯片的卡(好像是LSI MegaRAID SAS 8888ELP)价格在3K+。我就自己使用的情况来看,3盘块WD 2T绿盘 RAID5 持续读写稳定在300MB/s左右,2块SSD 做RAID0读写在500MB/s左右。也没出现什么不稳定的情况。倒是这3块绿盘最后都返修过一遍。(raid卡对磁盘故障很敏感来着,拆下来检查的时候smart只有1,2条黄掉,没红的情况。不过都在保修期内直接送修了)。

    顺便前面忘了说了……如果raid5 rebuild的时候丢失第2块盘也不是没救,基本这个时候在raid控制器里将后面丢失的盘force online就行。
    再不济的情况下,将盘拆下来,用diskgenius组件模拟raid,可以读取出数据。(所以虽然有些raid卡,还有inel自带的raid支持将一组物理盘分别划分成riad5、raid1、raid0几个区域,但千万不要这么做。不然真到恢复数据的时候就基本没救了,一个raid组只做一个VD)

    然后再说zfs的问题。好处大家都知道不说了,问题有几个,这里提出来,希望能共同探讨。
    1)需要独立系统(这个是没办法,就算用虚拟机之类的总觉得不爽)。如果是换成windows2012+ReFS的话,服务器似乎能做更多的事情。

    2)和windows共享的时候速度问题。这上面我更偏向windows2012+win8 client的方案。一个是linux下smb协议的CPU占用率极高(我之前测试系统下,50MB/s的读写要吃掉70%+的CPU,但换成windows server就只有2%)。另外一个就是SMB3.0的优势。最简单的,拿freenas+win7和windows2012+win8分别测试,将LOL拷贝到共享目录里执行,在freenas+win7的组里,每次点击商店菜单大约会卡0.5-1s才有反应,win2012+win8的组里没这个问题。感觉SMB2.0在每次IO访问的时候有较大的额外开销。另外一个就是体现在远程服务器上存放视频,在播放器里拖动进度条,win2012+win8组合的响应速度明显块很多,几乎接近本地磁盘。

    3)数据恢复的问题,部分数据恢复软件是能模拟raid控制器来组建虚拟raid读取硬盘数据的。之前碰到过坏掉2块盘的raid5(其实是一直坏了一块没发现,等到第2块坏了才发现raid不能用了),使用diskgenius恢复大约98%+的数据。不过zfs和refs这2个没碰到过案例不好说。不过估计因为虚拟的磁盘结构复杂(比如Refs的磁盘可能同时带了mirror和parity2种方式,让软件猜出分区表的位置是很困难的……所以恢复情况不乐观。
    mhycy
        20
    mhycy  
       2014-09-05 13:11:02 +08:00
    @sadan9 又是一个回帖概括了N篇博文的高质量回复...感谢!
    说回来SMB2.0感觉就是一个IO开一个TCP连接的感觉,很慢很慢
    不过不用SMB貌似没别的选择...囧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3127 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 13:44 · PVG 21:44 · LAX 05:44 · JFK 08:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.