基于ZFS的多硬盘存储系统
什么是ZFS
ZFS(Zettabyte File System)是一种由Sun Microsystems开发的文件系统和逻辑卷管理器,现由OpenZFS项目维护和开发。ZFS以其高可靠性、可扩展性和数据完整性检查等特性而闻名,适用于存储大量数据的环境。
电脑配置
系统:deepin linux
CPU:12C
内存:16G
一个系统固态硬盘+10个机械硬盘(本次主要用ZFS把十块机械硬盘搭建成一个存储卷)
搭建步骤
首先在系统中安装ZFS
sudo apt update
sudo apt install zfsutils-linux
查看硬盘
lsblk
我这里有十个机械硬盘和一个固态硬盘,所以会展示如下:
/dev/sda
/dev/sdb
...
/dev/sdk
因为ZFS可以直接使用整个磁盘,所以无需对磁盘分区,直接创建数据卷
sudo zpool create mypool raidz2 /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk
我这里创建了raidz2的数据卷,这个数据卷让10块硬盘中的2块盘当作数据校验盘,理论上当损坏两个盘时,数据也是可以恢复的
检查存储池状态:
sudo zpool status mypool
配置ZFS文件系统
sudo zfs create mypool/data
挂载ZFS数据卷到指定目录
sudo mkdir -p /mnt/data
sudo zfs set mountpoint=/mnt/data mypool/data
确认挂载完成
sudo zfs get mountpoint
当上面的配置都完成时,ZFS会在电脑重启后自动挂载,十分方便
配置结束
其他可选配置
ZFS可以进行一些可选配置
# 启用压缩
sudo zfs set compression=on mypool/data
# 启用重复数据删除
sudo zfs set dedup=on mypool/data