LINUX.ORG.RU

btrfs raid1, как привести в чувство?

 ,


0

2

Пациент такой:

  • два WD10EZEX в зеркале
  • S.M.A.R.T., хм, неплохой, за исключением нюансов, о которых ниже
  • оба диска зарегистрированы как бэк в bcache, лично я не думаю, что это как-то влияет на ситуацию, но пишу как есть

О нюансах, один диск по смарт идеальный, у второго:

196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       5
198 Offline_Uncorrectable   0x0030   200   200   000    Old_age   Offline      -       15
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0008   200   200   000    Old_age   Offline      -       18

btrfs fi show:

Label: 'STORAGE'  uuid: 6f18967c-***
        Total devices 2 FS bytes used 776.09GiB
        devid    1 size 931.51GiB used 851.01GiB path /dev/bcache0
        devid    2 size 931.51GiB used 851.01GiB path /dev/bcache1

Суть проблемы, массив не монтируется, выдаёт стандартную заглушку (опция -o degraded тоже не работает)

mount -t btrfs UUID=6f18967c-*** /mnt/storage/:

mount: /mnt/storage: wrong fs type, bad option, bad superblock on /dev/bcache0, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.

и при этом на btrfs rescue super-recover:

All supers are valid, no need to recover

dmesg:

BTRFS info (device bcache0): bdev /dev/bcache0 errs: wr 1, rd 0, flush 0, corrupt 23286, gen 0
BTRFS info (device bcache0): bdev /dev/bcache1 errs: wr 0, rd 0, flush 0, corrupt 17663, gen 0
BTRFS error (device bcache0): level verify failed on logical 535287234560 mirror 1 wanted 1 found 0
BTRFS error (device bcache0): level verify failed on logical 535287234560 mirror 2 wanted 1 found 0
BTRFS error (device bcache0): failed to read block groups: -5
BTRFS error (device bcache0): open_ctree failed

btrfs check /dev/bcache0:

Opening filesystem to check...
parent transid verify failed on 535287234560 wanted 533002 found 533004
parent transid verify failed on 535287234560 wanted 533002 found 533004
parent transid verify failed on 535287234560 wanted 533002 found 533004
Ignoring transid failure
ERROR: child eb corrupted: parent bytenr=586321772544 item=39 parent level=2 child bytenr=535287234560 child level=0
ERROR: failed to read block groups: Input/output error
ERROR: cannot open file system

Не уверен, но вполне может быть, что запускали check --repair.

Цель, отцепить от рейда проблемный диск, чтобы вдоволь над ним поиздеваться, сохранив данные на втором. Не понимаю, как это сделать, потому что все утилиты работают с точкой монтирования, которой нет, и как её вернуть я не знаю.

Самое простое - всё жёстко разобрать, отформатировать хороший диск, с восстановлением из бэкапа. Но есть желание разобраться в теоретической возможности поправить ситуацию, получить такой вот экспириенс.

Насколько это реально в такой ситуации? Надеюсь на помощь разбирающихся в тонкостях btrfs.

N.B. Просьба, про два типа людей не писать, так как для ценного бэкапы есть, а не ценное и не очень жалко, и через restore копия актуальных данных была снята.

Спасибо.

★★★★★

два WD10EZEX в зеркале

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

alex1101
()

Цель, отцепить от рейда проблемный диск, чтобы вдоволь над ним поиздеваться, сохранив данные на втором.

BTRFS error (device bcache0): level verify failed on logical 535287234560 mirror 1 wanted 1 found 0
BTRFS error (device bcache0): level verify failed on logical 535287234560 mirror 2 wanted 1 found 0

Цель недостижима, т. к. на обоих дисках лажа.

intelfx ★★★★★
()
Ответ на: комментарий от ox55ff

Да, всё работало до момента появления сбойных секторов на одном из дисков, года полтора точно. И я подозреваю, что всё сломал check --force --repair, хоть в этом никто и не сознаётся.

vvn_black ★★★★★
() автор топика
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от iZEN

Хорошая у вас ФС, я погляжу.

Ну да, данные все вытянул, которые актуализировать надо было. Несмотря на.

vvn_black ★★★★★
() автор топика
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от alex1101

разве есть смысл использовать в зеркале два одинаковых накопителя?

Вообще говоря - нормальные люди только так и делают. Единственное исключение - сильно ограниченый бюджет и разношёрстные диски которые «уже имеются».

Они же чисто статистически могут выйти из строя примерно в одно и то же время.

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

bugfixer ★★★★
()
Ответ на: комментарий от vvn_black

Хорошая у вас ФС, я погляжу.

Ну да, данные все вытянул, которые актуализировать надо было. Несмотря на.

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

Мне вот интересно другое - Вам одного забега по граблям хватило, или Вы продолжаете эту, гхм, каку дальше использовать?

bugfixer ★★★★
()
Ответ на: комментарий от alex1101

разве есть смысл использовать в зеркале два одинаковых накопителя?

Прецизионная механика, в силу её механической природы, изнашивается неравномерно, а в силу её прецизионной природы - еще и имеет разные изначальные характеристики, увеличивая тем самым еще больше неравномерность износа.

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

А вот с SSD всё не так однозначно. Они в RAID1 изнашиваются абсолютно равномерно и дохнут так же. Потому, в случае SSD это имеет смысл только в рамках защиты от неудачного девайса, вышедшего из строя по не относящимся к износу причинам.

pekmop1024 ★★★★★
()
Ответ на: комментарий от vvn_black

Какие варианты? Знаю про LVM Cache.

Не обращай внимания, он видимо предлагает напрячься, перестать быть бедным и попросить у Вселенной «большой» SSD «серверного» класса, чтобы все мальчики позавидовали, а девочки протекли.

Bcache намазанный на ssd для кеширования массива из HDD вполне себе рабочее решение. Риски конечно тоже стоит осознавать, они есть, но их можно слегка сгладить сделав кэш на зеркале из двух ssd.

Это конечно не так красиво как полноценный внешний NAS подключенный по iSCSI или аппаратный райд с аналогичным кэшем, своим ОЗУ и батарейкой, но для персональной машинки вполне годится.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 2)
Ответ на: комментарий от pekmop1024

Имея несколько тысяч серверов

Не удержался: ни в одном глазу не пытаюсь умалить Ваши заслуги, но что именно имеется в виду под «имея»? Обслуживая? Мне правда интересно…

bugfixer ★★★★
()
Ответ на: комментарий от bugfixer

Там имеется в виду [под наблюдением]. Обслуживают эти серверы специально обученные люди из другой команды, мониторинг только им тикеты создает, что диск помер - пора менять.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024

Там имеется в виду [под наблюдением].

Зачёт.

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

В приличных местах в DC ещё хрен просто так попадёшь ;)

bugfixer ★★★★
()
Ответ на: комментарий от bugfixer

В приличных местах в DC ещё хрен просто так попадёшь ;)

Всё так. Особенно там, где хостятся федеральные проекты США. Но дело не в этом, иногда езжу ребятам помогать just for fun, ибо железяки люблю, но у меня круг задач несколько иной.

pekmop1024 ★★★★★
()