ZFS:Zpoolから最上位ドライブを削除しようとしています


9

5つのデバイスraidz1アレイを含むstorageというzpoolがあります。

今日、私は行って別の3TBデバイスを購入し、それを私のエンクロージャーに入れました。ただし、新しいプールを作成してそのデバイスを追加するのではなく、誤って既存のストレージプールに追加しました。

これで、削除したいトップレベルデバイスが呼び出されましたsdg(それが新しいドライブです)。私がそれを削除しようとするたびに、私は次のようになります:

cannot remove sdg: only inactive hot spares, cache, top-level, or log devices can be removed.

では、このデバイスを削除するにはどうすればよいですか?このデバイスに障害が発生すると、プール全体が使用できなくなります。私は別のドライブを買いに行くべきだと思っています。少なくともそれはミラーリングされますが、これを行う適切な方法がないとは信じられません。

これは私のステータスダンプです。

pool: storage
state: ONLINE
scan: scrub canceled on Wed Jul 23 17:26:08 2014

config:

 NAME                                 STATE     READ WRITE CKSUM
 storage                              ONLINE       0     0     0
   raidz1-0                           ONLINE       0     0     0
     ata-ST3000DM001-1CH166_Z1F1PYM6  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F24CSC  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F2372R  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_W1F24BTK  ONLINE       0     0     0
     ata-ST3000DM001-1CH166_Z1F2KKLW  ONLINE       0     0     0
   sdg                                ONLINE       0     0     0

errors: No known data errors

1
私の理解では、これsdgは現在ストライプストレージプールの一部です。プールはミラーリングではなくストライプ化されているため、プールから削除することはできませんsdg。元に戻す唯一の方法は、storageプールから別のデバイスにデータをコピーし、プールを破棄して、sdgなしで再作成することです。次に、sdgが使用したいことを何でも行うための新しいプールを作成します。
ワーウィック

私がzfsのドキュメントで読んだことはすべて、ストライプがそのように成長することはできないと述べていました。実際、同じ配列を増やすことができるようにするために、人々はかなり興味深いことを考え出しました。
慢性的な

削除できない場合、ドライブをさらに2つ追加して、sdgと2つの新しいドライブから別のストライプを作成できますか?
慢性的な

ドライブをプールに追加すると、削除することはできません。
質問と学習

はっきりとはわかりませんが、ドライブをさらに2つ追加して、sdgと2つの新しいドライブから別のストライプを作成できるとは思いません。sdgをプールに追加するときに、2つの追加ディスクを含むストライプボリュームとして指定する必要があったと思います。zfs convert機能はありません。
ワーウィック

回答:


2

残念ながら、プールからvdev(このドライブ)を削除することは、現在ZFSではサポートされていません(ただし、それをサポートするための作業が進行中です)。回避策は、プールからデータをダンプして再作成し、データを元に戻すことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.