如何在CentOS 7上设置OpenZFS

OpenZFS是ZFS的开源实现,ZFS是一个高级且高度可扩展的存储平台。尽管ZFS最初是为Sun Solaris设计的,但您可以在Linux上的ZFS项目(OpenZFS项目的一部分)的帮助下,在大多数主要Linux发行版上使用ZFS。

在本文中,我将向您展示如何在CentOS 7上设置OpenZFS。此外,我还将列出一些与ZFS相关的基本命令,以帮助您了解OpenZFS。

先决条件

  • 内存不少于2GB的全新Vultr CentOS 7服务器实例。8GB或更多的内存将提供最佳性能。
  • 附加到上述服务器实例的同一区域中的块存储实例。
  • 一个sudo的用户

步骤1:更新系统

以sudo用户身份登录到Vultr CentOS 7系统,然后使用以下命令将系统更新为最新的稳定状态:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

重新引导后,使用相同的sudo用户再次登录。

步骤2:安装OpenZFS

为了以简单的方式安装OpenZFS,您需要安装OpenZFS YUM存储库:

sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release$(rpm -E %dist).noarch.rpm

使用以下命令来验证安装:

gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-zfsonlinux

屏幕上的指纹应与以下内容完全相同:

pub  2048R/F14AB620 2013-03-21 ZFS on Linux <[email protected]>
      Key fingerprint = C93A FFFD 9F3F 7B03 C310  CEB6 A9D5 A1C0 F14A B620
sub  2048R/99685629 2013-03-21

由于本文使用的是发行版提供的内核,因此您可以安装kABI跟踪kmods而不是默认的DKMS样式包。这种安排将阻止从现在开始在任何内核更新之后重建ZFS。

sudo vi /etc/yum.repos.d/zfs.repo

更改第三行:

baseurl=http://archive.zfsonlinux.org/epel/7/$basearch/

至:

baseurl=http://archive.zfsonlinux.org/epel/7/kmod/$basearch/

保存并退出:

:wq!

使用YUM安装OpenZFS:

sudo yum install zfs

重新引导系统,以使内核加载与ZFS相关的模块:

sudo shutdown -r now

重新启动后,使用以下命令来验证安装:

lsmod | grep zfs

输出应类似于:

zfs                  2794866  3
zunicode              331170  1 zfs
zavl                   15236  1 zfs
zcommon                55411  1 zfs
znvpair                89086  2 zfs,zcommon
spl                    92029  3 zfs,zcommon,znvpair

步骤3:一些基本的OpenZFS命令

为了测试OpenZFS的功能,首先,您需要准备几个存储设备,它们可以是硬盘和/或硬盘分区。在这里,我们将在附加的块存储上创建6个分区,/dev/vdb并使用它们来演示一些基本的OpenZFS命令。

sudo parted -s /dev/vdb mklabel gpt
sudo parted -s /dev/vdb unit mib mkpart primary 0% 15%
sudo parted -s /dev/vdb unit mib mkpart primary 15% 30%
sudo parted -s /dev/vdb unit mib mkpart primary 30% 45%
sudo parted -s /dev/vdb unit mib mkpart primary 45% 60%
sudo parted -s /dev/vdb unit mib mkpart primary 60% 75%
sudo parted -s /dev/vdb unit mib mkpart primary 75% 90%

您可以使用下面的命令来确认您的操作,和6个分区将是/dev/vdb1/dev/vdb2/dev/vdb3/dev/vdb4/dev/vdb5,和/dev/vdb6

sudo parted -l
ls -l /dev/vdb*

OpenZFS有两个主要实用程序:zpoolzfs。该zpool实用程序负责使用存储设备创建和维护ZFS池,该zfs实用程序负责创建和维护数据集。

使用zpool实用程序的示例:

1)创建一个ZFS池

您可以使用一个或多个存储设备创建ZFS池“ zfspool1”:

sudo zpool create zfspool1 vdb1

要么

sudo zpool create zfspool2 vdb2 vdb3 vdb5

检查ZFS池的状态:

sudo zpool status

在测试其他OpenZFS命令之前,请使用以下命令破坏您先前设置的ZFS池:

sudo zpool destroy zfspool1
sudo zpool destroy zfspool2

2)创建一个ZFS池,并镜像两个或更多存储设备。

使用/dev/vdb1/dev/vdb2创建ZFS池,并且将它们都配置为镜像:

sudo zpool create zfspool3 mirror vdb1 vdb2

如有必要,还可以使这些存储设备具有三镜像或更多镜像的方式:

sudo zpool create zfspool4 mirror vdb3 vdb4 vdb5

再次,使用以下命令确认设置:

sudo zpool status

然后销毁两个ZFS池:

sudo zpool destroy zfspool3
sudo zpool destroy zfspool4

3)使用两个或多个存储设备创建ZFS池并建立raidz阵列

sudo zpool create zfspool5 raidz vdb1 vdb2

再次,确认您的设置并销毁此ZFS池:

sudo zpool status
sudo zpool destroy zfspool5

使用zfs实用程序的示例:

使用zfs实用程序之前,请创建一个由3个存储设备组成的ZFS池:

sudo zpool create zfspool6 vdb1 vdb3 vdb5

1)为ZFS池添加存储设备。

sudo zpool add zfspool6 vdb6

注意:您不能直接从池中删除这些存储设备,因为它们是分区而不是硬盘。

2)为每个存储设备创建一个文件系统。

sudo zfs create zfspool6/vdb1
sudo zfs create zfspool6/vdb3
sudo zfs create -o mountpoint=/test zfspool6/vdb5
sudo zfs create -o compression=gzip zfspool6/vdb6

有关上述命令的说明:

  • 第一个命令创建了一个ZFS文件系统“ zfspool6 / vdb1”,然后将其挂载到默认位置/zfspool6/vdb1
  • 第二条命令以相同的方式执行:创建ZFS文件系统“ zfspool6 / vdb3”,然后将其安装到/zfspool6/vdb3
  • 第三个命令创建了一个ZFS文件系统“ zfspool6 / vdb5”,然后将其挂载到指定位置/test
  • 第四个命令创建了一个用gzip压缩的ZFS文件系统“ zfspool6 / vdb6”,然后将其挂载到默认位置/zfspool6/vdb6

之后,如果要更改存储设备的安装点:

sudo zfs set mountpoint=/vdb3 zfspool6/vdb3

如果要设置或修改压缩方法:

sudo zfs set compression=gzip zfspool6/vdb3
sudo zfs set compression=lz4 zfspool6/vdb6

使用以下命令确认压缩方法:

sudo zfs get -r compression zfspool6/vdb3

列出系统上的所有ZFS文件系统:

sudo zfs list

如果不再需要存储文件系统,则可以使用以下命令销毁它:

sudo zfs destroy zfspool6/vdb5

我们的教程到此结束。本文中的内容只是介绍性的,您可以从其官方网站上了解有关OpenZFS的更多信息。感谢您的阅读。



Leave a Comment

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息