プールからデバイスを削除する方法

プールからデバイスを削除する方法

私はraidzプールに新しいデバイスを追加するときにZFSがこれを自動的に実行する必要があると思いましたが、間違えました。

 :~# zpool status
  pool: data
 state: ONLINE

 scan: resilvered 78,3G in 2h4m with 0 errors on Tue May 10 18:12:31 2016
config:

    NAME         STATE     READ WRITE CKSUM
    data         ONLINE       0     0     0
      raidz2-0   ONLINE       0     0     0
        c2t2d0   ONLINE       0     0     0
        c2t3d0   ONLINE       0     0     0
        c2t4d0   ONLINE       0     0     0
        c2t5d0   ONLINE       0     0     0
        c2t6d0   ONLINE       0     0     0
        c2t7d0   ONLINE       0     0     0
        c2t8d0   ONLINE       0     0     0
        c2t9d0   ONLINE       0     0     0
        c2t10d0  ONLINE       0     0     0
        c2t11d0  ONLINE       0     0     0
      c2t13d0    ONLINE       0     0     0
    spares
      c2t12d0    AVAIL   
      c2t14d0    AVAIL 

c2t13d0はraidzプールにないようですが、そうですか?データプールからどのように削除しますか?

ご協力ありがとうございます。

答え1

あなたはできません。これで、単一ドライブvdevとしてプールに配置されます。プールからvdevを削除できません。

これは悪いニュースです。

raidz2-0より悪いニュースは、vdevとvdevを介して実際にRAID-0があることですc2t13d0。非常に良いではありません。ダブルプラスには良くありません。

あなたのオプションは次のとおりです。

  • あなたが作ったプールで暮らす
  • プールをバックアップ、削除、および再作成および復元します。

どちらのオプションも良くありません。バックアップ/再生/復元の例正しいこれは長期的に見て選択するオプションですが、ダウンタイムに時間がかかります(これを防ぐ唯一の方法は、同じサイズまたはより大きい2番目のプールを作成することですzfs send)。


しかし、重複する問題を解決する1つの方法は、ミラーをvdevに接続することですc2t13d0。寸法が等しい場合は、スペアパーツのいずれかを使用できます。

次のようなものを使用してください。

zpool attach data c2t13d0 anotherdisk

これは理想的なものとは離れていますが、ミラー化されたvdevを使用するRAIDZ2ストライプには冗長性がありますが(まだ面倒ですがデータを消費しません)、単一ドライブを使用するRAIDZ2ストライプにはI(一部のデータ)のみが安定した冗長性がありません。シングルドライブvdevに。これは常にあなたの最も価値があり、置き換えられないデータになります。)

少なくとも今は最初のオプション(「ただそのまま生きてください」)があまり悪くないようになります。長期的にはプールを再建したいと思います。

私はSolarisのマニュアルページにアクセスできませんが、以下はzpoolZFS On Linuxバージョンのマニュアルページからの関連抜粋です(強調のために太字で追加しました)。 Solaris バージョンは同じか非常に似ている必要があります。

zpool attach [-f] [-o property=value] pool device new_device

new_deviceを既存のzpoolデバイスに接続します。既存のデバイスは raidz 構成に含めることはできません。。デバイスが現在のミラー構成の一部ではない場合、デバイスは自動的にデバイスと new_device の双方向ミラーに変換されます。デバイスが双方向ミラーの一部である場合、new_deviceを追加すると3方向ミラーが作成されます。どちらの場合も、new_device は直ちに再同期を開始します。

答え2

そうですね。プールは、ストライプ化された2つのvdev、ディスクc2t13d0、およびraidz2-0で構成されています。

残念ながら、ZFSは(まだ)プールからvdevを削除する機能を提供しません。したがって、唯一のオプションは、プールを削除して再作成してからバックアップから復元することです。

関連情報