Назад | Перейти на главную страницу

Пул исчез с обновлением до Ubuntu 20.04

Я обновил свой сервер (SuperMicro X11-SSM-F, LSI SAS 9211-8i) с Ubuntu 18.04 до 20.04. На сервере было 2 zpools, один из которых состоял из одного WD Red 10 ТБ (пул загрузки), а другой состоял из 8 WD Red 10 ТБ и 2 Seagate IronWolf 8 ТБ, расположенных в зеркалах 5x2 (masterpool). Пулы были созданы с использованием /dev/disk/by-id ссылки, чтобы быть стабильными после перезапуска. Бассейны чистятся регулярно, и последняя чистка была пару недель назад и не показала никаких ошибок.

Когда я перезагрузился после обновления до Ubuntu 20.04, второй пул (masterpool) исчез. После запуска zfs import, он повторно импортировал его, но с помощью sdX ссылки на большинство дисков (WD Reds, но не Seagates). Кроме того, пул с единственным WD Red был в порядке и ссылался на свой диск по идентификатору. Выход zpool status для masterpool выглядел примерно так (это по памяти):

    NAME                                  STATE     READ WRITE CKSUM
    masterpool                            ONLINE       0     0     0
      mirror-0                            ONLINE       0     0     0
        sdb                               ONLINE       0     0     0
        sdk                               ONLINE       0     0     0
      mirror-1                            ONLINE       0     0     0
        sdi                               ONLINE       0     0     0
        sdf                               ONLINE       0     0     0
      mirror-2                            ONLINE       0     0     0
        sdd                               ONLINE       0     0     0
        sde                               ONLINE       0     0     0
      mirror-3                            ONLINE       0     0     0
        sdh                               ONLINE       0     0     0
        sdc                               ONLINE       0     0     0
      mirror-4                            ONLINE       0     0     0
        ata-ST8000VN0022-2EL112_ZA17FZXF  ONLINE       0     0     0
        ata-ST8000VN0022-2EL112_ZA17H5D3  ONLINE       0     0     0

Это не идеально, потому что эти идентификаторы нестабильны, поэтому, немного посмотрев в сети, я повторно экспортировал пул и запустил zpool import -d /dev/disk/by-id masterpool.

Но теперь zpool сообщает мне, что есть ошибки контрольной суммы:

    NAME                                  STATE     READ WRITE CKSUM
    masterpool                            ONLINE       0     0     0
      mirror-0                            ONLINE       0     0     0
        wwn-0x5000cca26af27d8b            ONLINE       0     0     2
        wwn-0x5000cca273ee8907            ONLINE       0     0     0
      mirror-1                            ONLINE       0     0     0
        wwn-0x5000cca26aeb9280            ONLINE       0     0     8
        wwn-0x5000cca273eeaed7            ONLINE       0     0     0
      mirror-2                            ONLINE       0     0     0
        wwn-0x5000cca273c21a05            ONLINE       0     0     0
        wwn-0x5000cca267eaa17a            ONLINE       0     0     0
      mirror-3                            ONLINE       0     0     0
        wwn-0x5000cca26af7e655            ONLINE       0     0     0
        wwn-0x5000cca273c099dd            ONLINE       0     0     0
      mirror-4                            ONLINE       0     0     0
        ata-ST8000VN0022-2EL112_ZA17FZXF  ONLINE       0     0     0
        ata-ST8000VN0022-2EL112_ZA17H5D3  ONLINE       0     0     0

Итак, я запустил скраб, и zfs обнаружил еще несколько ошибок контрольной суммы:

  pool: masterpool
 state: DEGRADED
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: scrub in progress since Fri May 22 21:47:34 2020
        27.1T scanned at 600M/s, 27.0T issued at 597M/s, 31.1T total
        112K repaired, 86.73% done, 0 days 02:00:45 to go
