如何向现有的 raidz zpool 添加一个磁盘?

如何向现有的 raidz zpool 添加一个磁盘?

我有一台 OpenSolaris 服务器,其 zpoolbackupz由四个 SCSI 驱动器组成:

-bash-3.2# zpool status backupz
  pool: backupz
 state: ONLINE
 scrub: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        backupz     ONLINE       0     0     0
          raidz1    ONLINE       0     0     0
            c7t0d0  ONLINE       0     0     0
            c7t1d0  ONLINE       0     0     0
            c7t2d0  ONLINE       0     0     0
            c7t3d0  ONLINE       0     0     0

errors: No known data errors

我想添加第五个驱动器...但是zpool add backupz raidz c7t4d0不起作用...

-bash-3.2# zpool add backupz raidz c7t4d0
invalid vdev specification: raidz requires at least 2 devices

我不能使用包含 5 个设备的 raidz 配置吗?我必须一次添加两个设备吗?还是我在这里做了一些完全错误的事情?

答案1

您无法扩展现有的 raidz vdev,您必须将其删除,然后使用新驱动器重新创建。请参阅其他答案以了解更多详细信息。

附注:有人确实发现,从技术上讲,可以向 raidz 添加驱动器,但该功能尚未实现。移除磁盘也是如此。

答案2

参阅 FreeBSD 列表中的以下主题:http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html

引用 Dan Naumov 的话,

重申一下,您不能只将单个磁盘驱动器添加到 raidz1 或 raidz2 池中。这是一个已知限制(您可以查看 SUN ZFS 文档)。如果您有现有的 raidz,并且必须增加该特定池的存储能力,您有 3 个选择:

1)向池中添加相同配置的 raidz(例如 3 磁盘 raidz + 3 磁盘 raidz 或 5 + 5)

2)逐个替换 raidz 池中的每个磁盘,并在插入每个升级的磁盘后让其重新镀银

3) 备份您的数据,销毁您的池并创建一个具有更大磁盘数量的新 raidz 池。

相关内容