• TrueNAS存储池简介


    TrueNAS存储顺序为内存->缓存存储池->数据存储池。

    一个存储池可以由多个Vdev组成,而Vdev可以有多种类型。

    image-20220524135954675

    Vdev类型

    Vdev有以下六种类型

    参考:Creating Pools | (truenas.com)

    1、Data

    基础Vdev,用于存储数据,一个存储池至少有一个Data Vdev。

    可以在一个池里添加多个Data Vdev,多个Data Vdev可以组成相关阵列,而一个Data Vdev又可以由多块硬盘组成的阵列构成。

    2、Cache

    ZFS L2ARC读取缓存可与快速设备一起使用以加速读取操作。相当于二级缓存,保存从内存里面调出的数据,下次直接从固态硬盘中调出。建议64G内存以上的用户使用此Vdev,不要超过内存的5倍。推荐用固态硬盘当缓存Vdev,容量不需太大,64G存最好不要超过300G容量,多了反而会增加内存的消耗。

    How Does L2ARC Work?

    当系统收到读请求时,ZFS使用ARC (RAM)来处理这些请求。当ARC满了,并且有L2ARC驱动器分配给ZFS池时,ZFS使用L2ARC来处理从ARC溢出的读请求。这减少了使用较慢的硬盘驱动器,从而提高了系统性能。

    更多内容可查看官方说明:L2ARC | (truenas.com)

    3、Log

    ZFS日志设备,提高同步写速度,日志设备的最小大小与池中每个设备的最小大小 (64 MB) 相同。可能存储在日志设备中的相关的数据量相对较小。提交日志事务(系统调用)时将释放日志块。日志设备的最大大小应大约为物理内存大小的 1/2,因为这是可存储的最大潜在相关的数据量。例如,如果系统的物理内存为 16 GB,请考虑 8 GB 的最大日志设备大小。

    ZFS intent log(ZIL)通常被称为日志,其主要目的是数据完整性。ZIL的存在是为了跟踪正在进行的同步写操作。如果系统崩溃或断电,ZIL可以重放操作。当您在电源故障时丢失一个标准的系统缓存时,一个ZIL在系统重新启动时仍然存在。

    ZFS数据池使用一个存储在磁盘上的ZIL来记录同步写入,然后再刷新到存储中的最终位置。这意味着同步写操作以存储池的速度进行,并且必须写入存储池两次或两次以上(取决于磁盘冗余)。

    更多内容可查看官方说明:SLOG Devices | (truenas.com)

    4、Hot Spare

    热备盘是指当主用磁盘故障时,预留插入Data vdev的磁盘。热备盘用于临时替换故障驱动器,以防止出现更大的池和数据丢失的情况。 当新硬盘替换故障硬盘时,热备盘恢复为非激活状态,重新作为热备盘使用。 当故障驱动器仅从池中分离时,临时热备盘将被提升为Data vdev的成员,不再作为热备盘可用。

    5、Metadata

    用于创建Fusion Pools的特殊分配类,以提高元数据和小块 i/o 性能。

    6、Dedup

    Dedup vde用于存储ZFS池中的重复删除数据。需要为每X TiB的通用存储分配X GiB。例如,1 GiB的Dedup vdev容量对应1 TiB的Data vdev可用容量。

    Vdev布局

    根据特定的池用例,添加到vdev中的磁盘以不同的布局排列。不支持将多个具有不同布局的vdev添加到池中。当需要不同的vdev布局时,创建一个新的池。例如,pool1中有一个镜像布局的数据vdev,新创建一个poo2,将raid-z布局的vdev添加到pool2中。

    布局类型:

    1、Stripe

    条带类型vdev布局下的每个磁盘都用于存储数据。至少需要1块硬盘,且数据无冗余。

    注意:不要使用Stripe类型的vdev来存储关键数据!单个磁盘故障将导致vdev中所有数据丢失。

    2、Mirror

    镜像类型vdev中每个磁盘的数据完全相同。要求至少2块硬盘,冗余度最高,但相对的可使用的容量也最少。

    3、RAIDZ1

    RAIDZ1使用一块磁盘进行奇偶校验,其他磁盘全部用来存储数据。至少需要3块硬盘。

    4、RAIDZ2

    RAIDZ2使用两块磁盘进行奇偶校验,其他磁盘全部用来存储数据。至少需要4块硬盘。

    5、RAIDZ3

    RAIDZ3使用三块磁盘进行奇偶校验,其他磁盘全部用来存储数据。至少需要5块硬盘。

  • 相关阅读:
    最近学习的 Node.js 之 http
    最近学习的 Node.js 基础:安装、环境配置、forever
    关于MySQL5.7 几天的总结(简单分区 & json类型)
    不会点git真不行啊.
    python爬虫基础_scrapy
    python爬虫基础_webwechat
    python爬虫基础_requests和bs4
    python之django母板页面
    python之django基础
    python网络之web框架
  • 原文地址:https://www.cnblogs.com/xzy186/p/16354498.html
Copyright © 2020-2023  润新知