config:

        NAME                                  STATE     READ WRITE CKSUM
        masterpool                            DEGRADED     0     0     0
          mirror-0                            DEGRADED     0     0     0
            wwn-0x5000cca26af27d8b            DEGRADED     0     0    15  too many errors  (repairing)
            wwn-0x5000cca273ee8907            ONLINE       0     0     0
          mirror-1                            DEGRADED     0     0     0
            wwn-0x5000cca26aeb9280            DEGRADED     0     0    18  too many errors  (repairing)
            wwn-0x5000cca273eeaed7            ONLINE       0     0     0
          mirror-2                            ONLINE       0     0     0
            wwn-0x5000cca273c21a05            ONLINE       0     0     0
            wwn-0x5000cca267eaa17a            ONLINE       0     0     0
          mirror-3                            ONLINE       0     0     0
            wwn-0x5000cca26af7e655            ONLINE       0     0     0
            wwn-0x5000cca273c099dd            ONLINE       0     0     0
          mirror-4                            ONLINE       0     0     0
            ata-ST8000VN0022-2EL112_ZA17FZXF  ONLINE       0     0     0
            ata-ST8000VN0022-2EL112_ZA17H5D3  ONLINE       0     0     0

Как ни странно, smartctl не показывает ничего неправильного в данных интеллектуального мониторинга (аналогичный вывод для обоих дисков, только показывает один):

$ sudo smartctl /dev/disk/by-id/wwn-0x5000cca26aeb9280 -a
...
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000b   100   100   016    Pre-fail  Always       -       0
  2 Throughput_Performance  0x0004   129   129   054    Old_age   Offline      -       112
  3 Spin_Up_Time            0x0007   153   153   024    Pre-fail  Always       -       431 (Average 430)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       31
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000a   100   100   067    Old_age   Always       -       0
  8 Seek_Time_Performance   0x0004   128   128   020    Old_age   Offline      -       18
  9 Power_On_Hours          0x0012   098   098   000    Old_age   Always       -       15474
 10 Spin_Retry_Count        0x0012   100   100   060    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       31
 22 Helium_Level            0x0023   100   100   025    Pre-fail  Always       -       100
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       664
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       664
194 Temperature_Celsius     0x0002   158   158   000    Old_age   Always       -       41 (Min/Max 16/41)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0022   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0008   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x000a   200   200   000    Old_age   Always       -       0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%        19         -
# 2  Short offline       Completed without error       00%         0         -

...

Кроме того, я заметил, что многие псевдонимы в /dev/disk/by-id ушли (все ata-* для WD Reds, кроме одинокого в облачном бассейне):

