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
私がzfsのドキュメントで読んだことはすべて、ストライプがそのように成長することはできないと述べていました。実際、同じ配列を増やすことができるようにするために、人々はかなり興味深いことを考え出しました。
—
慢性的な
削除できない場合、ドライブをさらに2つ追加して、sdgと2つの新しいドライブから別のストライプを作成できますか?
—
慢性的な
ドライブをプールに追加すると、削除することはできません。
—
質問と学習
はっきりとはわかりませんが、ドライブをさらに2つ追加して、sdgと2つの新しいドライブから別のストライプを作成できるとは思いません。sdgをプールに追加するときに、2つの追加ディスクを含むストライプボリュームとして指定する必要があったと思います。
—
ワーウィック
zfs convert
機能はありません。
sdg
は現在ストライプストレージプールの一部です。プールはミラーリングではなくストライプ化されているため、プールから削除することはできませんsdg
。元に戻す唯一の方法は、storage
プールから別のデバイスにデータをコピーし、プールを破棄して、sdgなしで再作成することです。次に、sdgが使用したいことを何でも行うための新しいプールを作成します。