Пул ZFS НЕИСПРАВЕН – Пул не может быть импортирован из-за поврежденных устройств или данных.

Вопрос или проблема

Я недавно тестировал/запускал ZFS без каких-либо проблем до сегодняшнего дня, когда при проведении планового технического обслуживания сервера (перезагрузка) обнаружил, что пул не работает после перезагрузки.

Я пытался принудительно импортировать, но, как я вижу ниже, указано Пул не может быть импортирован из-за поврежденных устройств или данных, это действительно правда на 100%?

Проблем с SMART на любом диске не обнаружено.

   pool: pool-data
     id: 14453175902998199895
  state: FAULTED
status: Метаинформация пула повреждена.
 action: Пул не может быть импортирован из-за поврежденных устройств или данных.
        Пул может быть активен на другой системе, но может быть импортирован с использованием
        флага '-f'.
   см.: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-72
 config:

        pool-data   FAULTED  поврежденные данные
          raidz1-0  ONLINE
            sdc     ONLINE
            sdi     ONLINE
            sdb     ONLINE
            sdj     ONLINE
            sdd     ONLINE
            sde     ONLINE
            sdf     ONLINE
            sdg     ONLINE
            sdk     ONLINE
            sdh     ONLINE
zdb
pool-data:
    version: 5000
    name: 'pool-data'
    state: 0
    txg: 519077
    pool_guid: 14453175902998199895
    errata: 0
    hostid: 1738607750
    hostname: 'NAS-01'
    com.delphix:has_per_vdev_zaps
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 14453175902998199895
        create_txg: 4
        children[0]:
            type: 'raidz'
            id: 0
            guid: 4655233045005615974
            nparity: 1
            metaslab_array: 128
            metaslab_shift: 34
            ashift: 9
            asize: 100008161443840
            is_log: 0
            create_txg: 4
            com.delphix:vdev_zap_top: 65
            children[0]:
                type: 'disk'
                id: 0
                guid: 1507687035392982689
                path: '/dev/sdc1'
                devid: 'ata-HGST_HUH721010ALE604_2YGPR21D-part1'
                phys_path: 'pci-0000:05:00.0-ata-2.0'
                whole_disk: 1
                DTL: 398
                create_txg: 4
                com.delphix:vdev_zap_leaf: 66
            children[1]:
                type: 'disk'
                id: 1
                guid: 16752044042809806952
                path: '/dev/sdd1'
                devid: 'ata-HGST_HUH721010ALE604_7JKK83XC-part1'
                phys_path: 'pci-0000:04:00.0-ata-1.0'
                whole_disk: 1
                DTL: 397
                create_txg: 4
                com.delphix:vdev_zap_leaf: 67
            children[2]:
                type: 'disk'
                id: 2
                guid: 14913161468002727643
                path: '/dev/sdb1'
                devid: 'ata-HGST_HUH721010ALE604_2TKY354D-part1'
                phys_path: 'pci-0000:00:1f.2-ata-2.0'
                whole_disk: 1
                DTL: 396
                create_txg: 4
                com.delphix:vdev_zap_leaf: 68
            children[3]:
                type: 'disk'
                id: 3
                guid: 7507268696590144628
                path: '/dev/sde1'
                devid: 'ata-HGST_HUH721010ALE604_7JKW16BC-part1'
                phys_path: 'pci-0000:06:00.0-ata-2.0'
                whole_disk: 1
                DTL: 395
                create_txg: 4
                com.delphix:vdev_zap_leaf: 69
            children[4]:
                type: 'disk'
                id: 4
                guid: 1678307232513936730
                path: '/dev/sdf1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCG3WR8N-part1'
                phys_path: 'pci-0000:05:00.0-ata-1.0'
                whole_disk: 1
                DTL: 394
                create_txg: 4
                com.delphix:vdev_zap_leaf: 70
            children[5]:
                type: 'disk'
                id: 5
                guid: 9207660239927187273
                path: '/dev/sdg1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCG4PR1N-part1'
                phys_path: 'pci-0000:03:00.0-ata-2.0'
                whole_disk: 1
                DTL: 393
                create_txg: 4
                com.delphix:vdev_zap_leaf: 71
            children[6]:
                type: 'disk'
                id: 6
                guid: 4690065413242099082
                path: '/dev/sdh1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCG6929N-part1'
                phys_path: 'pci-0000:03:00.0-ata-1.0'
                whole_disk: 1
                DTL: 392
                create_txg: 4
                com.delphix:vdev_zap_leaf: 72
            children[7]:
                type: 'disk'
                id: 7
                guid: 18184749073390403542
                path: '/dev/sdi1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCGXPVUP-part1'
                phys_path: 'pci-0000:00:1f.2-ata-1.0'
                whole_disk: 1
                DTL: 391
                create_txg: 4
                com.delphix:vdev_zap_leaf: 73
            children[8]:
                type: 'disk'
                id: 8
                guid: 6330580480364133578
                path: '/dev/sdk1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCJMSNYP-part1'
                phys_path: 'pci-0000:04:00.0-ata-2.0'
                whole_disk: 1
                DTL: 388
                create_txg: 4
                com.delphix:vdev_zap_leaf: 74
            children[9]:
                type: 'disk'
                id: 9
                guid: 15327784406027912491
                path: '/dev/sdj1'
                devid: 'ata-WDC_WD102KFBX-68M95N0_VCHG44TP-part1'
                phys_path: 'pci-0000:06:00.0-ata-1.0'
                whole_disk: 1
                DTL: 385
                create_txg: 4
                com.delphix:vdev_zap_leaf: 75
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
zdb -l /dev/sdb1
------------------------------------
LABEL 0
------------------------------------
    version: 5000
    name: 'pool-data'
    state: 0
    txg: 519077
    pool_guid: 14453175902998199895
    errata: 0
    hostid: 1738607750
    hostname: 'NAS-01'
    top_guid: 4655233045005615974
    guid: 14913161468002727643
    vdev_children: 1
    vdev_tree:
        type: 'raidz'
        id: 0
        guid: 4655233045005615974
        nparity: 1
        metaslab_array: 128
        metaslab_shift: 34
        ashift: 9
        asize: 100008161443840
        is_log: 0
        create_txg: 4
        children[0]:
            type: 'disk'
            id: 0
            guid: 1507687035392982689
            path: '/dev/sdc1'
            devid: 'ata-HGST_HUH721010ALE604_2YGPR21D-part1'
            phys_path: 'pci-0000:05:00.0-ata-2.0'
            whole_disk: 1
            DTL: 398
            create_txg: 4
        children[1]:
            type: 'disk'
            id: 1
            guid: 16752044042809806952
            path: '/dev/sdd1'
            devid: 'ata-HGST_HUH721010ALE604_7JKK83XC-part1'
            phys_path: 'pci-0000:04:00.0-ata-1.0'
            whole_disk: 1
            DTL: 397
            create_txg: 4
        children[2]:
            type: 'disk'
            id: 2
            guid: 14913161468002727643
            path: '/dev/sdb1'
            devid: 'ata-HGST_HUH721010ALE604_2TKY354D-part1'
            phys_path: 'pci-0000:00:1f.2-ata-2.0'
            whole_disk: 1
            DTL: 396
            create_txg: 4
        children[3]:
            type: 'disk'
            id: 3
            guid: 7507268696590144628
            path: '/dev/sde1'
            devid: 'ata-HGST_HUH721010ALE604_7JKW16BC-part1'
            phys_path: 'pci-0000:06:00.0-ata-2.0'
            whole_disk: 1
            DTL: 395
            create_txg: 4
        children[4]:
            type: 'disk'
            id: 4
            guid: 1678307232513936730
            path: '/dev/sdf1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCG3WR8N-part1'
            phys_path: 'pci-0000:05:00.0-ata-1.0'
            whole_disk: 1
            DTL: 394
            create_txg: 4
        children[5]:
            type: 'disk'
            id: 5
            guid: 9207660239927187273
            path: '/dev/sdg1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCG4PR1N-part1'
            phys_path: 'pci-0000:03:00.0-ata-2.0'
            whole_disk: 1
            DTL: 393
            create_txg: 4
        children[6]:
            type: 'disk'
            id: 6
            guid: 4690065413242099082
            path: '/dev/sdh1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCG6929N-part1'
            phys_path: 'pci-0000:03:00.0-ata-1.0'
            whole_disk: 1
            DTL: 392
            create_txg: 4
        children[7]:
            type: 'disk'
            id: 7
            guid: 18184749073390403542
            path: '/dev/sdi1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCGXPVUP-part1'
            phys_path: 'pci-0000:00:1f.2-ata-1.0'
            whole_disk: 1
            DTL: 391
            create_txg: 4
        children[8]:
            type: 'disk'
            id: 8
            guid: 6330580480364133578
            path: '/dev/sdk1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCJMSNYP-part1'
            phys_path: 'pci-0000:04:00.0-ata-2.0'
            whole_disk: 1
            DTL: 388
            create_txg: 4
        children[9]:
            type: 'disk'
            id: 9
            guid: 15327784406027912491
            path: '/dev/sdj1'
            devid: 'ata-WDC_WD102KFBX-68M95N0_VCHG44TP-part1'
            phys_path: 'pci-0000:06:00.0-ata-1.0'
            whole_disk: 1
            DTL: 385
            create_txg: 4
    features_for_read:
        com.delphix:hole_birth
        com.delphix:embedded_data
    labels = 0 1 2 3