# ls /dev/disk/by-id/ -l
total 0
lrwxrwxrwx 1 root root  9 May 22 23:19 ata-Samsung_SSD_850_EVO_500GB_S2RANX0H608885H -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 ata-Samsung_SSD_850_EVO_500GB_S2RANX0H608885H-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 May 23 01:28 ata-ST8000VN0022-2EL112_ZA17FZXF -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 ata-ST8000VN0022-2EL112_ZA17FZXF-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 ata-ST8000VN0022-2EL112_ZA17FZXF-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 ata-ST8000VN0022-2EL112_ZA17H5D3 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 ata-ST8000VN0022-2EL112_ZA17H5D3-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 ata-ST8000VN0022-2EL112_ZA17H5D3-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 22 23:21 ata-WDC_WD100EFAX-68LHPN0_2YG1R7PD -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 ata-WDC_WD100EFAX-68LHPN0_2YG1R7PD-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 ata-WDC_WD100EFAX-68LHPN0_2YG1R7PD-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 22 23:19 scsi-0ATA_Samsung_SSD_850_S2RANX0H608885H -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 scsi-0ATA_Samsung_SSD_850_S2RANX0H608885H-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 May 23 01:28 scsi-0ATA_ST8000VN0022-2EL_ZA17FZXF -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-0ATA_ST8000VN0022-2EL_ZA17FZXF-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-0ATA_ST8000VN0022-2EL_ZA17FZXF-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 scsi-0ATA_ST8000VN0022-2EL_ZA17H5D3 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-0ATA_ST8000VN0022-2EL_ZA17H5D3-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-0ATA_ST8000VN0022-2EL_ZA17H5D3-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 22 23:21 scsi-0ATA_WDC_WD100EFAX-68_2YG1R7PD -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-0ATA_WDC_WD100EFAX-68_2YG1R7PD-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-0ATA_WDC_WD100EFAX-68_2YG1R7PD-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 22 23:19 scsi-1ATA_Samsung_SSD_850_EVO_500GB_S2RANX0H608885H -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 scsi-1ATA_Samsung_SSD_850_EVO_500GB_S2RANX0H608885H-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 May 23 01:28 scsi-1ATA_ST8000VN0022-2EL112_ZA17FZXF -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-1ATA_ST8000VN0022-2EL112_ZA17FZXF-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-1ATA_ST8000VN0022-2EL112_ZA17FZXF-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 scsi-1ATA_ST8000VN0022-2EL112_ZA17H5D3 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-1ATA_ST8000VN0022-2EL112_ZA17H5D3-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-1ATA_ST8000VN0022-2EL112_ZA17H5D3-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 22 23:21 scsi-1ATA_WDC_WD100EFAX-68LHPN0_2YG1R7PD -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-1ATA_WDC_WD100EFAX-68LHPN0_2YG1R7PD-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-1ATA_WDC_WD100EFAX-68LHPN0_2YG1R7PD-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 23 01:28 scsi-35000c500a2e631c6 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-35000c500a2e631c6-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-35000c500a2e631c6-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 scsi-35000c500a2edebe0 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-35000c500a2edebe0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-35000c500a2edebe0-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 23 00:38 scsi-35000cca267eaa17a -> ../../sdg
lrwxrwxrwx 1 root root 10 May 23 00:38 scsi-35000cca267eaa17a-part1 -> ../../sdg1
lrwxrwxrwx 1 root root 10 May 23 00:38 scsi-35000cca267eaa17a-part9 -> ../../sdg9
lrwxrwxrwx 1 root root  9 May 23 01:20 scsi-35000cca26aeb9280 -> ../../sdl
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-35000cca26aeb9280-part1 -> ../../sdl1
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-35000cca26aeb9280-part9 -> ../../sdl9
lrwxrwxrwx 1 root root  9 May 23 01:20 scsi-35000cca26af27d8b -> ../../sdk
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-35000cca26af27d8b-part1 -> ../../sdk1
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-35000cca26af27d8b-part9 -> ../../sdk9
lrwxrwxrwx 1 root root  9 May 23 02:35 scsi-35000cca26af7e655 -> ../../sdi
lrwxrwxrwx 1 root root 10 May 23 02:35 scsi-35000cca26af7e655-part1 -> ../../sdi1
lrwxrwxrwx 1 root root 10 May 23 02:35 scsi-35000cca26af7e655-part9 -> ../../sdi9
lrwxrwxrwx 1 root root  9 May 23 00:35 scsi-35000cca273c099dd -> ../../sdf
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-35000cca273c099dd-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-35000cca273c099dd-part9 -> ../../sdf9
lrwxrwxrwx 1 root root  9 May 22 23:21 scsi-35000cca273c0c7e3 -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-35000cca273c0c7e3-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-35000cca273c0c7e3-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 23 03:01 scsi-35000cca273c21a05 -> ../../sdj
lrwxrwxrwx 1 root root 10 May 23 03:01 scsi-35000cca273c21a05-part1 -> ../../sdj1
lrwxrwxrwx 1 root root 10 May 23 03:01 scsi-35000cca273c21a05-part9 -> ../../sdj9
lrwxrwxrwx 1 root root  9 May 23 00:35 scsi-35000cca273ee8907 -> ../../sde
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-35000cca273ee8907-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-35000cca273ee8907-part9 -> ../../sde9
lrwxrwxrwx 1 root root  9 May 23 00:04 scsi-35000cca273eeaed7 -> ../../sdh
lrwxrwxrwx 1 root root 10 May 23 00:04 scsi-35000cca273eeaed7-part1 -> ../../sdh1
lrwxrwxrwx 1 root root 10 May 23 00:04 scsi-35000cca273eeaed7-part9 -> ../../sdh9
lrwxrwxrwx 1 root root  9 May 22 23:19 scsi-35002538d40f8ba4c -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 scsi-35002538d40f8ba4c-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 May 22 23:19 scsi-SATA_Samsung_SSD_850_S2RANX0H608885H -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 scsi-SATA_Samsung_SSD_850_S2RANX0H608885H-part1 -> ../../sda1
lrwxrwxrwx 1 root root  9 May 23 01:28 scsi-SATA_ST8000VN0022-2EL_ZA17FZXF -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-SATA_ST8000VN0022-2EL_ZA17FZXF-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 scsi-SATA_ST8000VN0022-2EL_ZA17FZXF-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 scsi-SATA_ST8000VN0022-2EL_ZA17H5D3 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-SATA_ST8000VN0022-2EL_ZA17H5D3-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 scsi-SATA_ST8000VN0022-2EL_ZA17H5D3-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TK2VELD -> ../../sdl
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TK2VELD-part1 -> ../../sdl1
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TK2VELD-part9 -> ../../sdl9
lrwxrwxrwx 1 root root  9 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TKL26ZD -> ../../sdk
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TKL26ZD-part1 -> ../../sdk1
lrwxrwxrwx 1 root root 10 May 23 01:20 scsi-SATA_WDC_WD100EFAX-68_2TKL26ZD-part9 -> ../../sdk9
lrwxrwxrwx 1 root root  9 May 23 02:35 scsi-SATA_WDC_WD100EFAX-68_2TKYZ3ND -> ../../sdi
lrwxrwxrwx 1 root root 10 May 23 02:35 scsi-SATA_WDC_WD100EFAX-68_2TKYZ3ND-part1 -> ../../sdi1
lrwxrwxrwx 1 root root 10 May 23 02:35 scsi-SATA_WDC_WD100EFAX-68_2TKYZ3ND-part9 -> ../../sdi9
lrwxrwxrwx 1 root root  9 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YG19ZMD -> ../../sdf
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YG19ZMD-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YG19ZMD-part9 -> ../../sdf9
lrwxrwxrwx 1 root root  9 May 22 23:21 scsi-SATA_WDC_WD100EFAX-68_2YG1R7PD -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-SATA_WDC_WD100EFAX-68_2YG1R7PD-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 scsi-SATA_WDC_WD100EFAX-68_2YG1R7PD-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 23 03:01 scsi-SATA_WDC_WD100EFAX-68_2YG4MA0D -> ../../sdj
lrwxrwxrwx 1 root root 10 May 23 03:01 scsi-SATA_WDC_WD100EFAX-68_2YG4MA0D-part1 -> ../../sdj1
lrwxrwxrwx 1 root root 10 May 23 03:01 scsi-SATA_WDC_WD100EFAX-68_2YG4MA0D-part9 -> ../../sdj9
lrwxrwxrwx 1 root root  9 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YK9BHKD -> ../../sde
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YK9BHKD-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 May 23 00:35 scsi-SATA_WDC_WD100EFAX-68_2YK9BHKD-part9 -> ../../sde9
lrwxrwxrwx 1 root root  9 May 23 00:04 scsi-SATA_WDC_WD100EFAX-68_2YK9PKUD -> ../../sdh
lrwxrwxrwx 1 root root 10 May 23 00:04 scsi-SATA_WDC_WD100EFAX-68_2YK9PKUD-part1 -> ../../sdh1
lrwxrwxrwx 1 root root 10 May 23 00:04 scsi-SATA_WDC_WD100EFAX-68_2YK9PKUD-part9 -> ../../sdh9
lrwxrwxrwx 1 root root  9 May 23 00:38 scsi-SATA_WDC_WD100EFAX-68_JEK0T76Z -> ../../sdg
lrwxrwxrwx 1 root root 10 May 23 00:38 scsi-SATA_WDC_WD100EFAX-68_JEK0T76Z-part1 -> ../../sdg1
lrwxrwxrwx 1 root root 10 May 23 00:38 scsi-SATA_WDC_WD100EFAX-68_JEK0T76Z-part9 -> ../../sdg9
lrwxrwxrwx 1 root root  9 May 23 01:28 wwn-0x5000c500a2e631c6 -> ../../sdc
lrwxrwxrwx 1 root root 10 May 23 01:28 wwn-0x5000c500a2e631c6-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 May 23 01:28 wwn-0x5000c500a2e631c6-part9 -> ../../sdc9
lrwxrwxrwx 1 root root  9 May 23 01:16 wwn-0x5000c500a2edebe0 -> ../../sdb
lrwxrwxrwx 1 root root 10 May 23 01:16 wwn-0x5000c500a2edebe0-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 10 May 23 01:16 wwn-0x5000c500a2edebe0-part9 -> ../../sdb9
lrwxrwxrwx 1 root root  9 May 23 00:38 wwn-0x5000cca267eaa17a -> ../../sdg
lrwxrwxrwx 1 root root 10 May 23 00:38 wwn-0x5000cca267eaa17a-part1 -> ../../sdg1
lrwxrwxrwx 1 root root 10 May 23 00:38 wwn-0x5000cca267eaa17a-part9 -> ../../sdg9
lrwxrwxrwx 1 root root  9 May 23 01:20 wwn-0x5000cca26aeb9280 -> ../../sdl
lrwxrwxrwx 1 root root 10 May 23 01:20 wwn-0x5000cca26aeb9280-part1 -> ../../sdl1
lrwxrwxrwx 1 root root 10 May 23 01:20 wwn-0x5000cca26aeb9280-part9 -> ../../sdl9
lrwxrwxrwx 1 root root  9 May 23 01:20 wwn-0x5000cca26af27d8b -> ../../sdk
lrwxrwxrwx 1 root root 10 May 23 01:20 wwn-0x5000cca26af27d8b-part1 -> ../../sdk1
lrwxrwxrwx 1 root root 10 May 23 01:20 wwn-0x5000cca26af27d8b-part9 -> ../../sdk9
lrwxrwxrwx 1 root root  9 May 23 02:35 wwn-0x5000cca26af7e655 -> ../../sdi
lrwxrwxrwx 1 root root 10 May 23 02:35 wwn-0x5000cca26af7e655-part1 -> ../../sdi1
lrwxrwxrwx 1 root root 10 May 23 02:35 wwn-0x5000cca26af7e655-part9 -> ../../sdi9
lrwxrwxrwx 1 root root  9 May 23 00:35 wwn-0x5000cca273c099dd -> ../../sdf
lrwxrwxrwx 1 root root 10 May 23 00:35 wwn-0x5000cca273c099dd-part1 -> ../../sdf1
lrwxrwxrwx 1 root root 10 May 23 00:35 wwn-0x5000cca273c099dd-part9 -> ../../sdf9
lrwxrwxrwx 1 root root  9 May 22 23:21 wwn-0x5000cca273c0c7e3 -> ../../sdd
lrwxrwxrwx 1 root root 10 May 22 23:21 wwn-0x5000cca273c0c7e3-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 May 22 23:21 wwn-0x5000cca273c0c7e3-part9 -> ../../sdd9
lrwxrwxrwx 1 root root  9 May 23 03:01 wwn-0x5000cca273c21a05 -> ../../sdj
lrwxrwxrwx 1 root root 10 May 23 03:01 wwn-0x5000cca273c21a05-part1 -> ../../sdj1
lrwxrwxrwx 1 root root 10 May 23 03:01 wwn-0x5000cca273c21a05-part9 -> ../../sdj9
lrwxrwxrwx 1 root root  9 May 23 00:35 wwn-0x5000cca273ee8907 -> ../../sde
lrwxrwxrwx 1 root root 10 May 23 00:35 wwn-0x5000cca273ee8907-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 May 23 00:35 wwn-0x5000cca273ee8907-part9 -> ../../sde9
lrwxrwxrwx 1 root root  9 May 23 00:04 wwn-0x5000cca273eeaed7 -> ../../sdh
lrwxrwxrwx 1 root root 10 May 23 00:04 wwn-0x5000cca273eeaed7-part1 -> ../../sdh1
lrwxrwxrwx 1 root root 10 May 23 00:04 wwn-0x5000cca273eeaed7-part9 -> ../../sdh9
lrwxrwxrwx 1 root root  9 May 22 23:19 wwn-0x5002538d40f8ba4c -> ../../sda
lrwxrwxrwx 1 root root 10 May 22 23:19 wwn-0x5002538d40f8ba4c-part1 -> ../../sda1

