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

ZFS over iSCSI + ZIL 的可行性、性能和安全性

  •  
  •   CloudRaft · 2020-01-29 23:02:40 +08:00 · 2592 次点击
    这是一个创建于 1520 天前的主题,其中的信息可能已经有所发展或是发生改变。

    新人贴,大家多多包涵

    不知道有没有试过 ZFS over iSCSI + ZIL 实现高性能网络磁盘挂载的大佬?求分享一下经验! 目前有两台机器 A 和 B:A 为计算服务器( Debian10 + Proxmox ),B 为存储服务器。两台机器通过 10Gb 网卡直连,希望将 B 中的磁盘空间共享给 A 使用,同时提高性能。

    目前方案: B 中 15 盘硬件阵列卡 Raid10+1 热备,然后通过共享 NFS 给 A。

    问题: A 对小文件的读写较多,线程数一多就出现 IO Delay,实际看到网卡的流量并不高。

    期望的方案: B 共享 iSCSI 给 A,然后 A 基于 iSCSI 磁盘做 ZFS 池,然后使用本地 SSD 做 ZIL 提高性能。 目前还在尝试中,如果有什么严重的设计 /安全性问题请务必提出,感激不尽!

    4 条回复    2020-07-13 11:12:56 +08:00
    Aliencn
        1
    Aliencn  
       2020-01-30 00:51:34 +08:00
    我记得 ZFS 的写缓存用的是内存,ZIL 是只是用来存日志的。
    ZFS 对内存要求很高,1T 的空间要搭配 1G 的内存,而且要建议是 ECC 内存。
    CloudRaft
        2
    CloudRaft  
    OP
       2020-01-30 01:18:45 +08:00
    @Aliencn 感谢回复!内存是 ECC 的,服务器配置这里也说一下吧:

    计算节点(其实是 5 台)
    CPU:E5-1650V3
    内存:8x RAM 32768 MB DDR4 ECC reg.
    硬盘:3x SSD SAMSUNG MZ7LM480 其中 2 块组软 raid1,另一块打算用来做 ZIL
    网卡:Intel I210 + Intel X540-T2

    存储节点:
    CPU:E5-1650V3
    内存:4x RAM 32768 MB DDR4 ECC reg.
    硬盘:15x HDD SATA 6,0 TB Enterprise 硬件 Radi10+1 热备
    阵列卡:Adaptec 8405 SGL ( 1G 缓存) + Adaptec AEC-82885T Expander Card
    网卡:Intel I210 + Intel X540-T2

    内存肯定是够的,每个计算节点拿出 32G 做缓存。之前也组过 RAIDZ3、Z2,对内存缓存后的磁盘性能非常满意!
    ungrown
        3
    ungrown  
       2020-07-13 11:08:33 +08:00
    @Aliencn #1
    严格来讲 ZFS 没有写缓存,只有写缓冲,默认情况下内存中的缓冲区是一个很小的 buffer,级别和其他文件系统的缓冲区没什么不同。ZIL 无非是这个写缓冲区的外延。
    ZFS 只有读缓存,而且 ZFS 的读缓存均会在系统关闭后丢失,包括 L2ARC 也如此。
    ZFS 会大量占用内存,但是 ZFS 对已占用内存的释放非常迅速,并不会因此影响系统其他进程的运行效率。但会因此降低自身性能——相较于在有足够内存时的高性能而言。
    ECC 内存可以消除内存错误导致的文件数据损坏,但请注意,非 ZFS 的其他文件系统,使用出错的非 ECC 内存时,同样会导致文件数据丢失损坏。所以,应该说,在需要确保文件数据安全的场景下,无论使用什么文件系统,都应该使用 ECC 内存,这也正是服务器的配置。而家用机非 ECC 内存的情况下,无论用 ZFS 还是其他文件系统,数据该受损一样会受损。
    ungrown
        4
    ungrown  
       2020-07-13 11:12:56 +08:00
    linux 中提供 iscsi 服务的软件有几个,我之前在家里用过 ubuntu+tgt 的方式提供 iscsi 服务,在 windows 系统中连接,使用过程中一切都好,但是偶尔——很偶尔会出现连接错误,而这一现象会导致 ubuntu 整个网络功能失效,必须重启恢复。所以后来不用了,也许换个 iscsi 服务端程序不会有这个问题,但是当时没有动力去尝试了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2815 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 133ms · UTC 13:29 · PVG 21:29 · LAX 06:29 · JFK 09:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.