本文介绍: OpenZFS 是一个高级文件系统和卷管理器,最初是为 Solaris 开发的,现在由 OpenZFS 社区维护。本文主要介绍OpenZFS部署实践及问题解决过程

一、前言

参考文档
ZFS源码Github
ZFS部署文档:ZFS-WiKiZFS-freebsd

OpenZFS 是一个高级文件系统和卷管理器,最初是为 Solaris 开发的,现在由 OpenZFS 社区维护。

1、简介

ZFS是一种先进的现代文件系统,是一个革命性的文件系统,它专门设计用于提供传统UNIX文件系统中不具备的功能,从根本上改变了文件系统管理方式具有目前市面上的其他任何文件系统没有功能和优点。ZFS最初是由Sun公司为Solaris 10操作系统开发文件系统,被Sun称为是终极文件系统。为了便于将其移植到其他操作系统,ZFS作为OpenSolaris开源计划的一部分,于2005年11月发布,经历了10年的活跃开发。Oracle收购Sun之后,为了能够继续提供开源版本,原来负责开发ZFS文件系统的几个工程师建立了OpenZFS开源项目以提供开源版本持续协作开发

2、常用术语

二、安装说明

安装部署说明# Getting Started
源码编译说明# Building ZFS

1、源码编译

由于在线安装相关版本过于陈旧,示例使用最新zfs-2.1.4源码进行手动编译安装

1.1、CentOS
yum install epel-release gcc make autoconf automake libtool rpm-build libtirpc-devel libblkid-devel libuuid-devel libudev-devel openssl-devel zlib-devel libaio-devel libattr-devel elfutils-libelf-devel kernel-devel-$(uname -r) python python2-devel python-setuptools python-cffi libffi-devel git ncompress libcurl-devel
yum install --enablerepo=epel python-packaging dkms
cd /opt/
wget https://github.com/openzfs/zfs/releases/download/zfs-2.1.4/zfs-2.1.4.tar.gz
tar -zxvf zfs-2.1.4.tar.gz
cd zfs-2.1.4
./autogen.sh
./configure
make rpm
yum install *.rpm -y
modprobe zfs
[root@node129 ~]# zfs version
zfs-2.1.4-1
zfs-kmod-2.1.4-1
1.2、Ubuntu
sudo apt install build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev linux-headers-$(uname -r) python3 python3-dev python3-setuptools python3-cffi libffi-dev python3-packaging git libcurl4-openssl-dev
cd /opt/
wget https://github.com/openzfs/zfs/releases/download/zfs-2.1.4/zfs-2.1.4.tar.gz
tar -zxvf zfs-2.1.4.tar.gz
cd zfs-2.1.4
./autogen.sh
./configure
make deb
dpkg -i *.deb
modprobe zfs

2、在线安装

2.1、CentOS

示例使用CentOS7.6系统

yum install https://zfsonlinux.org/epel/zfs-release.el7_6.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux
yum install -y epel-release
yum install -y kernel-devel
yum install -y zfs
2.2、Ubuntu

示例使用Ubuntu16.04系统,基于Ubuntu系统下,ZFS默认集成在Linux内核包中,只需要安装ZFS应用程序即可

echo "deb http://archive.ubuntu.com/ubuntu xenial main universe" >> /etc/apt/sources.list
apt update
apt install zfsutils-linux

三、部署说明

参考文档:
oracle-zfs
oracle-zpool

1、存储管理

1.1、创建存储池

通用格式如下

zpool create -f -m <mount-path> <pool-name> [pool-type] <disk> [pool-type] <disk> [spare <disk> log <disk> cache <disk>]

注:一个raidzx存储池包括n个数据盘+m个校验盘(n+m太大会导致文件拆的很碎,官方建议n+m小于16),n通常建议是2的次方(如2/4/8),raidx存储池利用率=n/(n+m)

示例如下,使用10块磁盘创建raidz2存储池(8 + 2),配备一块热备

zpool create -f  zfspool raidz2 /dev/mapper/mpathcu1 /dev/mapper/mpathbp1 /dev/mapper/mpathak1 /dev/mapper/mpathch1 /dev/mapper/mpathbc1 /dev/mapper/mpathaw1 /dev/mapper/mpathct1 /dev/mapper/mpathbo1 spare /dev/mapper/mpathcj1

zfs支持文件、块接口,默认为文件接口,如需创建设备,可执行命令zfs create -V <volume-size> <pool-name>/<volume-name>

1.2、扩展存储池

通用格式如下

zpool add -f <pool-name> [pool-type] <disk> [pool-type] <disk> [spare <disk> log <disk> cache <disk>]
1.3、删除存储池

通用格式如下

zpool destroy <pool-name>

注:如只需删除一个子空间,则执行zfs destroy <pool-name>/<dataset-name>

1.4、存储池故障处理
1.5、存储池状态查询

四、Q&amp;A

1、内核模块加载

echo zfs >/etc/modules-load.d/zfs.conf

2、内核版本选择

原文地址:https://blog.csdn.net/Micha_Lu/article/details/134720281

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_19755.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注