Так что возникает много вопросов:

1) Почему исчез мой пул? Это потому, что символические ссылки в /dev/disk/by-id/ исчезли, и zfs не смог найти большинство дисков?

2) Беспокоят ли ошибки контрольной суммы? Диски кажутся совершенно здоровыми. Я только что просмотрел пару каталогов и файлов, пока пул был импортирован с sdX ссылки, могло ли это привести к неправильной перезаписи контрольной суммы, если zfs импортировал диски в неправильном порядке?

3) Как получить недостающее /dev/disk/by-id/ata-* символические ссылки назад? Изменилось ли что-то в Ubuntu 20.04, что привело бы к их исчезновению?

4) Я подумал, что было бы неплохо сослаться на мои диски через /dev/disk/by-id/, потому что они будут стабильными. Разве это не лучший способ сделать это?

5) Мне не нравится wwn-* имена, потому что они не описывают меня. Я бы предпочел, чтобы имена отражали серийный номер диска, чтобы я мог легко их идентифицировать, если мне понадобится замена. Я пошел дальше и установил псевдонимы в /dev/disk/by-vdev/ (псевдоним wwn-*), следуя совету в http://kbdone.com/zfs-basics/#Consistent_device_IDs_via_vdev_idconf_file:

$ cat /etc/zfs/vdev_id.conf
alias ST8000VN0022-2EL_ZA17H5D3 /dev/disk/by-id/wwn-0x5000c500a2edebe0
alias ST8000VN0022-2EL_ZA17FZXF /dev/disk/by-id/wwn-0x5000c500a2e631c6
alias WD100EFAX-68_2YG1R7PD /dev/disk/by-id/wwn-0x5000cca273c0c7e3
alias WD100EFAX-68_2YK9BHKD /dev/disk/by-id/wwn-0x5000cca273ee8907
...

