Есть 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 0errors: No known data errors
> Есть RADIZ-массив из 4 дисков в ZFS. Один из дисков вышел в
> состояние UNAVAIL, хотя диск присутствует в системе, со всеми разделами.Проверить SMART диска. Или диск перестал читаться или там достаточно бэдов.
Да речь не про диск а про ZFS.
> Да речь не про диск а про ZFS.Cначала что дает zpool status -x zpool1,
если уверены что диск хороший, то остановите комп и проверьте кабелечек на диске, ну а потом уже можно попытаться дать команду zpool online zpool1 ata-TOSHIBA_DT01ACA200_Z2K7A82AS
если все пройдет хорошо zpool clear ...
>> Да речь не про диск а про ZFS.
> Cначала что дает zpool status -x zpool1,
> если уверены что диск хороший, то остановите комп и проверьте кабелечек
> на диске, ну а потом уже можно попытаться дать команду
> zpool online zpool1 ata-TOSHIBA_DT01ACA200_Z2K7A82AS
> если все пройдет хорошо zpool clear ...Крайне не рекомендую без тестов диска пытаться его обратно засунуть в массив, ибо можете получить вместо массива - кашу.
> Да речь не про диск а про ZFS.Почитай книжку по архитектуре PC.
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
в идеале reolace сбойный дискатак - detach, все возможные проверки диска и обратно attach
> в идеале reolace сбойный дискНе в идеале, а только так.
> атак - detach, все возможные проверки диска и обратно attachОга, ога - на raidz detach :) Пышы ыщщщЁ! :))))
raidz не десктопных дисках без tler...
массив будет рассыпаться по любому чиху.
Я внесу ясность: на материнке всего 4 SATA + 1 внешний E-SATA. Во внутренние SATA воткнуты 3 диска для ZFS и 1 SSD для кэша, а во внешний E-SATA воткнут четвертый диск для ZFS.
Я думаю что его тупо зацепили, когда-то, и он вывалился с массива. А сейчас он виден системой но помечен в ZFS как UNAVAIL.1. Смогу ли я его "среплейсить" себя на себя?
2. Что с данными на нём? Как поведёт себя ZFS, когда увидит при реплейсе в нём старые данные?
> Я внесу ясность: на материнке всего 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
если такое появилось, диск либо:
- отвалился, физически недоступен или проблемы
либо
- его выдергивали без offlinezpool был создан по 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_Z2K7A82ASzpool import , затем export, затем replace...
Что и как сделать из верхнего, можно понять лишь по логам ряда необходимых
команд, иначе получите советы, после которых вовсе все потеряете.
>[оверквотинг удален]
>> 1. Смогу ли я его "среплейсить" себя на себя?
> это зависит от состояния диска:
> a) видит ли его система и
> b) может ли с ним работать, если может - посыпался или нет
> -> smartctl
>> 2. Что с данными на нём? Как поведёт себя ZFS, когда увидит
>> при реплейсе в нём старые данные?
> а что с данными, если никто с ними ничего не делал -
> на месте, если диск хотя бы
> "полужив"это ж raiz-1 - замена одного диска без проблем
>> 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 0errors: 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:
Вывел диск в оффлайн:# 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 0errors: 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 0errors: No known data errors
Надо делать Replace.
Я так думаю, что "среплейсить" диск сам на себя не получится. ZFS увидит старую метку и откажется это делать. Скорее всего надо раздел диска затереть. Пока думаю что делать.
>[оверквотинг удален]
> 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
у меня получалось, если состояние диска рабочее:
1) перевести в online
если состояние degrade не изменится
2) сделать replace
> увидит старую метку и откажется это делать. Скорее всего надо раздел
> диска затереть. Пока думаю что делать.
затрите первые и последние 20K используя dd и после этого replace
определенный набор действия исходя из ситуации и пул снова будет работать
уж больно сильно верит в здоровье данного диска автор :) все пытается его впиндюрить обратно...где выхлоп smartctl -A [диск_в_офлайне]?
не боится ли через неделю или месяц опять с данной ошибкой или уже потерей данных столкнуться? :)
> уж больно сильно верит в здоровье данного диска автор :) все пытается
> его впиндюрить обратно...
> где выхлоп 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