URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96484
[ Назад ]

Исходное сообщение
"Диск оказался UNAVAIL в ZPOOL"

Отправлено Rom1 , 28-Фев-16 23:18 
Есть RADIZ-массив из 4 дисков в ZFS. Один из дисков вышел в состояние UNAVAIL, хотя диск присутствует в системе, со всеми разделами.
Какую последовательность операций нужно сделать, чтобы вернуть массив к исходному состоянию, без пересборки и потери данных?

# sudo zpool status -v zpool1
  pool: zpool1
state: ONLINE
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: none requested
config:

    NAME                                        STATE     READ WRITE CKSUM
    zpool1                                      ONLINE       0     0     0
      raidz1-0                                  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2  ONLINE       0     0     0
        15430966623886947453                    UNAVAIL      0     0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2  ONLINE       0     0     0

errors: No known data errors



Содержание

Сообщения в этом обсуждении
"Диск оказался UNAVAIL в ZPOOL"
Отправлено universite , 29-Фев-16 04:23 
> Есть RADIZ-массив из 4 дисков в ZFS. Один из дисков вышел в
> состояние UNAVAIL, хотя диск присутствует в системе, со всеми разделами.

Проверить SMART диска. Или диск перестал читаться или там достаточно бэдов.


"Диск оказался UNAVAIL в ZPOOL"
Отправлено Rom1 , 29-Фев-16 07:04 
Да речь не про диск а про ZFS.

"Диск оказался UNAVAIL в ZPOOL"
Отправлено Сергей , 29-Фев-16 12:40 
> Да речь не про диск а про ZFS.

Cначала что дает zpool status -x zpool1,
если уверены что диск хороший, то остановите комп и проверьте кабелечек на диске, ну а  потом уже можно попытаться дать команду zpool online zpool1 ata-TOSHIBA_DT01ACA200_Z2K7A82AS
если все пройдет хорошо zpool clear ...


"Диск оказался UNAVAIL в ZPOOL"
Отправлено universite , 01-Мрт-16 01:41 
>> Да речь не про диск а про ZFS.
> Cначала что дает zpool status -x zpool1,
>  если уверены что диск хороший, то остановите комп и проверьте кабелечек
> на диске, ну а  потом уже можно попытаться дать команду
> zpool online zpool1 ata-TOSHIBA_DT01ACA200_Z2K7A82AS
>  если все пройдет хорошо zpool clear ...

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


"Диск оказался UNAVAIL в ZPOOL"
Отправлено universite , 01-Мрт-16 01:39 
> Да речь не про диск а про ZFS.

Почитай книжку по архитектуре PC.



"Диск оказался UNAVAIL в ZPOOL"
Отправлено eRIC , 29-Фев-16 09:57 
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

"Диск оказался UNAVAIL в ZPOOL"
Отправлено shark Dodson , 01-Мрт-16 11:07 
в идеале reolace сбойный диск

атак - detach, все возможные проверки диска и обратно attach


"Диск оказался UNAVAIL в ZPOOL"
Отправлено _ , 03-Мрт-16 22:46 
> в идеале reolace сбойный диск

Не в идеале, а только так.
> атак - detach, все возможные проверки диска и обратно attach

Ога, ога - на raidz detach :) Пышы ыщщщЁ! :))))


"Диск оказался UNAVAIL в ZPOOL"
Отправлено tonys , 01-Мрт-16 14:58 
raidz не десктопных дисках без tler...
массив будет рассыпаться по любому чиху.

"Диск оказался UNAVAIL в ZPOOL"
Отправлено Rom1 , 04-Мрт-16 12:23 
Я внесу ясность: на материнке всего 4 SATA + 1 внешний E-SATA. Во внутренние SATA воткнуты 3 диска для ZFS и 1 SSD для кэша, а во внешний E-SATA воткнут четвертый диск для ZFS.
Я думаю что его тупо зацепили, когда-то, и он вывалился с массива. А сейчас он виден системой но помечен в ZFS как UNAVAIL.

1. Смогу ли я его "среплейсить" себя на себя?
2. Что с данными на нём? Как поведёт себя ZFS, когда увидит при реплейсе в нём старые данные?


"Диск оказался UNAVAIL в ZPOOL"
Отправлено lavr , 04-Мрт-16 16:56 
> Я внесу ясность: на материнке всего 4 SATA + 1 внешний E-SATA.
> Во внутренние SATA воткнуты 3 диска для ZFS и 1 SSD
> для кэша, а во внешний E-SATA воткнут четвертый диск для ZFS.
> Я думаю что его тупо зацепили, когда-то, и он вывалился с массива.
> А сейчас он виден системой но помечен в ZFS как UNAVAIL.

1. смущает что zpool status -возвращает-> ONLINE

> 1. Смогу ли я его "среплейсить" себя на себя?

это зависит от состояния диска:
a) видит ли его система и
b) может ли с ним работать, если может - посыпался или нет -> smartctl

