使用 ZFS 的 2 个不同大小的镜像

squ*_*rog 5 zfs mirroring

我目前有一个 4 个不均匀驱动器的 unRAID 盒。我想迁移到 Ubuntu 和 ZFS,但不太确定 ZFS 有什么可能。我想购买 2 个 6TB 驱动器,用于镜像配置。然后,一旦我移动了我的数据,我想添加 2 个旧的 3TB 驱动器作为另一个镜像。

1) 是否可以进行以下设置:

d1: 6TB
d2: 6TB mirror of d1
d3: 3TB
d4: 3TB mirror of d3
Run Code Online (Sandbox Code Playgroud)

2) 当驱动器价格下降时,是否容易更换d3d4使用更大的驱动器?

Dan*_*l B 10

是的,这是可能的。如果您稍微阅读一下 ZFS,您会发现它基本上是一个所谓的“vdev”池。最简单的 vdev 是一个普通的物理驱动器。它也可以是由两个或多个物理驱动器组成的镜像。这就是你想要的。

你会去这个结构:

d1    d2  d3    d4
 \    /    \    /
 mirror    mirror
      \    /
      mypool
Run Code Online (Sandbox Code Playgroud)

要创建此 zpool,请使用以下命令:

zpool create mypool mirror d1 d2 mirror d3 d4
Run Code Online (Sandbox Code Playgroud)

这将产生 9 TB 的可用容量。它可以容忍每个镜像 vdev 出现一个驱动器故障。(当然,除非您添加更多镜子。)

如果您想稍后添加 vdevs,请使用以下命令:

zpool add mypool mirror d3 d4
Run Code Online (Sandbox Code Playgroud)

要扩展池大小,首先启用该autoexpand选项:

zpool set autoexpand=on mypool
Run Code Online (Sandbox Code Playgroud)

然后用更大的驱动器替换 d3/d4 之一并等待它重建。之后,更换另一个。该池应自动扩展到可用的驱动器大小。

autoexpand工作完成后可能需要关闭。

或者,您可以不用管autoexpand,在更换两个驱动器后使用以下命令:

zpool online -e mypool d3
zpool online -e mypool d4
Run Code Online (Sandbox Code Playgroud)