向 Ubuntu 上的 ZFS 池添加更多镜像 vdev

Ste*_*ham 7 ubuntu zfs mirror

我在 Ubuntu 16.04.1 LTS 上,我有一个名为 unas 的 ZFS 池,其中包含两个镜像驱动器。我现在又连接了两个驱动器,我想将这些新驱动器作为一对镜像驱动器添加到我的 unas 池中,以便我最终得到一个名为 unas 的池,其中包含 4 个驱动器,分组为镜像对。

zpool status命令的结果如下所示,显示了我当前的配置。我使用哪些步骤和命令来镜像两个新驱动器,然后将这些镜像驱动器添加到我的 unas 池中?

是否像使用以下命令将两个新驱动器添加为镜像对一样简单?

$ zpool add unas mirror newDrive1 newDrive2
Run Code Online (Sandbox Code Playgroud)

我当前 zpool 状态的结果是:

$ sudo zpool status
pool: unas
state: ONLINE
scan: scrub repaired 1.50M in 36h3m with 0 errors on Thu Jun  9 08:06:41 2016

config:

NAME                                          STATE     READ WRITE CKSUM
unas                                          ONLINE       0     0     0
  mirror-0                                    ONLINE       0     0     0
    ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N1VUU0LX  ONLINE       0     0     0
    ata-WDC_WD30EFRX-68EUZN0_WD-WCC4N7FSX6F9  ONLINE       0     0     0

errors: No known data errors
Run Code Online (Sandbox Code Playgroud)

use*_*391 13

是的。

如果您以后不清楚这些事情,请先用旧池中的小文件对其进行测试。您可以从常规文件创建池,只要它们的大小至少为 64MB。命令是相同的,只是给它文件的完整路径而不是设备路径。

在 Solaris 上,这将是:

# create your test files
cd /yourpool/yourfs
mkfile 100m sd0 sd1 sd2 sd3

# create pool
zpool create testpool mirror /yourpool/yourfs/sd0 /yourpool/yourfs/sd1
zpool status testpool

# expand pool
zpool add testpool mirror /yourpool/yourfs/sd2 /yourpool/yourfs/sd3
zpool status
Run Code Online (Sandbox Code Playgroud)

  • 此外,在 Linux(问题已标记)上,将“truncate -s 100m filenames”替换为“mkfile 100m filenames”。 (2认同)