Мысли?

Спасибо!

Редактировать: выход из zpool status после завершения чистки:

root@cloud:~# zpool status
  pool: downloadpool
 state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
        still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
        the pool may no longer be accessible by software that does not support
        the features. See zpool-features(5) for details.
  scan: scrub repaired 0B in 0 days 11:33:18 with 0 errors on Sun May 10 11:57:19 2020
config:

        NAME                                  STATE     READ WRITE CKSUM
        downloadpool                          ONLINE       0     0     0
          ata-WDC_WD100EFAX-68LHPN0_2YG1R7PD  ONLINE       0     0     0

errors: No known data errors

  pool: masterpool
 state: DEGRADED
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: scrub repaired 112K in 0 days 15:06:09 with 0 errors on Sat May 23 12:53:43 2020
config:

        NAME                                  STATE     READ WRITE CKSUM
        masterpool                            DEGRADED     0     0     0
          mirror-0                            DEGRADED     0     0     0
            wwn-0x5000cca26af27d8b            DEGRADED     0     0    15  too many errors
            wwn-0x5000cca273ee8907            ONLINE       0     0     0
          mirror-1                            DEGRADED     0     0     0
            wwn-0x5000cca26aeb9280            DEGRADED     0     0    18  too many errors
            wwn-0x5000cca273eeaed7            ONLINE       0     0     0
          mirror-2                            ONLINE       0     0     0
            wwn-0x5000cca273c21a05            ONLINE       0     0     0
            wwn-0x5000cca267eaa17a            ONLINE       0     0     0
          mirror-3                            ONLINE       0     0     0
            wwn-0x5000cca26af7e655            ONLINE       0     0     0
            wwn-0x5000cca273c099dd            ONLINE       0     0     0
          mirror-4                            ONLINE       0     0     0
            ata-ST8000VN0022-2EL112_ZA17FZXF  ONLINE       0     0     0
            ata-ST8000VN0022-2EL112_ZA17H5D3  ONLINE       0     0     0

