web-dev-qa-db-ja.com

ZFSプールにディスクを追加する

ユーザーが最大20個のデータを保存できるストレージサーバーを計画していますTB= Linux上のZFSでいくつかの良い経験をしたので、それを使用したいと思います。しかし、データ量は年間数100 GB増加するので、ある時点でプールサイズを増やす必要があります。非常に多くのデータがあるため、zpoolを完全に破壊するのはかなり面倒だと思います。再作成します。ディスクを追加して既存のディスクを保持することでプール容量を増やすことができるかどうか疑問に思います。プールは少なくともRAIDZ-1になります。または、1つのディスクを削除する必要があるのは本当ですかもう1つ、それをより大きなサーバーに置き換えますか?いいえ、信じられません。

6
T. Pluess

ZFSプールを拡張するには、基本的に2つの方法があります。

さらにvdevを追加する

これが ser1133275が回答で示唆している です。これはzpool add(ストレージを指定するためのzpool createと基本的に同じ構文を持っています)で行われ、それが何をするかに対してうまく機能します。

ZFSは保存されたデータを自動的に再調整しませんが、新しいvdevが既存のデータとほぼ同じ使用率になるまで、新しいデータを新しいvdevに書き込み始めます。

プールにvdevを追加した後は、基本的にプールを最初から再作成しない限りそれを削除できません。

プールをインポート可能にするには、プール内のすべてのvdevがそれぞれの冗長性しきい値を超える必要があります。つまり、プールが機能するには、すべてのvdevが少なくともDEGRADEDである必要があります。

ディスクをより大きなディスクに交換します

これはあなたの質問で話し合っていることです。満足のいくプールレイアウトがある場合、これはZFSプールを拡張する通常の方法です。

デバイスを新しいデバイスと交換するには、新しいデバイスが少なくとも古いデバイスと同じ大きさである必要があります。

運用上、古いディスクと一緒に新しいディスクを接続してから、古いディスクを新しいディスクとzpool replaceします。 (これにより、新旧のディスクの親となる一時的なreplacingデバイスが作成されます。復元が完了すると、replacingデバイスがデバイスツリーから削除され、新しいデバイスが復元が完了すると、古いディスクをシステムから削除できます。

Vdev内のすべてのディスクがより大きなディスクに置き換えられたら、zpool online -eを実行するか、autoexpandプロパティをonに設定することで、プールを拡張できます(実際には後者をお勧めします。プールの拡張は意識的な決定である必要があります)。

それでどちらの方法が良いですか?

それは基本的にあなたのプールに依存します。前述のように、複数のvdevを使用することの欠点は、すべてが機能する必要があることです。そのため、vdevを追加することで、実際には、安全マージンが減少します。ただし、プールの断片的な部分を大きくする方がはるかに簡単です。デバイスをインプレースで交換することは、基本的に反対です。多くのvdevを機能させ続ける必要はありませんが、プールの断片を大きくするのは簡単ではありません。

率直に言って、回転ハードディスクを使用していることを一瞬仮定すると(これは大容量ストレージのように見えるため)、20 TBは、単一のvdevプールの理由で十分ですあなたの状況での私の提案は、8つのドライブを6台取得することですTB=さまざまなドライブを1台にセットアップするraidz2 vdev。これにより、約32 TBの正味ストレージ容量が得られるため、最初は約35%の空き容量が残り、データが重大なリスクにさらされる前に2つのドライブを失う可能性があります。実行を検討することもできます。 8 6 TB約36のネットストレージ容量のドライブTBで、45%の空き容量で開始します。(6-8台のドライブをraidz1の場合は少し大きくなりますが、raidz2の場合は問題ありません。)次に、これらのドライブを4〜5年のスケジュールで(摩耗のため)、またはプールが約80%を超えたときに(ZFSが非常に多いため)交換することを計画します。十分なヘッドルームがある場合は、より幸せです。数値が正確な場合は、代わりにこれらのドライブは、プールがいっぱいになり始める前に磨耗するため、容量を確保しながら、ストレージのニーズが予想外に大きくなることを許容します。ドライブを交換するとき、現在の使用状況に基づいて、取得したプールサイズに満足するか、またはより大きなドライブを取得してプールを拡張するかを決定できます。

3
a CVn

Zfs(およびbtrfs、lvm2)でのスペースの追加は簡単です

zpool add $POOL mirror $A $B

https://docs.Oracle.com/cd/E53394_01/html/E54801/gayrd.html#scrolltoc

2
user1133275