web-dev-qa-db-ja.com

ZFS Ubuntu-物理的に移動されたドライブであり、プールによって認識されなくなりました

Ubuntuに2ドライブのZFSミラープールがあります。プールのドライブは/ dev/sdaと/ dev/sdbにありました。さまざまな理由で、/ dev/sdaにあるドライブをサーバーの別のスロットに物理的に移動する必要があったため、Ubuntuはそれを/ dev/sdcにあると認識します。このため、zfsプールはそのドライブを認識しなくなり、プールを劣化としてマークしているようです。 zpool status -x

  pool: data
  state: DEGRADED
  status: One or more devices could not be used because the label is 
          missing or invalid.  Sufficient replicas exist for the pool 
          to continue functioning in a degraded state.
  action: Replace the device using 'zpool replace'.
  see: http://zfsonlinux.org/msg/ZFS-8000-4J
  scan: scrub repaired 0 in 12h56m with 0 errors on Sun Apr  9 
        13:20:15 2017
  config:

    NAME                     STATE     READ WRITE CKSUM
    data                     DEGRADED     0     0     0
      mirror-0               DEGRADED     0     0     0
        9406053825076090209  UNAVAIL      0     0     0  was /dev/sda1
        sdb                  ONLINE       0     0     0

オンラインで見つけたzpool replaceを含むいくつかのコマンドを実行しようとしましたが、/dev/sdc/dev/sdc1)がZFSディスク(パーティション)であることがわかるため、これを実行すると文句を言うようです。

理想的には、不足しているドライブが/dev/sdcにあることをZFSに伝えたいだけです。これにより、プールが元の状態に戻るはずです。別のアイデアは、Linuxにラベル/dev/sda/dev/sdcを交換するように指示することかもしれません-それがクレイジーなアイデアかどうかはわかりません。最悪の場合、zpool replaceにあるものを多かれ少なかれワイプし、そのディスク上のミラーを最初から再構築する/dev/sdcコマンドがあるかもしれません。何が可能/推奨されるかについてのアドバイスを本当にいただければ幸いです-ありがとう!!

2
davewy

USBディスクの挿入のような単純なものでデバイスの名前が変更される可能性があるため、RAWSCSI名の代わりに/ dev/disk-by-id /名を使用することが重要です。

参照してください: 再起動するとZFSミラーの片側が使用できなくなったのはなぜですか?

zpool export dataの後にzpool import dataを続けることができる場合があります。


sda1があるのも心配です。ミラーの反対側が/ dev/sdbの場合は、パーティションを作成しないでください。

1
ewwhite