V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
dknagi
V2EX  ›  NAS

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

  •  
  •   dknagi · 2023-10-18 12:15:20 +08:00 · 3746 次点击
    这是一个创建于 437 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近看了不少关于自建 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 里直通进去的。
    43 条回复    2023-10-20 01:16:01 +08:00
    GooMS
        1
    GooMS  
       2023-10-18 12:28:43 +08:00 via Android
    我的 pve 用阵列卡 raid1 另一张 pcie 给群晖直通
    billlee
        2
    billlee  
       2023-10-18 12:47:59 +08:00 via Android
    产生这个矛盾是因为这是个半吊子的服务器,它不是为 NAS 设计的。为大量存储目的设计的服务器本来就是用无 RAID 功能的 HBA 的。

    如果要用 truenas 之类的集成方案,那就改成 HBA 模式,否则就 RAID 模式装个 debian 然后自己配置相关服务
    ttvast
        3
    ttvast  
       2023-10-18 12:53:09 +08:00   ❤️ 5
    产生这个矛盾是因为 truenas 也好群晖也好,都是低端的 nas 解决方案,储存服务器不可能用这种小儿科的软件系统的。
    dknagi
        4
    dknagi  
    OP
       2023-10-18 13:02:15 +08:00
    @billlee 我理解你说的这个情况,我在工作中给企业采购的存储方案,要不就是为了开箱即用的群晖企业级解决方案,要不就是戴尔专门的存储类型服务器。我个人买了戴尔的这个塔式服务器,最主要是看上了它的机箱,然后再加上原厂售后。
    层主提到的第二种情况,我原来最开始是在物理机上安装的 Windows Server ,然后系统直接读取已经做好的硬件 RAID ,然后直接把盘符共享出去,然后虚拟机的需求用 Hyper-V 来解决。换成 ESXi 主要是感觉比 Hyper-V 的虚拟机性能和效率更好。NAS 系统的选择上我有考虑操作系统是 Windows 还是 Linux ,主要是不知道读写性能会有差很多么,因为我的 NAS 使用需求其实并不高,主要是用来做下载归档存储,但也不会到每天都有大量读写的情况。
    dknagi
        5
    dknagi  
    OP
       2023-10-18 13:03:43 +08:00
    @ttvast TrueNAS 我了解的不多,群晖有在工作中给企业采购过他们现成的企业方案,当然使用场景也肯定不是那种对技术指标要求非常高的公司。
    wheat0r
        6
    wheat0r  
       2023-10-18 13:05:28 +08:00   ❤️ 2
    首先,不要纠结 raid 卡有没有作用,硬件是为了软件服务的。
    硬件 raid 不一定适用于大容量文件存储场景,还存在重构失败的问题。
    一切以实际使用为目的。
    dknagi
        7
    dknagi  
    OP
       2023-10-18 13:17:43 +08:00
    @wheat0r 我现在 RAID 卡上面是配的 RAID6 ,同时开启了 Hot Spare
    shijingshijing
        8
    shijingshijing  
       2023-10-18 13:31:08 +08:00
    @ttvast 正解。没见哪家数据中心用 TrueNAS 或者群辉的,正经的存储服务器才是王道,也就个人用户或者小公司采用这种玩具。存储服务器的功能强太多了,IPMI ,硬件级监控,多盘延时上电等等,唯一不足就是功耗高点。那些个玩具也就个人数据不值钱凑合用用。
    zhhmax
        9
    zhhmax  
       2023-10-18 13:44:03 +08:00 via iPad
    全篇没看到你准备拿 NAS 具体干哪些事情,存照片还是影音库还是还是文件服务器,其他设备都是什么,对应的系统和平台都不清楚。

    我以前也折腾各种方案的 NAS ,现在的我会选择这么做:宿主机用 Windows server ,然后在系统里面组一个存储池,用 hyperv 搞虚拟机。这样的好处是,你可以根据不同的数据要求配置不同规格的存储池然后给虚拟机去用,硬盘出现问题也能直接挂到其他 win 主机上处理数据。文件共享会采用 smb ,照片库影音库再找方案开虚拟去实现。
    ryd994
        10
    ryd994  
       2023-10-18 13:47:08 +08:00 via Android   ❤️ 1
    对于数据储存来说,阵列卡本来就是个摆设

    这种有 bbu 缓存的阵列卡,目标场景是跑数据库和跑系统,硬盘的随机读写能力不够,回写缓存就有用了。但是这个场景现在也基本被 SSD 替代。企业级写密集 SSD 比家用 SSD 贵好几倍,但是比起 15k rpm sas 盘的电费还是便宜多了。性能也是吊打。还有 optane 这种终极方案。

    数据储存重要的不是性能而是可靠性。在这一点上软 raid 比硬 raid 更好。软 raid 可以有各种校验和冗余逻辑,而不用受制于硬件限制。硬件 raid 碰上硬件故障,想要恢复数据还得找个一样的卡。软件 raid 不管什么电脑,能插上就有办法读数据。

    再说到你这个硬件,也未必就适合做 nas 。如果你是认真要储存数据和跑服务,ECC 很有必要。你这个机器最多就是 UDIMM ECC ,非常贵,前提是配 Xeon E 处理器。洋垃圾装 RDIMM ECC 白菜价。

    这机箱没什么啊,你个人使用真的需要热插拔吗?我用 antec p101s ,8 盘位,淘宝上买个硬盘笼还能加 2 盘位。如果不嫌难看的话里面还能再塞几个。不是热插拔。
    dknagi
        11
    dknagi  
    OP
       2023-10-18 13:52:48 +08:00
    @ryd994 机箱主要是看那个硬盘状态灯,我平时不会老盯着软件状态,所以硬盘架上面的状态灯就是我看的最多的。这机器的主板能上的 CPU 是 E 系列,不过不是那些铜牌银牌啥的。
    fs418082760
        12
    fs418082760  
       2023-10-18 13:56:00 +08:00
    你的需求 nas 就能完成啊 群晖里也自带下载器和简单的虚拟化 还有 docker 或者起个 linux 或者 win 的虚拟机 软件 raid1 真的够了 个人 all in one 就行了 很多人用的还是 arm 处理器
    dknagi
        13
    dknagi  
    OP
       2023-10-18 13:57:34 +08:00
    @zhhmax 抱歉,没说清楚(lll ¬ω¬)
    其实我的使用需求里,最终就是需要有一个能通过网络连接的存储,但是我不会通过手机和平板之类的设备使用,因为不是用来做同步的。里面存的东西都是下载的影音,但是我观看时是使用 PC 观看。因为有点儿“仓鼠症”,所以我会搜集不同压制组的动画作品,有些还是不太好找的资源,可能下载一次,万一没了之后,再找也不一定好找了。
    虚拟化方面,不论是哪种实现方式,我主要是里面有跑软路由的虚机,有跑监控的虚机,还有专门安装各种下载软件的虚机,还有别的功能的。
    ryd994
        14
    ryd994  
       2023-10-18 14:02:32 +08:00 via Android
    @dknagi Xeon E 或者 E3 基本就是个桌面处理器,开放了 ECC 功能。用一样的插槽,频率和功耗之类的也基本等于桌面版同款。价格却要贵上许多。现在桌面版也开放 ECC 了,E 系列就更没意义了。

    Xeon W 或者金银铜或者 E5 之类,用的是服务器平台。最大的区别在于支持 RDIMM 。RDIMM 洋垃圾比台式内存便宜。UDIMM ECC 比台式内存更贵。CPU 插槽也不一样,内存支持 4 通道 6 通道。桌面版只有 2 通道。

    硬盘故障不能靠灯,设置好邮件通知就好了。无论是 smart 报错还是硬盘离线,都可以邮寄通知。
    wy315700
        15
    wy315700  
       2023-10-18 14:08:14 +08:00
    @ttvast 请教下储存服务器一般用哪些软件解决方案啊,给几个关键词就行
    dknagi
        16
    dknagi  
    OP
       2023-10-18 14:09:25 +08:00
    @ryd994 原来最开始是打算直接买 R750 这样的硬件方案的,但是摆放空间的原因就最终选择了 T350 ,T550 没选,主要是因为感觉如果 CPU 和主板都上到这个级别了,那不如选机架的方案,但又回到了前面提到的摆放空间问题(lll ¬ω¬)
    zhhmax
        17
    zhhmax  
       2023-10-18 14:13:46 +08:00 via iPad
    @dknagi 那你这个跟我的需求差不多,我是 winserver 宿主机,共享用 smb ,mac 上挂载上去速度也没问题,特别重要的文件是用 resilio sync 在三台不同位置的电脑实时同步,我也有收集影视资源的习惯,单独一块大容量盘用 smb 共享到 mac 上看,然后 hyperv 启动也几天虚拟机满足其他需求。硬盘是创建了不同规格的存储池应对不同安全级别的数据。我感觉这一套下来要比一些成品 nas 灵活一点,运维也简单,win 远程共享不挑客户端。至于不同虚拟平台的性能问题我没有考虑,因为我没有需要极致性能的使用场景。
    tianzi123
        18
    tianzi123  
       2023-10-18 14:14:24 +08:00
    温馨提示,搞 all in one 的话, 软路由单独一台设备 , 另外 nas 系统的话,推荐 windows server 比较好,直接共享盘符然后,手动刮削什么的更方便,软件更多
    dknagi
        19
    dknagi  
    OP
       2023-10-18 14:17:23 +08:00
    @zhhmax 大佬,你觉得宿主机的虚拟化实现这块,咱们这种个人使用场景下,不同的虚拟化方案相对比会差很多么,我原来一开始在纯桌面级平台上一直是用的 Hyper-V ,但是感觉在网上搜索的时候,看到的更多的都是 ESXi 。
    dknagi
        20
    dknagi  
    OP
       2023-10-18 14:18:39 +08:00
    @tianzi123 软路由单独一台设备,是考虑故障情况的问题吗
    libook
        21
    libook  
       2023-10-18 14:46:00 +08:00
    @dknagi #20 软路由单独搞,是因为通常对网络设备的可靠性要求远高于普通服务器。
    从我个人的经历来说,AIO 把软路由放里面,每次折腾服务器都会导致网络不可用,很烦人。单独设备跑软路由配置好扔在那就不用动了,不管我怎么折腾服务器,网络都始终可用。
    libook
        22
    libook  
       2023-10-18 14:52:36 +08:00
    如果你有足够理由要利用上阵列卡,那么最大的问题就是驱动问题,这时候就是看你阵列卡的驱动支持哪些系统,就只能用哪些系统,基本没得选。再加上你要用虚拟化,你的卡和驱动支不支持直通,还得研究研究。

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

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

    看了各位大佬的回复,目前大概有个方向了。
    zhhmax
        25
    zhhmax  
       2023-10-18 15:44:25 +08:00 via iPad
    @dknagi esxi 在网络上的内容确实要比 hyperv 多,我们现在的需求 hyperv 和 esxi 其实差别不大,硬盘直通网卡直通这俩性能没有特别悬殊的差异。不过多说一句,如果你后面要引入显卡直通就得重新考虑了。
    dknagi
        26
    dknagi  
    OP
       2023-10-18 15:49:52 +08:00
    @zhhmax 明白了,感谢大佬 orz
    zhhmax
        27
    zhhmax  
       2023-10-18 16:01:29 +08:00 via iPad
    再多说一句硬盘直通问题,我之前在家里的一台全 ssd 服务器上用 hyperv 开了六台服务器搭建过大数据集群,然后虚拟机的硬盘是用的虚拟硬盘,在虚拟机里测试文件读写速度和 win 里面测对应的那块硬盘读写速度没差。如果 win 上搞存储池的话虚拟硬盘可以随意移动备份还原只需要关注这个虚拟硬盘的备份恢复问题,如果把硬盘直通到虚拟机内部的话你要考虑硬盘故障后应急预案了,以及虚拟机内部的文件格式问题(比如说群晖的文件协议,增加了维护复杂度)在数据恢复方面引发的风险。
    dknagi
        28
    dknagi  
    OP
       2023-10-18 16:17:46 +08:00 via Android
    @zhhmax 了解了,总的来说,就是我现在手里这个设备就是拿来按照虚拟化平台的方案来用,尽量让上面跑的各种虚机在对待所有硬件的时候都是虚拟化
    ryd994
        29
    ryd994  
       2023-10-18 18:06:55 +08:00 via Android
    @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
        30
    ryd994  
       2023-10-18 18:16:50 +08:00 via Android
    另外,这种 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
        31
    ryd994  
       2023-10-18 18:20:53 +08:00 via Android
    Windows 上开储存服务,然后开虚拟机。其实相当于 1 的做法。
    然而,问题在于,Windows (非 server 版)并不是很好的 nas 系统。没有现成的硬盘和其他状态监控。也没有很好的权限管理。最要命的是 Windows update 。

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

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

    看群晖的客户案例真的很小儿科…truenas 这种除了个人玩家没见谁在用
    wy315700
        39
    wy315700  
       2023-10-18 22:00:07 +08:00
    @leloext
    CEPH 和 GlusterFS 这种呢,用的多吗
    leloext
        40
    leloext  
       2023-10-18 22:38:20 +08:00
    @wy315700 不太清楚这两个,有个前东家是用 hadoop 的。(我不是运维,某些业务上有交集,偶尔唠一下)
    ryd994
        41
    ryd994  
       2023-10-19 03:21:54 +08:00 via Android   ❤️ 1
    @zhhmax zfs 的 snapshot 可以具体到某个 dataset ,hyperv 的 snapshot 只能具体到某个虚拟盘。
    我上面说的,所有服务走 iSCSI 访问 nas 储存,一样可以实现你说的效果
    而且 windowes 的储存池就是玩票用,和 zfs 的历史比还差得远。zfs 真坏了还能找到数据恢复服务。Windows 储存池坏了找谁?

    你让 Windows 去管理阵列,本质上就是拿 Windows 当 nas 系统用。Windows desktop 并不是合适的 nas 系统,不适合跑任何服务。除非用 Windows server 。

    “那么硬盘出故障后,迟几分钟或者几天知道有何不可。不会有人搭建好 nas 从来不去系统看一眼就等系统监控发出邮件通知再去进系统查看吧”
    smart 的作用就是提前预警而不是等硬盘坏了才反应。
    明明能自动化的监控,却指望靠人力去解决。我三天两头还得专门去看一眼 nas ?我除了装系统就不会去看 nas 了。


    #37 你用盗版你还有理了。
    “这里绝对不讨论任何有关盗版软件、音乐、电影如何获得的问题”
    SakuraYuki
        42
    SakuraYuki  
       2023-10-19 08:51:09 +08:00
    感觉 all in one 的结局离不开 boom 然后老老实实的单独买硬件
    dknagi
        43
    dknagi  
    OP
       2023-10-20 01:16:01 +08:00
    @ryd994 我目前个人的情况是,硬件级别的故障报警通知,我不指望具体的操作系统,而是直接使用的戴尔服务器本身所带有的相关软件服务,包括他们的 iDRAC 、OpenManage ,我是在采购服务器的时候就加购了相关的企业版授权,所以相关的服务都能使用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 09:40 · PVG 17:40 · LAX 01:40 · JFK 04:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.