从上图可以知道,一个存储池可以由多个Vdev组成,而Vdev可以有多种模式
DEVE模式
DEVE模式可以为以下六种类型
- Data数据Vdev
基础Vdev,用于存储数据,一个存储池至少有一个Data Vdev
值得注意的是我们可以在一个池里添加多个Data 多个Data Vdev可以组成相关阵列,而一个Data可以由多块硬盘组成的阵列构成(禁止套娃 ( ̄_ ̄|||))
2. Cache缓存Vdev
ZFSL2ARC读取缓存可与快速设备-起使用以加速读取操作。相当于二级缓存,保存从内存里面
调出的数据,下次直接从固态硬盘中调出。建议64G内存以上的用户使用此Vdev,不要超过内
存的5倍。推荐用固态硬盘当缓存Vdev,容量不需太大,64G内存最好不要超过300G容量,多
了反而会增加内存的消耗。
- Log记录Vdev
可以提高同步写入速度的ZFSLOG设备。只是记录频繁写入文件的位置,只是位置,并非文件
。建议16G就够了,多了没用。
- Hot Spare热备Vdev
为在活动驱动器发生故障时插入数据池vdevs保留的驱动器。
- Metadata元数据Vdev
特殊分配类,用于创建融合池。可选的vdev类型,用于加速元数据和小块IO.
- Dedup去重Vdev
事复数据删除表存储在这种特殊的vdev类型上。对于每X TiB的常规存储,这些vdev的大小必须
为X GiB.
Data数据Vdev的阵列组成方式
- Stripe
相当于磁盘阵列的Raid0,与Raid0有所不同的是,Raid0如果是由不同容量大小的磁盘组成的,
那么以最小的磁盘容量位准
例如传统Raid模式下一块100G和一块50G组成的Raid0,那么可用容量只有50G,而Stripe可用
就约有60G
- Mirror
每一个硬盘都写入同样的内容,虽然看起来和Raid1很相似。
- Raid-z
相当于Raid5,可以允许一块硬盘损坏。空出一块硬盘用于校验信息存储,保证数据安全。读写
速度就是磁盘数量N-1。
- Raid-z2
相当于Raid6,允许损失两块硬盘的容量来做数据冗余。