Операционная система: Debian GNU/Linux 12 (bookworm)
Ядро: Linux 6.1.0-30-amd64
Архитектура: x86-64
zfs-2.1.11-1+deb12u1
zfs-kmod-2.1.11-1+deb12u1

Ответ или решение

Теория

ZFS (Zettabyte File System) — это усовершенствованная файловая система с функциями управления томами, первоначально разработанная Sun Microsystems. Она имеет множество преимуществ, таких как целостность данных, защита от повреждений, эффективно выполняет активацию снимков и клонирование. Однако, как и любая другая система, она не застрахована от неисправностей, особенно при работе на уровне оборудования или в случае неожиданного отключения питания.

Состояние FAULTED по отношению к ZFS pool указывает на серьезные проблемы, такие как повреждение метаданных, которые не позволяют импортировать пул. В вашем случае, несмотря на то, что все устройства RAIDZ1-0 находятся в состоянии ONLINE, сама конфигурация пула FAULTED, что указывает на повреждение метаданных.

Пример

Вы столкнулись с ситуацией, когда после простого перезагрузки сервера ZFS pool перестал работать. Это типичный сценарий, особенно если не были предприняты меры по защите от сбоя электропитания или если произошли незаметные аппаратные сбои. В вашем случае, несмотря на то, что SMART-отчеты показывают, что все диски в норме, метаданные самого пула оказались повреждены. Стандартными средствами восстановления такие повреждения устранить сложно, и принудительный импорт пула может быть рискованным, поскольку может привести к потере данных, если будет выполнен без должной подготовки.

