探讨一下服务器硬件条件下的 NAS 方案选择

347 天前
 dknagi
最近看了不少关于自建 NAS 的内容,不论是用黑群晖或是 TrueNAS ,还是其他的方案,发现多数情况,都是软件 RAID ,硬件大多是消费级的 DIY 或者集成度较高的硬件平台。

我现在手里现有的硬件是一个戴尔的 T350 塔式服务器,主要硬件都是直接买的戴尔现成的,其中还包括了戴尔的 PERC H755 阵列卡(带有缓存和 BBU ),接在机箱的磁盘面板,有 8 个热盘位。同时服务器上还有个单独的 BOSS-S2 卡,功能是单独做一个系统盘的双盘阵列( RAID0 或 RAID1 )。

这个前提下,NAS 系统的选择上有些拿不准。我看到的 TrueNAS 或者黑群晖方案中,都是使用软件 RAID ,如果有阵列卡的也都是改成 HBA 或者 IT 模式,让软件直接访问物理磁盘。但是感觉我这个场景下,如果是这种使用方式,那阵列卡完全成了摆设。

物理机上目前是想的跑一个 ESXi ,上面针对不同的需求建立不同的虚拟机,比如说实现 NAS 的就是纯做 NAS 的虚机;实现下载任务的就是纯下载;实现其他功能的需要跑在 Linux 或 Windows 下的软件,看情况使用单独或共享的虚机。
现在对于 NAS 的虚机使用什么系统有些定不下来,不过无论使用哪种,感觉都是会把阵列卡在 ESXi 里直通进去的。
3544 次点击
所在节点    NAS
43 条回复
libook
347 天前
@dknagi #20 软路由单独搞,是因为通常对网络设备的可靠性要求远高于普通服务器。
从我个人的经历来说,AIO 把软路由放里面,每次折腾服务器都会导致网络不可用,很烦人。单独设备跑软路由配置好扔在那就不用动了,不管我怎么折腾服务器,网络都始终可用。
libook
347 天前
如果你有足够理由要利用上阵列卡,那么最大的问题就是驱动问题,这时候就是看你阵列卡的驱动支持哪些系统,就只能用哪些系统,基本没得选。再加上你要用虚拟化,你的卡和驱动支不支持直通,还得研究研究。

其实跳出来看的话,所谓的 NAS 系统倒不是必要的,因为 NAS 就是个存储池+文件传输协议,各种 NAS 专用系统也只是给你增加了各种功能可以更方便管理 NAS 或者跑些其他不属于 NAS 应用范畴的东西而已。

所以归根结底还是要看你的需求,你需求越细,可选择的范围就可以划得越小,也没准最后发现没有任何一个 NAS 系统能满足你所有需求,只能自己手动搭建。
4s4IYOLfT1s3InRR
347 天前
@tianzi123 纯属扯淡,winserver 做存储或者单纯的服务器都没问题,做 aio 靠边站
dknagi
347 天前
@libook 我服务器上带的这块 H755 ,本身就是企业市场的产品,从戴尔的定位上,虽然算不上最顶级,但肯定不是低端。驱动这块,常见的 Windows Server 和 ESXi 肯定没问题,Linux 类的系统里面,如果是戴尔官方支持的红帽系的也没问题,其他的没看。直通这部分,目前在 ESXi 里面测试直通功能是 OK 的,VMware 官网上本来也有戴尔定制过的 ESXi 系统,里面就是直接继承了必须的那些驱动的。

看了各位大佬的回复,目前大概有个方向了。
zhhmax
347 天前
@dknagi esxi 在网络上的内容确实要比 hyperv 多,我们现在的需求 hyperv 和 esxi 其实差别不大,硬盘直通网卡直通这俩性能没有特别悬殊的差异。不过多说一句,如果你后面要引入显卡直通就得重新考虑了。
dknagi
347 天前
@zhhmax 明白了,感谢大佬 orz
zhhmax
347 天前
再多说一句硬盘直通问题,我之前在家里的一台全 ssd 服务器上用 hyperv 开了六台服务器搭建过大数据集群,然后虚拟机的硬盘是用的虚拟硬盘,在虚拟机里测试文件读写速度和 win 里面测对应的那块硬盘读写速度没差。如果 win 上搞存储池的话虚拟硬盘可以随意移动备份还原只需要关注这个虚拟硬盘的备份恢复问题,如果把硬盘直通到虚拟机内部的话你要考虑硬盘故障后应急预案了,以及虚拟机内部的文件格式问题(比如说群晖的文件协议,增加了维护复杂度)在数据恢复方面引发的风险。
dknagi
347 天前
@zhhmax 了解了,总的来说,就是我现在手里这个设备就是拿来按照虚拟化平台的方案来用,尽量让上面跑的各种虚机在对待所有硬件的时候都是虚拟化
ryd994
347 天前
@zhhmax #27 直通最重要的原因不是性能,而是直通没有 smart ,nas 系统无法得知磁盘的状态。

硬盘格式问题反而不是问题。软 raid 的优势就是灵活啊。不说群晖这种闭源系统。truenas 这些用 zfs 的,格式都是通用的。要是系统盘坏了,你随便找个 u 盘装个 truenas 或者装个 Linux ,都能读出来。

直通是直通整个 hba ,直接读写原始磁盘,不存在虚拟机文件格式问题。


