ZFS NFS

ZFS内置NFS功能为企业级应用提供了方便的共享存储,在很多应用领域有广泛应用:

备注

本文实现ZFS NFS服务配置,为后续构建 ZFS架构 的企业应用提供基础

ZFS管理准备

ZFS管理准备 划分了3个分区,其中 zpool-data 用于数据存储并构建 NFS 共享给 kind(本地docker模拟k8s集群) 部署 在Kubernetes中部署NFS

parted分区后状态(新增3个分区用于zpool)
Model: APPLE SSD AP0512R (nvme)
Disk /dev/nvme0n1: 500GB
Sector size (logical/physical): 4096B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End    Size    File system  Name                  Flags
 1      24.6kB  524MB  524MB                iBootSystemContainer
 2      524MB   149GB  148GB
 3      149GB   151GB  2500MB
 4      151GB   152GB  500MB   fat32                              boot, esp
 5      152GB   181GB  29.0GB  ext4
 7      181GB   231GB  50.2GB               zpool-data
 8      231GB   381GB  150GB                zpool-libvirt
 9      381GB   495GB  114GB                zpool-docker
 6      495GB   500GB  5369MB               RecoveryOSContainer

创建 zpool 和 zfs

  • /dev/nvme0n1p7 构建 zpool:

创建zpool-data存储池
# 在NVMe 分区7创建zpool-data,挂载在 /data
sudo zpool create -f zpool-data -m /data /dev/nvme0n1p7
  • 创建ZFS文件系统 docs :

创建zpool-data存储池中ZFS文件系统docs,开启压缩
# 创建zpool-data存储池中的ZFS文件系统docs
zfs create zpool-data/docs

# ZFS文件系统docs开启压缩
zfs set compression=lz4 zpool-data/docs
  • 准备 docs 数据(将我的文档目录迁移到 docs ZFS存储中):

将文档目录docs复制到 zpool-data存储池中ZFS文件系统docs
sudo chown huatai:staff /data/docs
(cd /home/huatai/docs && tar cf - .)|(cd /data/docs && tar xf -)

ZFS共享NFS存储数据集

ZFS的NFS服务也是通过Linux nfs服务 来实现,所以也需要 arch linux配置NFS服务 相同的软件包安装:

在arch linux上安装nfs-utils支持NFS
sudo pacman -S nfs-utils

参考