OpenZFS安装和使用

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: 在Ubuntu 22.04.3 LTS上,本文介绍了OpenZFS的容错功能,如RAID-Z(类似RAID 5)、Mirror(类似RAID 1)、RAID-Z2和RAID-Z3,以及Hot Spare和Scrubbing。推荐使用RAID-Z1以平衡容量和预算。主要步骤包括安装zfsutils-linux,创建RAID-Z1存储池和ZFS文件系统,以及管理文件系统。此外,还提到了使用nfs共享ZFS文件系统的命令。

操作环境

其他环境请酌情转换处理

系统环境: Ubuntu 22.04.3 LTS
```bash

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy


> 磁盘情况
```bash
# lsblk -e 7
# -e 排除 loop设备类型

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   7.3T  0 disk
sdb           8:16   0   7.3T  0 disk
sdc           8:32   0   7.3T  0 disk
sdd           8:48   0   7.3T  0 disk

OpenZFS 中常见的容错功能

OpenZFS 是一个强大的文件系统和逻辑卷管理器,它提供了多种容错功能,可以保护数据免受硬件故障和数据损坏的影响。下面是一些 OpenZFS 中常见的容错功能:

  1. RAID-Z

    • RAID-Z1 是 RAID-Z 的别名。The raidz vdev type is an alias for raidz1
    • RAID-Z 是一种 ZFS 特有的软件 RAID 方案,类似于传统 RAID 5,但提供更强大的功能和更好的性能。
    • RAID-Z 通过在数据块中存储校验信息来提供数据完整性保护。在磁盘故障时,它可以使用校验信息恢复丢失的数据。
  2. Mirror

    • Mirror 是 OpenZFS 中的镜像功能,类似于传统 RAID 1。
    • 在 Mirror 中,数据被复制到至少两个磁盘上,如果一个磁盘失败,数据仍然可以从其他镜像中恢复。
  3. RAID-Z2 和 RAID-Z3

    • 类似于 RAID-Z,但提供了更高级别的容错保护。
    • RAID-Z2 允许在两个磁盘故障的情况下继续运行,而 RAID-Z3 允许在三个磁盘故障的情况下继续运行。
  4. Hot Spare

    • Hot Spare 是一种备用磁盘,当检测到磁盘故障时,它会自动替换故障磁盘。
    • 这可以减少故障对系统的影响,并在故障发生时自动恢复数据。
  5. Scrubbing

    • Scubbing 是一种定期检查和修复数据完整性的过程。
    • 它会定期扫描存储池中的所有数据,并检查它们与校验信息是否匹配,以及是否存在任何损坏的数据。

选择容错的方案

选择RAID-Z1, 如果有N个相等的磁盘 , 则容量为 (N-1)* 磁盘容量,读取、写入性能均为:N-1, 适用追求最大容量、最小预算的情况。

RAIDZ官网介绍: https://openzfs.github.io/openzfs-docs/Basic%20Concepts/RAIDZ.html

主要操作步骤

参考资料: https://openzfs.github.io/openzfs-docs/

  1. 安装 OpenZFS

On Ubuntu, ZFS is included in the default Linux kernel packages. To install the ZFS utilities, first make sure universe is enabled in /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu CODENAME main universe

apt update
apt install zfsutils-linux

# zpool version
zfs-2.1.5-1ubuntu6~22.04.4
zfs-kmod-2.2.0-0ubuntu1~23.10.2

# zfs --version
zfs-2.1.5-1ubuntu6~22.04.4
zfs-kmod-2.2.0-0ubuntu1~23.10.2
  1. 创建 ZFS 存储池
    ```bash

    下面两条命令效果相同

    sudo zpool create mdata -m /mdata raidz1 /dev/sda /dev/sdb /dev/sdc /dev/sdd

    sudo zpool create mdata -m /mdata raidz /dev/sda /dev/sdb /dev/sdc /dev/sdd

zpool list

zpool status

pool: mdata
state: ONLINE
config:

    NAME        STATE     READ WRITE CKSUM
    mdata       ONLINE       0     0     0
      raidz1-0  ONLINE       0     0     0
        sda     ONLINE       0     0     0
        sdb     ONLINE       0     0     0
        sdc     ONLINE       0     0     0
        sdd     ONLINE       0     0     0

errors: No known data errors

zpool --help

销毁存储池

sudo zpool destroy mdata


3. 创建 ZFS 文件系统
```bash
# 创建文件系统
sudo zfs create -o mountpoint=/mdata/zfs mdata/zfs

cd /mdata/
chown -R user:user admin-user zfs

zfs list

# 移除文件系统
sudo zfs unmount mdata/zfs
sudo zfs destroy -r mdata/zfs

其他命令

nfs共享

zfs set sharenfs="rw,root=192.168.xxx.xxx,root=172.10.xxx.xxx" /mata/share
目录
相关文章
|
6月前
|
JavaScript 中间件 Shell
JXcore 安装
JXcore 安装
67 2
|
7月前
|
程序员 Python
|
7月前
|
Apache Windows
MapServer安装
MapServer安装
77 1
|
NoSQL 网络安全 Redis
redisd的简易安装运用
redisd的简易安装运用
81 0
安装
安装
113 0
安装
ceres安装
ceres安装
510 0
ceres安装
|
Web App开发 存储 缓存
Tampermonkey的安装与使用
Tampermonkey 是一款免费的浏览器扩展和最为流行的用户脚本管理器,虽然有些受支持的浏览器拥有原生的用户脚本支持,但 Tampermonkey 将在您的用户脚本管理方面提供更多的便利。 它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本运行状况速览、内置的编辑器等众多功能, 同时Tampermonkey还有可能正常运行原本并不兼容的脚本。
550 0
Tampermonkey的安装与使用
KANZI-01-安装
第一次接触KANZI是在网上找模拟仪表相关的资料的时候发现的,那是看到时KANZI在Audio上面的应用,但是一直没有机会一览KANZI的真身,在网上是在找不到KANZI的安装包。
645 0
KANZI-01-安装
|
Java 关系型数据库 MySQL
Linkis安装
Linkis安装
282 0
Linkis安装
bcftools安装
bcftools安装
818 0
bcftools安装