> 2. Что с данными на нём? Как поведёт себя ZFS, когда увидит
> при реплейсе в нём старые данные?

а что с данными, если никто с ними ничего не делал - на месте, если диск хотя бы
"полужив"

Если Вы хотите чтобы Вам помогли, нужны не слова, а вывод команд: lsblk,
zfs status [-vx], zfs list & etc...

У Вас:

15430966623886947453                    UNAVAIL      0     0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS

если такое появилось, диск либо:
- отвалился, физически недоступен или проблемы
либо
- его выдергивали без offline

zpool был создан по by-id, затем умер или выдернули без offline и заменили
на другой к примеру, zfs его потерял, но остался guid связанный с /dev/disk/by-id

если диск тот же, попробовать вывести в offline и затем в online, предварительно
найдя его в zdb с привязками:

# zdb - поиск 15430966623886947453

может помочь offline -> online, или replace 15430966623886947453 на /dev/disk/by-id/того-что_у_вас_там_в_текущий_момент

есть еще вариант, создать линк на несуществующий:
/dev/disk/by-i/ata-TOSHIBA_DT01ACA200_Z2K7A82AS

zpool import , затем export, затем replace...

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


"Диск оказался UNAVAIL в ZPOOL"
Отправлено lavr , 04-Мрт-16 23:42 
>[оверквотинг удален]
>> 1. Смогу ли я его "среплейсить" себя на себя?
> это зависит от состояния диска:
> a) видит ли его система и
> b) может ли с ним работать, если может - посыпался или нет
> -> smartctl
>> 2. Что с данными на нём? Как поведёт себя ZFS, когда увидит
>> при реплейсе в нём старые данные?
> а что с данными, если никто с ними ничего не делал -
> на месте, если диск хотя бы
> "полужив"

это ж raiz-1 - замена одного диска без проблем


"Диск оказался UNAVAIL в ZPOOL"
Отправлено Rom1 , 05-Мрт-16 08:10 
>> 2. Что с данными на нём? Как поведёт себя ZFS, когда увидит
>> при реплейсе в нём старые данные?
> а что с данными, если никто с ними ничего не делал -
> на месте, если диск хотя бы "полужив"

Я к чему вопрос этот задал - не получу ли я "кашу" из данных, если верну диск, который стал недоступен пол года назад? ZFS корректно отработает данный трюк? Или лучше его раздел затереть нулями?

SMART - в норме всё. Всё как и у остальных 3 дисков.

# zpool status
  pool: zpool1
state: ONLINE
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: none requested
config:

    NAME                                        STATE     READ WRITE CKSUM
    zpool1                                      ONLINE       0     0     0
      raidz1-0                                  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2  ONLINE       0     0     0
        15430966623886947453                    UNAVAIL      0     0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2  ONLINE       0     0     0

errors: No known data errors


# ls -l /dev/disk/by-id/ata-TO*
lrwxrwxrwx 1 root root  9 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS -> ../../sdd
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS-part1 -> ../../sdd1
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS-part2 -> ../../sdd2
lrwxrwxrwx 1 root root  9 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9D75AS -> ../../sdc
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2 -> ../../sdc2
lrwxrwxrwx 1 root root  9 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9E2BAS -> ../../sde
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part1 -> ../../sde1
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2 -> ../../sde2
lrwxrwxrwx 1 root root  9 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS -> ../../sda
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 марта  1 10:40 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2 -> ../../sda2


# zdb
zpool1:
    version: 5000
    name: 'zpool1'
    state: 0
    txg: 10249460
    pool_guid: 1890885385990007722
    errata: 0
    hostid: 8323329
    hostname: '*****-desktop'
    vdev_children: 1
    vdev_tree:
        type: 'root'
        id: 0
        guid: 1890885385990007722
        children[0]:
            type: 'raidz'
            id: 0
            guid: 9680952738007904804
            nparity: 1
            metaslab_array: 33
            metaslab_shift: 36
            ashift: 12
            asize: 7572075577344
            is_log: 0
            create_txg: 4
            children[0]:
                type: 'disk'
                id: 0
                guid: 13333223167826600258
                path: '/zpool1-mountpoints/ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2'
                whole_disk: 0
                create_txg: 4
            children[1]:
                type: 'disk'
                id: 1
                guid: 792157921517567757
                path: '/zpool1-mountpoints/ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2'
                whole_disk: 0
                create_txg: 4
            children[2]:
                type: 'disk'
                id: 2
                guid: 15430966623886947453             <--------------------------
                path: '/zpool1-mountpoints/ata-TOSHIBA_DT01ACA200_Z2K7A82AS-part2'
                whole_disk: 0
                create_txg: 4
            children[3]:
                type: 'disk'
                id: 3
                guid: 17956063387976000632
                path: '/zpool1-mountpoints/ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2'
                whole_disk: 0
                create_txg: 4
    features_for_read:



