当前位置: 首页>>技术教程>>正文


如何在Ubuntu上设置ZFS存储池

, ,

ZFS是一个组合文件系统,也是一个逻辑卷管理器,提供了类似于RAID的功能,并具有数据完整性和简化的存储管理。它允许您存储和管理大量数据。它最初是在Sun Microsystems上创建的,现在是OpenZFS项目的一部分。现在,它已被移植到其他操作系统,包括FreeBSD,Linux和Mac OSX。 ZFS存储池可以处理大量数据,可为您扩展on-site云解决方案。

在本文中,我们将向您展示如何安装ZFS以及如何设置ZFS存储池。但是,在执行此过程之前,让我们看一下它的功能:

ZFS的功能

ZFS的一些功能如下:

  • 集中存储
  • 开源的
  • Copy-on-write
  • 加密
  • 快照
  • 持续完整性检查
  • 高效的数据压缩
  • 数据完整性验证和自动修复

我们将使用Ubuntu 18.04 LTS来描述本文提到的过程。

在Ubuntu上安装ZFS

要在Ubuntu 18.04 LTS上安装ZFS,请按以下步骤启动终端Ctrl + Alt + T然后在其中键入以下命令:

$ sudo apt install zfsutils-linux

Install ZFS Utils for Linux

等待一段时间,直到安装完成。

要验证安装,请在终端中运行以下命令:

$ whereis zfs

您将看到类似于以下的输出。

Check if ZFS is installed

创建ZFS存储池

安装后,我们将创建一个驱动器池。创建ZFS存储池的第一步是知道要创建哪种类型的池。然后决定将哪些驱动器放入存储池。

1.选择ZFS池类型

您可以创建两种类型的池:

条纹泳池

在条带化池中,数据副本存储在所有驱动器上。您可以获得合并的存储空间和更快的读写速度。但是,如果一个驱动器发生故障,您将丢失所有数据。

镜像池

在镜像池中,单个完整的数据副本存储在所有驱动器上。如果一个驱动器发生故障,您仍然可以访问您的数据。

2.选择要合并的驱动器

现在,我们必须确定系统上可用的驱动器池。要查找驱动器,请在终端中运行以下命令:

$ sudo fdisk –l

从fdisk命令的输出中,记下驱动器的名称,这些名称应类似于sda,sdb,sdc。

在我们的方案中,我们有两个可用的驱动器,分别是sdb和sdc。我将使用这两个驱动器创建一个存储池。

Select Drives for ZFS Pool

3.创建池

确定了池类型和需要池的驱动器后,下一步就是使用Linux中可用的zpool命令从上述驱动器集中创建一个池,该命令用于在ZFS中配置存储池。

要创建条带化池,请在终端中运行以下命令:

$ sudo zpool create <pool_name> <drive1> <drive2>

要创建镜像池,请在终端中运行以下命令:

$ sudo zpool <pool_name> mirror <drive1> <drive2>

您可以根据存储要求创建任何池。我们将使用上面的命令创建一个镜像池:

Create ZFS Pool

创建池之后,可以使用以下命令验证zpool的详细状态:

# zpool status

Check ZFS Pool state

要查看池运行状况和空间使用情况,请在终端中使用以下命令。此命令还显示为存储池选择的磁盘。以后可以添加更多驱动器以进一步增加冗余。

$ zpool list

List ZFS Pools

现在运行df –h,您会注意到新创建的池将自动安装在安装点。

ZFS Pool listed in df command

您刚创建的池的大小为1.9 G,并且已在默认安装点安装/new-pool。如果需要,可以使用以下语法更改安装点:

$ sudo zfs set mountpoint=<path> <pool_name>

例如,我们要设置/usr /share /pool作为新的挂载点。为此,我们将使用以下命令:

$ sudo zfs set mountpoint=/usr/share/pool new-pool

要验证安装点是否已成功更改,请使用df -h命令

从以上结果中,您可以看到安装点已成功更改为新的安装点/usr /share /pool..

现在已经创建了存储池,我们现在将创建数据集并将所有内容保留在这些数据集中。这些数据集就像目录一样,并且具有安装点。

要创建数据集,请在终端中运行以下命令:

$ sudo zfs create <pool_name>/directory_name

例如,我要创建名为docs在我的存储池下。我将使用以下命令:

$ sudo zfs create new-pool/docs

我们刚刚创建的数据集将自动以名称挂载/new-pool /docs在安装点/usr /share /pool我们可以通过使用df -h命令。

$ df -h

Result of df -h command

删除ZFS池

如果要删除池,则可以使用zpool destroy命令,如下所示:

# zpool destroy pool_name

这就是我们在Ubuntu 18.04 LTS中设置ZFS存储池所需的全部。现在,您可以开始将文件存储在新创建的池中。这是一个功能强大的文件系统,您可以在处理存储负载时使用。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/8579.html,未经允许,请勿转载。