JBODのように見えるが、ドライブはそのプールから取り外し可能になるようにZFSプールを設定することは可能ですか?
通常のZFS構成では、これは不可能であることを読みました。
使用済みスペースが十分に小さければ、プール内のドライブの1つが本質的に使用されなくなるまで、物事をシャッフルすることが可能であるように思われます。それが起こったら、物事を台無しにすることなくプールからそのドライブを削除することが可能であるはずです。 (プールを使用不可にすることなくこれを行うことさえ可能であるように思われます。)
これを可能にする構成はありますか?たぶん、ZFS以上のものを使用するものですか?
少なくとも LinuxのZFS は、質問のタグがおそらくあなたが参照しているものであることを示していますが、notはあなたをサポートしていません現在提案されている使用法。
他の場所で説明したように 、ZFSはストライプセットからの構成デバイスの削除をサポートしていません。
プール自体は、1つ以上のvdevのストライプセットであり、vdevは単一のデバイス、ミラーセット、またはraidzN冗長セットの場合があります。 ((JBOD)を説明する場合、vdevは単一の基盤となるストレージデバイスで構成されます。)簡潔にするために、vdevレベルがzpool status
および同様のコマンドの出力で省略されているのは、vdevが1つしかない場合です。プールですが、まだ存在しており、たとえばZFSデータ構造のダンパー/デバッガーzdb
を使用して表示できます。
この効果は、vdevがプールに追加されると、プールを最初から再作成し、古いプールから新しいプールにデータを転送する場合を除いて、削除できないことです。
ZFSの「ブロックポインタの書き換え」(ZFSではやりたいことのために必要です)の件名が時々出てきますが、私はthink「ある時点で」実装される予定です。しかし、優先度の高い問題がたくさんありますand実装がかなり簡単です。
ZFSはenterpriseファイルシステムとして設計および実装されていることを忘れないでください。エンタープライズ環境では、あなたが提案したことを実行することはほとんど正気ではないと見なされるため、あなたが実行したいことがこれまでにサポートされる可能性は低いと思います公式サポートされています。ただし、将来のある時点でpossibleになる可能性があります。これは、削除されたスパースファイルを使用するのと同じです。これは、バッキングデバイスが実際にはサポートされていませんが、それでも、 raidzNvdevの有効な冗長レベル。