web-dev-qa-db-ja.com

再起動時にZFSプールが劣化する

14ディスクのZFSraidz2プールでUbuntuサーバーをセットアップしています。

約80%の時間、再起動すると、プールが劣化し、2つのディスクが障害としてマークされます。障害が発生したドライブは常に同じであるとは限りませんが、常に正確に2つのドライブです。例えば:

$ Sudo zpool status
  pool: tank
 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: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:

        NAME                      STATE     READ WRITE CKSUM
        tank                      DEGRADED     0     0     0
          raidz2-0                DEGRADED     0     0     0
            sde                   ONLINE       0     0     0
            sdc                   ONLINE       0     0     0
            sdd                   ONLINE       0     0     0
            sda                   ONLINE       0     0     0
            sdh                   ONLINE       0     0     0
            11521322863231878081  FAULTED      0     0     0  was /dev/sdf1
            15273938560620494453  FAULTED      0     0     0  was /dev/sdg1
            sdb                   ONLINE       0     0     0
            sdi                   ONLINE       0     0     0
            sdj                   ONLINE       0     0     0
            sdk                   ONLINE       0     0     0
            sdl                   ONLINE       0     0     0
            sdm                   ONLINE       0     0     0
            sdn                   ONLINE       0     0     0

errors: No known data errors

プールをエクスポートおよび再インポートでき、ディスクに障害が発生しなくなりました。例えば:

$ Sudo zpool export tank
$ Sudo zpool import tank
$ Sudo zpool status
  pool: tank
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
   see: http://zfsonlinux.org/msg/ZFS-8000-9P
  scan: resilvered 4K in 0h0m with 0 errors on Sun Sep 30 23:08:51 2018
config:

        NAME        STATE     READ WRITE CKSUM
        tank        ONLINE       0     0     0
          raidz2-0  ONLINE       0     0     0
            sde     ONLINE       0     0     0
            sdc     ONLINE       0     0     0
            sdd     ONLINE       0     0     0
            sda     ONLINE       0     0     0
            sdh     ONLINE       0     0     0
            sdg     ONLINE       0     0     1
            sdf     ONLINE       0     0     0
            sdb     ONLINE       0     0     0
            sdi     ONLINE       0     0     0
            sdj     ONLINE       0     0     0
            sdk     ONLINE       0     0     0
            sdl     ONLINE       0     0     0
            sdm     ONLINE       0     0     0
            sdn     ONLINE       0     0     0

errors: No known data errors

使用されているHBAは別のサーバーで正常に動作しています。

再起動時にこれらの障害のあるドライブを回避するために他にできることはありますか?スワップインできる別のHBAがあります。

4
David Chappelle

プール構成には/ dev/sdX名を使用しないでください。

CDROMまたはUSBドライブの挿入など、SCSI列挙を変更すると、デバイス名が変更され、エラーが発生する可能性があります。

/ dev/disk/by-id名を使用するオプションがあります。

zpool export tankzpool import -d /dev/disk/by-id tankでこれを行います

5
ewwhite