ZFS сообщает об ухудшении работоспособности после физического удаления несвязанного жесткого диска с сервера - PullRequest
0 голосов
/ 22 апреля 2020

У меня есть домашний сервер под управлением Debian 10 (Proxmox) на SSD-накопителе NVMe (ext4) и 2 пулах ZFS. Первый пул представляет собой массив Raid Z2 размером 8x8 ТБ с именем vault, а другой - массив RAID 0 2x1 ТБ с именем workspace.

У меня недавно было желание удалить workspace. Я остановил все файловые операции в файловой системе, размонтировал файловую систему, а затем приступил к запуску zfs destroy в пуле. Я физически удалил один из дисков из workspace и перезагрузил компьютер.

Когда я перезагрузился, я ожидал увидеть только пул vault ZFS, и он будет здоров. Однако, когда я проверил, я увидел, что теперь он находится в состоянии DEGRADED.

root@homenas:~# zpool status
  pool: vault
 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 in progress since Tue Apr 21 19:03:01 2020
        2.35T scanned at 6.50G/s, 336G issued at 930M/s, 6.69T total
        0B repaired, 4.91% done, 0 days 01:59:31 to go
config:

        NAME                      STATE     READ WRITE CKSUM
        vault                     DEGRADED     0     0     0
          raidz2-0                DEGRADED     0     0     0
            sda                   ONLINE       0     0     0
            sdb                   ONLINE       0     0     0
            sdc                   ONLINE       0     0     0
            sdd                   ONLINE       0     0     0
            sde                   ONLINE       0     0     0
            sdf                   ONLINE       0     0     0
            15380939428578218220  FAULTED      0     0     0  was /dev/sdi1
            8563980037536059323   UNAVAIL      0     0     0  was /dev/sdj1

errors: No known data errors

Я считаю, что диски могли быть переназначены по разным путям в /dev/sdX. Я не уверен, почему кто-то вышел из строя, а другой - недоступным. Пул vault ZFS все еще активен, и я уже выполняю резервное копирование, чтобы объединить все последние данные на другом носителе.

Однако возможно ли восстановить пул vault и восстановить его работоспособность снова? Если это произошло из-за переключения некоторых дисков после удаления пула workspace, то каков наилучший вариант восстановления массива?

Вот моя информация с fdisk:

root@homenas:~# fdisk -l
Disk /dev/nvme0n1: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: WDBRPG5000ANC-WRSN
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start       End   Sectors   Size Type
/dev/nvme0n1p1      34      2047      2014  1007K BIOS boot
/dev/nvme0n1p2    2048   1050623   1048576   512M EFI System
/dev/nvme0n1p3 1050624 976773134 975722511 465.3G Linux LVM


Disk /dev/sda: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: WDC WD80EMAZ-00W
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sda1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sda9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdb: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdb1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdb9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdc: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdc1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdc9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdd: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdd1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdd9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sde: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sde1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sde9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdf: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdf1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdf9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdg: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: WDC  WDBNCE0010P
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device          Start        End    Sectors   Size Type
/dev/sdg1        2048 1953507327 1953505280 931.5G Solaris /usr & Apple ZFS
/dev/sdg9  1953507328 1953523711      16384     8M Solaris reserved 1


Disk /dev/sdh: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: WDC WD80EMAZ-00W
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdh1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdh9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/sdi: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
Disk model: ST8000DM004-2CX1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: XXXX123

Device           Start         End     Sectors  Size Type
/dev/sdi1         2048 15628036095 15628034048  7.3T Solaris /usr & Apple ZFS
/dev/sdi9  15628036096 15628052479       16384    8M Solaris reserved 1


Disk /dev/mapper/pve-swap: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/pve-root: 96 GiB, 103079215104 bytes, 201326592 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/mapper/pve-vm--100--disk--0: 32 GiB, 34359738368 bytes, 67108864 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Disklabel type: dos
Disk identifier: 0x97e9a0ea

Device                                 Boot Start      End  Sectors Size Id Type
/dev/mapper/pve-vm--100--disk--0-part1 *     2048 67106815 67104768  32G 83 Linux

Я ценю любые информация, которую вы можете предложить.

1 Ответ

0 голосов
/ 22 апреля 2020

Мне удалось решить проблему и восстановить массив RAID в ЗДОРОВОМ состоянии без потери каких-либо данных. Я решил проблему, используя идентификаторы дисков вместо пути к диску, назначенного udev.

. Я приведу нижеприведенные шаги, если кто-нибудь еще столкнется с ошибкой пула ZFS после добавления или удаления несвязанного диска в систему. и определили, что они также создали свой пул, используя пути к дискам, а не идентификаторы stati c первоначально.

  1. Сделайте резервную копию ваших данных; перед продолжением убедитесь, что у вас есть полная копия данных вашего пула.

  2. Остановите все записи в файловую систему (в данном случае я использую Docker):

docker stop $(docker ps -aq)
Размонтирование файловой системы
umount /vault
Экспорт пула ZFS
zpool export vault
В этот раз импортируйте пул ZFS с использованием идентификаторов дисков, а не путей к дискам.
zpool import -d /dev/disk/by-id vault
Проверка состояния пула ZFS. Теперь пул должен выглядеть исправным.
root@homenas:~# zpool status
  pool: vault
 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 73.5M in 0 days 00:00:07 with 0 errors on Wed Apr 22 10:38:47 2020
config:

        NAME                        STATE     READ WRITE CKSUM
        vault                       ONLINE       0     0     0
          raidz2-0                  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0     0
            wwn-0xabcdefghijklmnoq  ONLINE       0     0    25
            wwn-0xabcdefghijklmnoq  ONLINE       0     0    16

errors: No known data errors

Мы видим, что некоторые данные были повторно восстановлены при повторном импорте, но были решены очень быстро, за считанные секунды.

Запустите clear для сброса флагов из ZFS.
zpool clear vault
Запустите scrub, чтобы убедиться, что пул ZFS находится в хорошем состоянии.
zpool scrub vault
Проверьте status, чтобы убедиться, что бассейн ЗДОРОВ..
root@homenas:~# zpool status
  pool: vault
 state: ONLINE
  scan: scrub repaired 0B in 0 days 01:59:47 with 0 errors on Wed Apr 22 12:46:58 2020
config:

        NAME                        STATE     READ WRITE CKSUM
        vault                       ONLINE       0     0     0
          raidz2-0                  ONLINE       0     0     0
            wwn-0x5000cca252de17d4  ONLINE       0     0     0
            wwn-0x5000c500c4e46bf9  ONLINE       0     0     0
            wwn-0x5000c500c4e65198  ONLINE       0     0     0
            wwn-0x5000c500c4e616a4  ONLINE       0     0     0
            wwn-0x5000c500c4ac129e  ONLINE       0     0     0
            wwn-0x5000c500c4e3f74a  ONLINE       0     0     0
            wwn-0x5000cca257eb9299  ONLINE       0     0     0
            wwn-0x5000c500c4e50efc  ONLINE       0     0     0

errors: No known data errors
...