"Диск оказался UNAVAIL в ZPOOL"
Отправлено Rom1 , 05-Мрт-16 08:23 
Вывел диск в оффлайн:
# zpool offline zpool1 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS

Теперь массив наконец-таки в DEGRADED, а диск в OFFLINE:

# status -xv
  pool: zpool1
state: DEGRADED
status: One or more devices has been taken offline by the administrator.
    Sufficient replicas exist for the pool to continue functioning in a
    degraded state.
action: Online the device using 'zpool online' or replace the device with
    'zpool replace'.
  scan: none requested
config:

    NAME                                        STATE     READ WRITE CKSUM
    zpool1                                      DEGRADED     0     0     0
      raidz1-0                                  DEGRADED     0     0     0
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2  ONLINE       0     0     0
        15430966623886947453                    OFFLINE      0     0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2  ONLINE       0     0     0

errors: No known data errors

Попытка перевести его в онлайн:

# zpool online zpool1 /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
warning: device '/dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS' onlined, but remains in faulted state
use 'zpool replace' to replace devices that are no longer present


Массив так и остался в DEGRADED, а диск теперь в UNAVAIL:

# sudo zpool status -xv
  pool: zpool1
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 Sat Mar  5 10:07:42 2016
    33,8M scanned out of 5,27T at 3,07M/s, 500h25m to go
    0 repaired, 0,00% done
config:

    NAME                                        STATE     READ WRITE CKSUM
    zpool1                                      DEGRADED     0     0     0
      raidz1-0                                  DEGRADED     0     0     0
        ata-TOSHIBA_DT01ACA200_Z2KAVJ1GS-part2  ONLINE       0     0     0
        ata-TOSHIBA_DT01ACA200_Z2K9D75AS-part2  ONLINE       0     0     0
        15430966623886947453                    UNAVAIL      0     0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
        ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2  ONLINE       0     0     0

errors: No known data errors

Надо делать Replace.
Я так думаю, что "среплейсить" диск сам на себя не получится. ZFS увидит старую метку и откажется это делать. Скорее всего надо раздел диска затереть. Пока думаю что делать.


"Диск оказался UNAVAIL в ZPOOL"
Отправлено lavr , 08-Мрт-16 10:34 
>[оверквотинг удален]
>      15430966623886947453      
>            
>   UNAVAIL      0  
>   0     0  was /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
>      ata-TOSHIBA_DT01ACA200_Z2K9E2BAS-part2  ONLINE    
>   0     0    
>  0
> errors: No known data errors

> Надо делать Replace.
> Я так думаю, что "среплейсить" диск сам на себя не получится. ZFS

у меня получалось, если состояние диска рабочее:

1) перевести в online
если состояние degrade не изменится
2) сделать replace

> увидит старую метку и откажется это делать. Скорее всего надо раздел
> диска затереть. Пока думаю что делать.

затрите первые и последние 20K используя dd и после этого replace

определенный набор действия исходя из ситуации и пул снова будет работать


"Диск оказался UNAVAIL в ZPOOL"
Отправлено eRIC , 09-Мрт-16 20:09 
уж больно сильно верит в здоровье данного диска автор :) все пытается его впиндюрить обратно...

где выхлоп smartctl -A [диск_в_офлайне]?

не боится ли через неделю или месяц опять с данной ошибкой или уже потерей данных столкнуться? :)


"Диск оказался UNAVAIL в ZPOOL"
Отправлено Rom1 , 11-Мрт-16 08:21 
> уж больно сильно верит в здоровье данного диска автор :) все пытается
> его впиндюрить обратно...
> где выхлоп smartctl -A [диск_в_офлайне]?
> не боится ли через неделю или месяц опять с данной ошибкой или
> уже потерей данных столкнуться? :)

# smartctl -A /dev/disk/by-id/ata-TOSHIBA_DT01ACA200_Z2K7A82AS
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-79-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
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  0x0005   139   139   054    Pre-fail  Offline      -       72
  3 Spin_Up_Time            0x0007   145   145   024    Pre-fail  Always       -       259 (Average 264)
  4 Start_Stop_Count        0x0012   100   100   000    Old_age   Always       -       51
  5 Reallocated_Sector_Ct   0x0033   100   100   005    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000b   100   100   067    Pre-fail  Always       -       0
  8 Seek_Time_Performance   0x0005   124   124   020    Pre-fail  Offline      -       33
  9 Power_On_Hours          0x0012   097   097   000    Old_age   Always       -       22899
10 Spin_Retry_Count        0x0013   100   100   060    Pre-fail  Always       -       0
12 Power_Cycle_Count       0x0032   100   100   000    Old_age   Always       -       51
192 Power-Off_Retract_Count 0x0032   100   100   000    Old_age   Always       -       116
193 Load_Cycle_Count        0x0012   100   100   000    Old_age   Always       -       116
194 Temperature_Celsius     0x0002   176   176   000    Old_age   Always       -       34 (Min/Max 23/50)
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