你说在 Windows 上搞储存池,这问题可就多了
1. Windows 上你得搞一套 smart 监控和邮件通知。然而 nas 系统本身就有这个功能了。
2. 说白了这不就是用 Windows 的软 raid 代替 Linux 的软 raid 吗?比起 zfs 这种广泛使用的标准格式,Windows 储存池这才叫小众格式。
3. 随意移动备份还原这也算优点? zfs 的 snapshot 功能了解一下?

要提高可恢复性,最重要的就是软件和数据解耦。这一点上,任何正规的 nas 系统都可以做到。
ryd994
347 天前
另外,这种 all in one 的模式,我个人是不赞成,因为我主张 nas 应该简单稳定安全,不应该和其他服务,特别是软路由这种需要暴露在公网上的服务混在一起。

我的做法是 nas 就是只存数据。应用服务放在另一台机器上,可以读写 nas 上的数据。下载机的临时数据放在本地盘上。这是最传统的云计算架构,储存和计算分离。

如果要搞 all in one 虚拟化,比较常见的做法分两种:
1. nas 系统直接装,然后在 nas 系统上开虚拟化。如果你对虚拟化的需求不复杂,那就可以这样。比如 truenas 的 bhyve 或者 truenas scale 的 kvm 。也有人自己装 Linux ,然后设置 zfs 和 kvm 的。
2. nas 系统也虚拟化。其他应用通过 iSCSI 从 nas 系统读取数据。比如 exsi 和 proxmox 都有人这么搞。需要一些配置,保证 nas 最先启动。然后就可以从 nas 里分配 iSCSI 虚拟盘,其他虚拟机就可以从虚拟盘启动。
ryd994
347 天前
Windows 上开储存服务,然后开虚拟机。其实相当于 1 的做法。
然而,问题在于,Windows (非 server 版)并不是很好的 nas 系统。没有现成的硬盘和其他状态监控。也没有很好的权限管理。最要命的是 Windows update 。

以上所有问题 Windows server 都没有。但是我不认为一般人会买 Windows server 授权。
zhhmax
347 天前
@ryd994 你说的这个确实没问题,回归一下实际的场景,楼主是找一个平台做一些 all in one 的事情,你说的是单个 nas 系统的事。zfs 有 snapshot ,hyperv 也有 snapshot 。我们再来考虑一下在具体实施后各个虚拟机的扩容以及迁移问题,硬盘直通给各个虚拟机,存文件后的剩余容量能否有效利用,以及后续扩容时的操作便利性。与其关心各个虚拟机的直通后硬盘监控以及备份扩容,那么让 Windows 去管理所有磁盘创建一个阵列,在后期的维护性上是否更省心呢?还有就是 smart ,nas 系统确实自带可以做到即时通知,不过在选购硬盘时就考虑好采用不同品牌硬盘或者同品牌不同批次创建好合适的阵列,那么硬盘出故障后,迟几分钟或者几天知道有何不可,不会有人搭建好 nas 从来不去系统看一眼就等系统监控发出邮件通知再去进系统查看吧。保护数据安全解耦和后期维护很重要,前期的方案也决定了后期维护的复杂度。
adoal
347 天前
传统行业的企业信息化环境里,真正高端的存储需求,多年来一直是用集中式存储,比如 FC SAN 或 FCoE SAN ,再不济也是 IP SAN ,这些存储设备都是专门设计过的,并不是标准 PC 服务器(尽管近些年也有用标准 PC 服务器魔改了来做的),也不是通用操作系统(尽管也有不少用 Linux/BSD 魔改的),厂家从商务的角度是希望客户把它当作黑盒,跑业务的服务器安装 HBA 卡/HCA 卡或者从网卡(一般至少有 iSCSI offload 支持)用标准的协议来连接,存储系统的管理 console 上可以划分卷,映射给业务服务器,对业务服务器来说就是像硬盘一样的块设备。也有走 SMB/NFS 协议的。但都是黑盒。

在传统行业的企业信息化环境里用标准 X86 服务器玩分布式块存储,也就这几年才局部流行起来的事。
adoal
347 天前
集中式存储里并不会用 RAID 卡去接盘柜。黑盒内部反而是用软 RAID 的方式去管理每一块直通的硬盘。
leloext
347 天前
@wy315700 hadoop ,FreeNAS 这些系统企业是看不上的。
zhhmax
347 天前
@zhhmax 刚才忘了说,与其关注有 smart 实时通知,做好整个服务器的散热以及环境控制,这种即时同时在个人使用场景下其实也可有可无了,硬盘做好温控和避震,一块就能用好多年,做好阵列隔两散年主动换下其中一块盘整个阵列挂的几率大大降低了。
zhhmax
347 天前
@ryd994 我就是在 win server 上开存储开虚拟机,当然没钱买正版授权上淘宝买的序列号,勿喷。
ambition117
347 天前
配硬 raid 一般就是本机使用了。数据中心里边要么专业的 SAN 存储,要么 普通 x86 服务器做分布式,没有用这种玩具 nas 的…

看群晖的客户案例真的很小儿科…truenas 这种除了个人玩家没见谁在用
wy315700
346 天前
@leloext
CEPH 和 GlusterFS 这种呢,用的多吗
leloext
346 天前
@wy315700 不太清楚这两个,有个前东家是用 hadoop 的。(我不是运维,某些业务上有交集,偶尔唠一下)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983078

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX