[分享] 低成本打造小型创业公司用大容量 NAS - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
msg7086
V2EX    分享创造

[分享] 低成本打造小型创业公司用大容量 NAS

  •  1
     
  •   msg708
    msg7086 2016-05-21 03:52:39 +08:00 10241 次点击
    这是一个创建于 3431 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    公司投资钱烧完了,拿不出多少钱来花。

    开发部门想要用 NAS 和 SAN 来测试项目中用到的 NFS 和 iSCSI 挂载功能,大约 10 个开发&测试人员,每个人要 1T-2T 左右的 LUN 各 1-3 个,于是来问怎么搞最省钱。

    现有原材料

    办公楼一幢,服务器机房一间,内有空调、机架、服务器和电池若干。

    闲置 DDR3 ECC 内存若干,客户返品的二手 4TB 企业级硬盘若干,各种电脑配件若干。

    清理灰尘用的空气罐 2 个,螺丝刀等工具各类。

    目标

    组建 30-50TB 可用空间的 NAS 一台,可导出 NFS 和 iSCSI ,比较稳定,比较容易维护。

    当然最重要的,性价比尽可能高,开支尽可能小。能耗也不能太高,因为电费很昂贵。

    选型

    做企业级 NAS ,首选使用 ZFS 文件系统,非常可靠维护也不麻烦。

    Ubuntu 16.04 正式由官方提供 ZFS 支持,因此操作系统就直接用大家都熟悉的 Ubuntu 了。

    考虑到现有 4TB 硬盘若干,直接上 12 盘热插拔箱子比较划算,总容量也正好合适。

    ZFS RAID Z3 阵列, 12 盘里 9 盘数据 3 盘校验,总共 36TB 可用空间。

    另配一块 SSD 用来做系统盘、 ZIL 和读缓冲。

    硬件方面,在市场上搜寻合适的 12 盘服务器,结果找到了 DELL C2100 系列。

    DELL C2100

    2U 机架, 12x 3.5 inch 热插拔 & SAS Expander 背板, 750W 电源。

    2x1366 平台, 18x DDR3 ECC 内存槽, 2x PCI-E x8 扩展槽。

    基本能够满足要求,而且最重要的是,价格便宜。

    采购

    联系了一家销量比较高的卖家,带 2 块 L5630 CPU , 12 个硬盘笼,双电源,加上运费,报价总共 $180 。

    接背板所用的 HBA 卡则是随便买了块 Dell H310 ,然后回来自己刷了 IT 固件。报价 $70 左右。

    SSD 随便去隔壁电脑城买了个 Sandisk 的 240G ,$65 。

    安装

    由于服务器是二手退役货,灰比较多,所以拿到手以后先整个用空气罐吹了一遍。

    然后硬盘笼全部拆下来扔进水槽里冲洗一遍,用手甩干擦干后再放在一边慢慢风干。

    散热器全部拆下以后,把干枯分叉(?)的硅脂都刮干净,然后重新上了硅脂后再装好。

    (散热器上有些鳍片略有碰撞变形,最后自己拿尖嘴钳慢慢掰正。)

    内存插了些 8G 的库存货。

    (由于开机后发现中间槽的内存无法识别,所以最后插了 8x8G = 64G 。)

    PCI-E 上插了一片 10GbE 和一片 HBA ,然后把 HBA 接到 SAS Expander 上。

    最后装上 13 块硬盘,盖上盖子就大功告成了。

    配置

    装上 Ubuntu ,然后直接就认出了 12 片 4TB 。

    一口气全部加入 zpool ,然后再加上两个 SSD 分区作 logs 和 cache ,即可。

    NFS 太简单就不说了。

    iSCSI 是用的 Linux-IO Target , targetcli 稍微配置一下就行了,很方便。

    现在已经连续运行两周了,并没出什么问题,应该就可以扔在那不用管了。

    费用

    采购费用除去闲置配件外总共花费 $315 ,算是目标达成了,老大表示很爽。

    耗电的话大约是 2-3Amps ,约 300W ,一年电费开销大约在 $400 左右。

    (其中硬盘大约用了 140W ,剩下的主要是 CPU 和冗余电源的开销。)

    闲置配件成本

    4TB 企业级全新售价大约 $175/片, 12 片总共 $2100 。

    10GbE 二手售价大约 $150/片。

    内存 64G 二手售价大约 $130 。

    21 条回复    2018-08-20 18:21:16 +08:00
    kslr
        1
    kslr  
       2016-05-21 04:11:29 +08:00 via Android
    很棒,电费确实是个麻烦,这旧机器太费电了,我在家里扔的这台,每年电费也差不多 2000 左右,也不知道选这种是对是错
    msg7086
        2
    msg7086  
    OP
       2016-05-21 04:17:32 +08:00
    @kslr 硬盘本身开销不少。剩下的 200W 的功耗其实也很难省下多少。
    家用的话不需要冗余电源和双路 CPU ,可以再省下一些电。
    kslr
        3
    kslr  
       2016-05-21 04:26:39 +08:00 via Android
    kslr
        4
    kslr  
       2016-05-21 04:28:50 +08:00 via Android
    @msg7086 恩,我没有挂那么多硬盘,电源可以拆掉一部分但是其他的太折腾了,尽量还是走创造价值这条路
    lhbc
        5
    lhbc  
       2016-05-21 09:18:54 +08:00 via Android
    FreeNAS 的 zlog 和 cache 必须独立硬盘……
    xiamx
        6
    xiamx  
       2016-05-21 09:58:39 +08:00
    从 frontend 到 backend 到 devops 到 IT 都行的 @msg7086
    soulteary
        7
    soulteary  
       2016-05-21 10:00:34 +08:00 via Android
    @kslr 我觉得这个方案已经很省了,之前心痒过同款 u , ibm m2/3 老机器,实在是只有家用需求,不想听硬盘和风扇集体狂欢,忍住了……


    @msg7086 赞实践, cache log 可以试试二手大容量 intel ssd ,读写少的性价比蛮不错。另外,上双路是有其他需求吧,感觉即使 12 盘位,应该也不需要双路 u 支撑吧……
    carmark
        8
    carmark  
       2016-05-21 10:51:35 +08:00
    为什么不直接 opensolaris ?
    kslr
        9
    kslr  
       2016-05-21 11:57:10 +08:00 via Android
    @soulteary 看情况,我这台拔掉调试时的显卡后声音很小,和台式机差不多,导致我的静音风扇也没有用上。
    msg7086
        10
    msg7086  
    OP
       2016-05-21 12:19:10 +08:00
    @soulteary 成本所限。
    等以后公司有钱了再买独立 SSD 也不是不行。
    另外我们写入也只做开发和测试用,其实 SSD 写入量很少的。
    与其买 SLC 还不如直接拿便宜的 SSD 用到报废了再花小钱换。 SSD 是一路暴跌的,没必要提前投资。

    双路没太大的需求,然而一块 CPU 大概也就$5 的样子,就算你少要一块最后总价也不会有多少差。
    但是插内存的时候就自由很多,有 18 槽可以用,单路的话就只有 9 槽了。
    (实际到手坏了一个 channel ,那样的话就只有 6 槽可用了。)
    小容量的内存比大容量的便宜太多。

    噪音感觉基本能接受。放在机房里很明显被其他服务器声音盖下去的。
    2U 的风扇,大概跑在 4000rpm 上,不算太过分。(但是风量偏小倒是真的。)

    @carmark 没人会。
    这台服务器就我(开发)和一个客服小哥在管,不想多花时间适应了。
    Deb 系的 Ubuntu 公司里的开发都熟,谁都有能力去搞,自然是首选 Ubuntu 了。

    @xiamx 我基本都是在打酱油……
    soulteary
        11
    soulteary  
       2016-05-21 15:37:05 +08:00
    @msg7086 一颗 5$...location 哪里啊,也是, 18 槽就是插基本白送的 2G 都好爽啊, 2U 应该不上显卡还好,但是还是吵,不适合家里吧……
    qceytzn
        12
    qceytzn  
       2016-05-21 18:18:40 +08:00   1
    楼主坐标何方?价格都是$?
    wbsdty331
        13
    wbsdty331  
       2016-05-21 18:38:35 +08:00 via Android
    可以试试用 ssd 做缓存回写
    testisitok
        14
    testisitok  
       2016-05-21 18:38:38 +08:00 via Android
    你对你们老大是真爱
    phoenixlzx
        15
    phoenixlzx  
       2016-05-21 18:56:19 +08:00
    有纪菊苣真是辛苦了_(:з」∠)_
    fcicq
        16
    fcicq  
       2016-05-21 20:00:04 +08:00
    用 ZFS on Linux 的话想调度 IO 的话短时间就不可能了, 幸亏只是用来做个存储问题不大. 跑容器虚拟机数据库就一概不适合.
    fcicq
        18
    fcicq  
       2016-05-21 21:51:21 +08:00
    @schezukNewTos 随便一个列存存储都不需要文件系统再压缩一次. 靠 ZFS 的压缩算什么本事? 能跑起 ZFS 的机器, 数据库 instance 通常不止一个, 这些进程的 IO 公平性用 cgroups 管理不了, ZFS 调度器看不到 pid, 反过来 linux 的 IO 调度器只能看到 ZFS worker 所以调度都废了.
    lutla
        19
    lutla  
       2016-05-21 22:39:31 +08:00
    md 当年用了 intel320 ,现在想坑点 ssd 回去都不行!
    msg7086
        20
    msg7086  
    OP
       2016-05-22 05:09:56 +08:00
    @soulteary http://www.ebay.com/itm/311516192731 这种感觉。
    插内存要考虑低成本的话还是以 4G 为主,但是 8G 也不贵,$100 = 6x8G 左右。
    16G 价格还是很高,如果要插 288G 内存,还是要花不少钱。

    @qceytzn 美国。

    @wbsdty331 ZIL 就是缓存回写吧。同步写入的数据先进 SSD 然后再刷进盘阵里。

    @fcicq 是啊不考虑高 I/O 项目。高 I/O 就上全固态盘阵了,而且也不会做单阵,而会考虑做双 Z2 。

    @phoenixlzx 卷菊 prpr ……
    sjmcefc2
        21
    sjmcefc2  
       2018-08-20 18:21:16 +08:00
    @msg7086 美国物价好便宜啊。不过更倾向 bsd 做一个 nas
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1577 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:15 PVG 00:15 LAX 09:15 JFK 12:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86