Применение

  1. Резервное копирование: Перед выполнением каких-либо восстановительных действий рекомендуется создать резервные копии данных с дисков, если это возможно. Такие действия можно сделать с использованием dd или другого инструмента для побайтного копирования, чтобы иметь возможность вернуться к исходному состоянию.

  2. Идентификация проблемы: Внимательно изучите вывод zdb, чтобы понять, какие части метаданных повреждены. Это может быть связано с конкретными областями диска, которые стоит проверить. Например, можно воспользоваться утилитами для проверки состояния файловой системы или физического расположения дисков.

  3. Принудительный импорт пула: Если резервное копирование произведено и все альтернативные решения исчерпаны, можно попытаться выполнить принудительный импорт пула с флагом -f. Имейте в виду, что это может привести к необратимой потере данных. Убедитесь, что сервер и все его компоненты полностью исправны, включая наличие источника бесперебойного питания и стабильность электричества.

  4. Восстановление данных: Если принудительный импорт привел к частичному восстановлению пула, стоит сразу же скопировать все доступные данные на другой носитель. После этого можно попробовать восстановить оставшиеся данные специальными утилитами восстановления для ZFS или воспользоваться услугами специализированных компаний.

  5. Проверка оборудования: Проверьте, не произошла ли ошибка из-за аппаратных проблем, даже если результаты SMART-тестов нормальные. Проблемы могут крыться в материнской плате, соединениях контроллера или других компонентах. Возможно, имеет смысл заменить кабели SATA, проверить работу контроллера и другие аппаратные аспекты.

  6. Профилактика: Чтобы избежать подобных ситуаций в будущем, настоятельно рекомендуется регулярно создавать моментальные снимки (snapshots) и поддерживать актуальную резервную копию данных. Настройте мониторинг системы для постоянного наблюдения за состоянием пула и устройствами.

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

Оцените материал
Добавить комментарий

Капча загружается...