web-dev-qa-db-ja.com

既存のraidz zpoolに1つのディスクを追加するにはどうすればよいですか?

4つのSCSIドライブで構成されるzpool backupzを備えたOpenSolarisサーバーがあります。

-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

5番目のドライブを追加したいのですが、zpool add backupz raidz c7t4d0が機能していません...

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

5つのデバイスでraidz構成を使用できませんか?同時に2つのデバイスを追加する必要がありますか?または私はここでまったく間違っていることをしていますか?

21
Josh

既存のraidz vdevを拡張することはできません。それを吹き飛ばして、新しいドライブで再度作成する必要があります。詳細については、他の回答を参照してください。

補足:実際にraidzにドライブを追加することは技術的に可能であると誰かが実際に考え出しましたが、機能は実装されていません。ディスクを削除する場合も同様です。

14
Chris S

FreeBSDリストの1つからこのスレッドを参照してください。 http://lists.freebsd.org/pipermail/freebsd-fs/2009-June/006327.html

ダン・ナウモフを引用すると、

繰り返しますが、raidz1またはraidz2プールに単一のディスクドライブを追加することはできません。これは既知の制限です(Sun ZFSのドキュメントで確認できます)。既存のraidzがあり、その特定のプールのストレージ機能を増やす必要がある場合は、3つのオプションがあります。

1)同じ構成のraidzをプールに追加します(たとえば、3つのディスクraidz + 3つのディスクraidzまたは5 + 5と考えてください)。

2)raidzプール内のすべての(そしてすべての)ディスクを1つずつ交換し、アップグレードされた各ディスクを挿入した後に回復できるようにします。

3)データをバックアップし、プールを破棄して、大量のディスクで新しいraidzプールを作成します。

31
brent