errors: No known data errors

У меня была точно такая же проблема. Ваш пост помог мне в правильном направлении. Итак, вот мои мысли.

У меня есть 6 дисков, 2 диска в пуле zfs «A», подключенные к контроллеру SATA материнской платы, и 4 диска в пуле zfs «B», подключенные к моему контроллеру LSI SAS 9211. Пулы, в которых настраивается поиск устройств в / dev / disk / by-id.

После обновления с Ubuntu 18.04 до Ubuntu 20.04 идентификаторы устройств всех дисков, подключенных к контроллеру SAS, были изменены с идентификатора устройства ata- * на scsi-SATA *. После перезагрузки сервера пул zfs B отсутствовал, поскольку zfs больше не мог найти идентификаторы устройства во время импорта. Идентификаторы устройств, подключенных к контроллеру SATA на материнской плате, остались прежними. Пул zfs, использующий эти диски, можно было импортировать, и он не пропал после обновления выпуска.

Вот как я исправил недостающий пул B:

Сначала я перечислил все пулы, доступные для импорта:

sudo zpool import

Это перечислило мой отсутствующий пул «B» и все правильные диски в этом пуле, но названные как устройства, перечисленные в / dev. Итак, я импортировал пул, используя идентификаторы устройства, указанные в / dev / disk / by-id. Я получил предупреждение о том, что пул потенциально активен, поэтому мне пришлось принудительно импортировать его с помощью -f, например:

