原先家里的网络存储这块比较松散,一台主机连接了个 USB3.0 的磁盘阵列盒做了个 Raid1 ,加上另外台机子使用的是基于 Linux 的软 Raid 组合,非常不利于管理和监控状态。

于是考虑组建个比较中心化的 NAS 来统一管理以及扩大存储这块的容量。

在某宝上研究了下,发现硬件这块的 Raid 卡普遍比较流行的是基于 LSI 芯片的方案。但性价比不是很好,稍微符合支持缓存、BBU 以及状态支持的都要四五百甚至网上(要知道蜗牛等矿难主机大概也就两三百)。

和店家聊了下需求以后,发现有一款 Dell PowerEdge H700 的阵列卡比较符合我的要求,同时价格相对来说比较便宜,带 1G 缓存支持 BBU 和 CadeCache 的只要两百人民币不到的价格。

阵列卡外观

阵列卡设置界面

到手安装上去以后,发现兼容性一般来说问题不大,经过我手的几块四代主板都可以支持(Q87、Z97系列芯片组)。可能是针对服务器设计的缘故,唯一的不好就是虽然带了块散热片但发热还是会让人担忧(红外测试了下,待机温度要六七十以上)。

所以我给它换了散热硅脂、加了块散热片(在缓存主控上),同时再从某宝上淘了个涡轮风扇对着板卡吹。经过这样子的改造待机温度基本上在三四十的样子比较符合预期,稳定性这块还是需要长时间使用下来再观察。顺便说下,涡轮风扇的转速通常比较高,对于噪音有要求的同学建议加根降压线。

Dell PowerEdge H700 基于 LSI 的芯片方案,因此可以直接使用 LSI MegaCli 的应用软件,无差别。软件方面,宿主机安装的是 CentOS,可以根据 Arch 的 AUR 脚本直接拿到 RPM 安装包本地安装。

注意,测试过其他的发行版(例如 Fedora)需要安装 ncurses5-compat-libs 这个软件包才能正常的运行主程序。

FreeBSD 下的安装也是比较方便,直接根据对应官方网站的安装即可,具体参见官方文档。

吐槽下 MegaCli 这个应用软件反人类的地方,首先先不说比较奇葩的安装位置 /opt/MegaRAID/MegaCli/MegaCli64 ,单从参数来说想要查看 --help 直接跑起来也是比较困难的事情(具体参考常用的命令)。

所以又从 Github 上找到了个 MegaCli 的 Warpper,扩展了下这个小应用(最后更新竟然在 2015 年),用于格式化输出(JSON 格式)以及方便监控。

Grafana 界面

最后,放张 Grafana 监控的图,这样子基本上就可以日常使用了。用了四块 2T 的硬盘组 Raid6、两块 Intel 的 SSD 组 Raid1 作为系统盘,同时加了块上古的三星 SSD 作为 CacheCade 盘。

除了硬盘总计硬件的成本大概两百不到,就可以享受硬 Raid 带来的方便了。修改以后的源代码在 https://github.com/mingcheng/megaraid.go ,欢迎随时交流。

- eof -