其他分享
首页 > 其他分享> > TrueNAS存储池简介

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块硬盘。

标签:存储,ZFS,简介,vdev,TrueNAS,Vdev,磁盘,硬盘
来源: https://www.cnblogs.com/xzy186/p/16354498.html