zpool raidz2を拡張するには、より大きなディスクを使用しますか?

zpool raidz2を拡張するには、より大きなディスクを使用しますか?

私はRaidZ2がインストールされたLinux PCを持っており、それぞれ3Tずつ6つ以上のディスクを持っています。ディスクは複数のパーティション間で共有されます。 zpoolは各ディスクのセクション6にのみあります。異なるパーティションは異なる用途に使用されます。

6x4Tを購入する予定です。

私の計画は次のとおりです。

  • ZFSサポートなしでLive CDを起動する
  • 各3Tディスクを4Tディスクにコピー
  • 各4Tディスクに新しいパーティション番号18を作成します。
  • 一般システムの再起動
  • 私のzpoolをすべてのパーティションに拡張18

動作しますか? 6つのパーティションsda18 ... sdf18セットを使用してプールを拡張するコマンドは何ですか?

これが不可能な場合は、気に入らない代替方法があります。パーティション 18 をできるだけ大きく (おそらく 1T) 作成し、sd[abcdef]6 を sd[abcdef]18 にダンプし、sd[abcdef]6 を消去してから、以前よりも大きいパーティションで zpool を拡張する必要があります。

ありがとう

ベストアンサー1

3Tドライブを4Tドライブに複製したら、新しいパーティションを追加しないで、既存のZFSパーティションのサイズを変更してください。

sd[a-f]6計画どおりにパーティションを追加するのを防ぐことはできませんが、そうすると、zfsはディスクヘッドをドライブの中央(既存のパーティション)からドライブの最後まで前後に移動するのに多くの時間を無駄にするので、パフォーマンスがひどくなります。ドライブ(新しいsd[a-f]18パーティション)。 1つのraidz6 vdevの代わりに、実際には2つのraidz6 vdevであるraid-0プールがあります。

ZFSパーティションの後にディスクに別のパーティションがある場合は、そのパーティションをドライブの端に移動してZFSパーティションのスペースを解放し、zfsパーティションを拡張します。 Live CDやUSBなどで再起動します。gparted(例:リカバリCD/USBなど)割れた)この点が良いです。

または、ZFSパーティションを別のパーティションに移動し、別のパーティションをZFSパーティションと同じ場所に移動してから、ZFSパーティションを再度移動し、最後にZFSパーティションのサイズを変更します。作業が多く、時間もかかります。たくさん時間がかかり(すべてダウンタイム!)、移動されたすべてのパーティションの名前が変更されるか、番号が変更される可能性があるため、関連する構成を更新する必要があります。唯一の実際の利点は、より大きなドライブを取得した場合、後でzfsパーティションを再拡張する方が簡単です。

再起動後、各パーティションでzpool offline pool partition次を使用して、zpool online -e pool partition使用可能なすべてのスペースを使用するようにプールを拡張できます。

重要:やる両方一度に1パーティションずつコマンドを実行します。するいいえ同時に複数のパーティションをオフラインにします。例えば

for p in sd[abcdef]6; do
  zpool offline pool "$p"
  zpool online -e pool "$p"
done

からman zpool-online

-e 利用可能なすべてのスペースを使用するには、デバイスを拡張します。デバイスがミラーまたはraidzの一部である場合は、新しいスペースをプールに使用できるようにする前に、すべてのデバイスを拡張する必要があります。

実際に引用されたテキストは不完全です。 「デバイスがミラーまたはraidzの一部である場合」のように話す必要があります。仮想デバイスその後、すべてのデバイスそのvdevからプールで新しいスペースを使用する前に、拡張作業を実行する必要がありました。 」

つまり、複数のvdev(複数のミラーvdevおよび/または複数のraidz vdev)を持つプールがある場合、vdevは個別に拡張できます。

おすすめ記事