質問: freebsd zfs2ディスクのミラーリングされていないプールをミラーリングされたものに変換する storageと呼ばれるストレージプールがあり、その中に2つのディスクがあります。もともと、2番目のディスクをミラーとして追加したかったのですが、zfsの初心者がzpool add storage <device>の代わりにzpool attach storage <device>を使用するという間違いを犯しました。zfsが冗長ドライブがないことについて文句を言うため、プールから2番目のデバイスをremoveまたはdetachしようとするたびに失敗します。それを読んだ後、私は問題とこれがなぜであるかを理解します。ただし、ドライブを取り外して再接続する方法、またはプール全体をストライプではなくミラーリングに変換する方法を見つけることができませんでした。私はまた、それを行う簡単な方法がないように思われるという事実にも少し戸惑っています。プールを破壊して再作成するというこの不足を達成する方法はありますか?別の4tbドライブを購入して、そのすべてのデータをコピーする必要はありません。
回答: 残念ながら、この時点では、基本的に2つの適切なオプションがあります。 目的の構成でプールを破棄して再作成してから、データを 復元コピー から復元します。 さらに2台のドライブ(既存の各ドライブと同じ最小サイズ)を取得し、プールを2つの単一ディスクではなく2つのミラーリングされたペアに拡張します 後者はインプレースで実行でき、追加のストレージスペースを提供するというボーナスがありますが、ハードウェアを追加購入する必要があります(質問でやりたくないと言った)。前者はインプレースで実行することはできませんが、復元戦略をテストする良い機会を提供します(doは 復元戦略 を持っていると思います) ?)。ご存知のとおり、zfsプール内のjbodコンポーネントを削除することはできません。新しいドライブをaddingするのではなくattachingすることで、jbodを作成しました。複数のディスクがある状況。プールの拡張をdoする場合は、2つのミラーリングされたペアではなくraidz2に拡張することを強く検討することをお勧めします。 (基本的に)同じ使用可能なストレージ容量が得られますが、ペアごとに1つだけではなく、任意の2つのドライブの障害に耐える能力があります。 2つのスパースファイルを使用してraidz2vdevを作成し、それらのファイルを削除してから、データを移行するドライブに置き換えることができます。現在の2ディスクjbodから4ディスクraidz2に移行するには、ディスクを2つ追加するだけです。