如何创建ZFS镜像池
ZFS是一种高级文件系统,能够管理跨设备的数据。ZFS使用称为zpools的虚拟存储池。zpool可以包含许多目录,并且可以为您的数据提供冗余。
这种冗余在数据中心是至关重要的,您可以在数据中心服务器存储客户信息等。你最不想要的就是一个包含数据的驱动器坏掉。如何避免呢?您可以设置一个备份系统,或者使用一个标准的RAID配置。但是,如果使用Linux作为处理和存储数据的平台,则可以使用ZFS池。
这里向您展示如何使用两个外部磁盘设置ZFS镜像(RAID1)池,将通过VirtualBox虚拟机在Ubuntu 19.10上进行演示。通过VirtualBox GUI创建了两个用于镜像的新磁盘。
要进行此工作,您需要以下内容:
Ubuntu(桌面或服务器)19.10的运行实例
机器上连接了两个未格式化的驱动器
具有sudo特权的用户
如何创建镜像
我们首先需要找出两个磁盘的名称。发出以下命令:
sudo fdisk -l
您应该看到列出了您的设备。在我的情况下,它们是/ dev / sdb和/ dev / sdc。使用这些名称,我们现在可以创建镜像。我们将创建一个名为trtest的镜像。该命令是:
sudo zpool create trtest /dev/sdb /dev/sdc
该命令应该很快完成。完成后,您将把终端取回。让我们确保使用以下命令创建镜像:
sudo zpool status
您应该看到sdb和sdc现在都在池trtest下列出了(图A)。
权限
新创建的镜像挂载在/trtest(因为我们将其命名为池)。如果发出ls -l /命令,您将看到该目录属于root(图B)。
由于镜像是根用户拥有的,因此用户和应用程序将无法在该目录中修改或保存文件。要解决此问题,我们需要更改权限。如何执行此操作将取决于您需要镜子的作用。例如,如果您有一个名为data的组,其中包含需要能够访问该目录的所有用户和应用程序。您可以更改组的所有权和权限。要将组更改为数据,请发出命令:
sudo chgrp data /trtrest
接下来,我们需要更改组权限以读取,写入和执行。这是通过以下命令完成的:
sudo chmod g+rwx /trtest
此时,属于该数据组的任何用户或应用程序都将能够访问安装在/ trtest的ZFS镜像池。
以上就是使用ZFS创建RAID1镜像的全部内容。