V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
strahe
V2EX  ›  服务器

有没有一种 SSD 和 HDD 的混合文件系统方案?

  •  
  •   strahe · Jan 20, 2020 · 8554 views
    This topic created in 2294 days ago, the information mentioned may be changed or developed.

    现在有个需求如下:

    需要设计一个一个存储系统, 一开始数据是空的, 需要大量写入数据, 写入需求远大于读取.数据可能是 PB 级的(总数据量, 单节点不需要这么大).

    迫于成本, 不可能全部使用 SSD, 但系统非常在意写入性能. 有没有一种可能性(或者现成的技术方案), 将 SSD 和 HDD 组合为混合文件系统, 写入先写到 SSD, 文件系统底层再移动到 HDD.应用无感知?

    比如一台 2U, 12 盘位的服务器, 插入 2SSD+10HDD.写入性能可以接近 SSD, 读取性能接近 HDD 即可.

    22 replies    2020-01-22 13:00:16 +08:00
    Remember
        1
    Remember  
       Jan 20, 2020
    zfs 啊, 加 ssd 做 L2ARC 缓存就好,就是内存需求很大.
    secondwtq
        2
    secondwtq  
       Jan 20, 2020
    你写太快把 SSD 挤满了不还是没办法 ...
    stiekel
        3
    stiekel  
       Jan 20, 2020
    OS X 有个 Fusion Drive。Linux 甚至都不需要 SSD,直接 RAM + HDD https://www.anandtech.com/show/3963/zfs-building-testing-and-benchmarking/2
    secondwtq
        4
    secondwtq  
       Jan 20, 2020
    @Remember 写入的话应该是加 SLOG 吧
    strahe
        5
    strahe  
    OP
       Jan 20, 2020
    @Remember
    @stiekel

    多谢, 我看看
    strahe
        6
    strahe  
    OP
       Jan 20, 2020
    @secondwtq 能把多个 hdd 性能占满就满足了.
    Sylv
        7
    Sylv  
       Jan 20, 2020 via iPhone
    bcache 了解一下。
    strahe
        8
    strahe  
    OP
       Jan 20, 2020
    @Sylv 多谢, 我了解下.
    0ZXYDDu796nVCFxq
        9
    0ZXYDDu796nVCFxq  
       Jan 20, 2020 via Android
    如果持续写入速度大于 HDD 速度之和,写满缓存后,最终还是在等待 HDD 写入
    murmur
        10
    murmur  
       Jan 20, 2020
    有的,现在的 NAS 都是支持 ssd 缓存的,看翼王的视频就知道了
    还有 iMac 这种一万多的电脑还在用机械硬盘
    shoaly
        11
    shoaly  
       Jan 20, 2020
    @gstqc 实际情况是 峰值写入速度会超过 hdd 的读写速度, 但是峰谷 又跑不满 hdd , 所以有一个缓存作为 hdd 的前置倒是有用
    xenme
        12
    xenme  
       Jan 20, 2020 via iPhone
    看需求峰值多大和需要多大缓存。
    小的 raid 卡自带的 cache (内存)就能顶住

    这个基本得你的数据非常具体才能推荐具体多少。
    专业卖存储的还分一堆型号,cache 级别也不同,场景也不一样
    Chichele
        13
    Chichele  
       Jan 20, 2020 via Android
    现在 SSD 降价了,这个方案的价值没那么大了
    mcfog
        14
    mcfog  
       Jan 20, 2020 via Android
    RocksDB
    also24
        15
    also24  
       Jan 20, 2020
    @Remember #1
    L2ARC 是读缓存,不是写缓存啊。

    @secondwtq #4
    ZIL/SLOG 更大的作用似乎是降低写入延迟和保证数据的安全性。
    我看到的一个说法是,每 5 秒钟数据就会被刷新写入到最终位置,确实如此的话,似乎对 『连续写入』的帮助不大。

    > OpenZFS aggregates your writes into “transaction groups” which are flushed to their final location periodically (every 5 seconds in FreeNAS & TrueNAS).
    > 来源: https://www.ixsystems.com/blog/o-slog-not-slog-best-configure-zfs-intent-log/
    locoz
        16
    locoz  
       Jan 20, 2020 via Android
    unraid ?
    also24
        17
    also24  
       Jan 20, 2020
    个人蛮推荐 Windows Server 分层存储的:

    是存储池带的功能,企业级,如果使用 Win 系,可以考虑下
    https://docs.microsoft.com/zh-cn/windows-server/storage/storage-spaces/understand-the-cache
    strahe
        18
    strahe  
    OP
       Jan 20, 2020
    @also24 谢谢, 应用原因,可以确定不用 win.
    strahe
        19
    strahe  
    OP
       Jan 20, 2020
    @xenme
    @also24 我应用场景主要是持续大文件写入.
    also24
        20
    also24  
       Jan 20, 2020
    @strahe #18
    那就考虑 bcache / LVM cache / dm-cache 吧

    不过说实话,PB 级别的话,应该要考虑直接 CEPH 了吧,CEPH 是支持分层缓存的:
    http://docs.ceph.org.cn/rados/operations/cache-tiering/
    julyclyde
        21
    julyclyde  
       Jan 21, 2020
    这东西还没成熟就已经失去意义了
    现在流行纯 SSD
    fqzz
        22
    fqzz  
       Jan 22, 2020
    “写入性能可以接近 SSD, 读取性能接近 HDD 即可”
    各种缓存方案都有很可能退化,读写都是 hdd 的速度,或者更差。尤其大量持续写,严重依赖缓存大小。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2401 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 59ms · UTC 10:16 · PVG 18:16 · LAX 03:16 · JFK 06:16
    ♥ Do have faith in what you're doing.