sudo zpool import -f -d /dev/disk/by-id B

И снова все было хорошо. Пул B снова был доступен. Я не экспортировал пул. Я не импортировал пул, не сказав сначала использовать идентификатор устройства. Теперь используются другие идентификаторы устройства: wwn- *

Я промыл бассейн, никаких ошибок не обнаружил.

Чтобы ответить на ваши вопросы:

  1. Я думаю, что обновление выпуска с Ubuntu 18.04 до 20.04 привело к изменению ссылок в / dev / disk / by-id.

  2. Я не импортировал пул со ссылками на / dev, а импортировал с помощью опции -f. В этом будет разница между тем, что вы сделали, и тем, что сделал я. Но я не могу себе представить, что это будет проблемой, если только не используются неправильные диски.

  3. Мне не вернули старый диск по id линкам. Но, импортируя пул с помощью директивы для использования идентификаторов дисков, он использует новые идентификаторы дисков, которых мне достаточно. Мне старые не нужны.

  4. Я по-прежнему считаю хорошей идеей обращаться к дискам через / dev / disk / by-id /. Они стабильны во время перезагрузок и когда диски физически перемещаются по серверу (я это тестировал). Я немного разочарован тем, что обновление релиза нарушит именование идентификаторов дисков. Но я рад, что в моем случае эту проблему удалось решить путем повторного импорта пула.

  5. Та же причина для меня. Спасибо за совет использовать псевдонимы! Возможно, я воспользуюсь этим.