The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В MD/RAID6 в Linux выявлена проблема, которая может привести к потере данных

19.08.2014 22:17

Нейл Браун (Neil Brown), основной разработчик пакета mdadm и подсистемы для обеспечения работы программных RAID-массивов в Linux, предупредил о выявлении серьёзной ошибки в md/raid6, которая при определённых условиях может привести к потере данных в хранилище RAID6. Проблема проявляется начиная с ядра Linux 2.6.32. В качестве факторов проявления ошибки называется сочетание двойной деградации массива (выход из строя двух дисков), восстановления одного или обоих сбойных дисков и записи блока в массив.

Проблема не проявляется при штатной работе RAID6, при восстановлении в результате выхода из строя одного диска и при отсутствии диска для восстановления в случае двойной деградации. В качестве обходного пути для избежания проявления проблемы можно удалить запасные диски горячего восстановления (hot spare), что не даст автоматически запустить процесс восстановления и исключит возникновение условий, которые могут привести к потере хранимых данных.

  1. Главная ссылка к новости (https://lkml.org/lkml/2014/8/1...)
  2. OpenNews: Вышел mdadm 3.3, инструментарий для управления программным RAID в Linux
  3. OpenNews: Поддержка RAID5/6 для Btrfs принята в состав ядра Linux 3.9
  4. OpenNews: В реализации программного RAID для Linux обнаружена ошибка, которая может привести к повреждению мета-данных
  5. OpenNews: Доступна реализация программного RAID для Linux - mdadm 3.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40412-raid
Ключевые слова: raid, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, kerneliq (ok), 23:02, 19/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Патчи то когда будут?
     
     
  • 2.2, Аноним (-), 23:18, 19/08/2014 [^] [^^] [^^^] [ответить]  
  • +20 +/
    RAID полетел, потерялись
     
  • 2.17, anonymous (??), 09:09, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    по ссылке сразу
     

  • 1.11, Адекват (ok), 06:54, 20/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    mdadm сам по себе может привести к потере данных, потому что у него нет проверки битых секторов при создании массива, как и нет средств мониторинга появления битых секторов.
    Будете так базу копировать гигов на 80-90, а потом выясниться что она бьется где-нить в середине.
     
     
  • 2.14, тигар (ok), 07:46, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    даже в линаксе при этом диск(-и) вылетит(-ят) из массива, при софтрейде
     
     
  • 3.15, Аноним (-), 08:54, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В где?
     
     
  • 4.25, Аноним (-), 10:03, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +8 +/
    в даже
     
  • 2.16, Аноним (-), 08:55, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    прцедура синхронизации сразу после создания мд-массива - это по твоему что?
     
  • 2.21, sdog (ok), 09:36, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    неасилил доки?
    почитай публицистику
    http://neil.brown.name/blog/20100519043730
     
     
  • 3.23, netc (??), 09:47, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    не осилил прочитать, бегло просмотрел.

    если не сложно - можете в двух словах сказать какой вывод по поводу bad blocks и mdadm ?

     
     
  • 4.26, Аноним (-), 10:05, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > не осилил прочитать, бегло просмотрел.
    > если не сложно - можете в двух словах сказать какой вывод по
    > поводу bad blocks и mdadm ?

    Видимо, чтение контрольных сумм после записи или типа того. Что-то убивающее производительность и прикручиваемое с боку скотчем, в общем.

     
     
  • 5.40, ананим (?), 16:52, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Писец, а не комментарий.
    На тему — лaмeрствo, как уверенность в работе аппаратного рэйда. Типа «чёрный ящик сам разберётся».

    Вон ниже расписал «что и как» в 39.

     
  • 4.28, sdog (ok), 10:32, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    The bad block list is simply a list of blocks - one list for each device - which are to be treated as 'bad'
     
  • 4.39, ананим (?), 16:48, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    не слушайте весь вышеперечисленный бред это всё лaмeрюги, потому что не знают, ... большой текст свёрнут, показать
     
     
  • 5.42, абыр (ok), 17:14, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Небольшое уточнение, при ошибке чтения происходит не переназначение, а увеличение счетчика Current_Pending_Sector. При записи в проблемный сектор либо произойдет переназначение и увеличится Reallocated_Sector_Ct (если конечно сектор безнадежно испорчен и не поддается перезаписи), счетчик же Current_Pending_Sector естественно будет уменьшен.

     
  • 5.43, абыр (ok), 17:23, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Дополнение нумер два. Ликусовый raid получив ошибку чтения с диска, восстанавливает содержимое нечитаемого блока используя другие диски массива, после чего пытается перезаписать проблемные сектора и если запись происходит без ошибок, пишет в лог сообщение типа "read error corrected (N sectors at XXX on sdX)" и продолжает работать как ни в чем не бывало.
    Так что если в логах появляются подобные сообщения, то стоит проверить состояние хардов.
     
     
  • 6.45, ананим (?), 17:34, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Дополнение 2) противоречит дополнению 1).
    Не? Не заметно?
    Поясняю — диску пoфиг какой рэйд (аппаратный, программный, вообще не рэйд) пытается писать в проблемную область. Вот он "не в курсе дела" во что его вставили.
    Он просто перераспределяет (если ещё есть куда. Мониторить надо, аднака).

    А сабж про то, что заведомо битые данные начинают синхронизироваться на весь рэйд в случае наличия хот спаре.

     
     
  • 7.46, ананим (?), 17:47, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ну т.е. что я хотел сказать — одним ""read error corrected" не стоит ограничиваться.

    зыж
    и вообще:
    > 05.09.2013 23:53  Вышел mdadm 3.3, инструментарий для управления программным RAID в Linux
    >    Поддержка ведения лога сбойных секторов;
    >    Поддержка горячей замены устройств, например "mdadm /dev/mdX --replace /dev/foo --with /dev/bar".

    http://www.opennet.ru/opennews/art.shtml?num=37837
    Так что…

     
  • 7.47, абыр (ok), 18:07, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Дополнение 2) противоречит дополнению 1).
    > Не? Не заметно?

    Нет, не заметно. Учитесь читать.

     
     
  • 8.48, ананим (?), 18:17, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вот это как раз к вам и относится 9786 8212 при записи никаких read error... текст свёрнут, показать
     
  • 2.27, Аноним (-), 10:30, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > как и нет средств мониторинга появления битых секторов.

    Шта?
    cat /sys/block/md2/md/mismatch_cnt
    0

     
     
  • 3.38, Аноним (-), 16:47, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Это далеко не всегда указывает на битые сектора.
     

  • 1.18, kay (ok), 09:25, 20/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В оригинале патч на raid5.c. Или raid5 модуль подключается автоматически при деградации?
     
     
  • 2.31, пох (?), 11:34, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    "raid5 модуль" - одно название. Код в большей части - общий.
    Проблема, что характерно, есть и в более ранних версиях чем 2.6.32 (она вообще врожденная) - т.е. статья п...т, автор ниасилил прочитать кусок английского текста.

    P.S. "все еще пользуетесь linux md ? Тогда толстенькая полярная лисичка давно идет к вам." Впрочем, и не только тогда. Интересно, сколько "железных" raid'ов содержат внутри код, скопипижженный из линукса и с этим же багом? (вспоминая недобрые старые времена, когда человеку с математическим образованием вздумалось проверить, откуда взялись полиномы, используемые линуксным raid6)


     
     
  • 3.41, ананим (?), 17:01, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > P.S. "все еще пользуетесь linux md ? Тогда толстенькая полярная лисичка давно идет к вам."

    аппаратные рэйды состоят из тех же винтов со смарт-инфой если что.
    не, намёк ещё не понял?
    тогда объясню — полярный лис идёт к тому, кто нифига не понимая как это всё работает, думает что за него «думает» аппаратный рэйд.
    подробности в #39.

    ps:
    частично «думалку» порешали с контрольными суммами в zfs, btrfs, ext4, xfs,…
    но проблему рассуждающих о рэйдах идиoтoв это как видно не снимает

     

  • 1.19, Аноним (-), 09:30, 20/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    RAID - решетo, все бэкапимся на BD болванки!

    http://aulix.com/backup2dvd

     
     
  • 2.20, commiethebeastie (ok), 09:33, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    net framework и winrar лень ставить :(
     
     
  • 3.33, user (??), 12:15, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    rar необязательно, можно 7zip

    прога сама все ставит на сервер (Debian или Ubuntu)

    достаточно указать опцию -install_server

     
  • 2.24, Xasd (ok), 09:56, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > RAID - решетo, все бэкапимся на BD болванки!
    >
    > http://aulix.com/backup2dvd

    и не забыть проверить файлы антивирусом (Бабушкина) -- http://lurkmore.to/%D0%90%D0%BB%D0%B5%D0&#

     

  • 1.22, pkdr (ok), 09:44, 20/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > RAID - решетo, все бэкапимся на BD болванки!

    Месье в курсе различий между raid и backup?

     
     
  • 2.29, Аноним (-), 11:10, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> RAID - решетo, все бэкапимся на BD болванки!
    > Месье в курсе различий между raid и backup?

    Ага. RAID не отменяет необходимость бэкапов. Особенно в реализации для ниeбрoдов, не потянувших RAID10.

     
     
  • 3.30, Адекват (ok), 11:29, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –10 +/
    > Не потянувших RAID10.

    Если не нищебродить, то почему бы не купить сразу аппаратный raid, на нормальном сервере и с виндой лицензионной ?
    Софтовые рейды хороши тем что их можно собрать из г*вна, и они будут сносно работать, выполняя свою основную функцию.

     
     
  • 4.34, Аноним (-), 14:08, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +7 +/
    У вас вот в этом месте логическое несоответствие:
    >нормальном сервере и с виндой
     
     
  • 5.35, Аноним (-), 15:43, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > У вас вот в этом месте логическое несоответствие:
    >>нормальном сервере и с виндой

    Ачо, аппаратный рэйд исключает что-либо окромя шиндошс?

     
     
  • 6.51, Глас Божий (?), 22:02, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Аппаратный рейд только шиндошс-одмины и покупают, у них другого нет.
     
  • 4.44, ананим (?), 17:24, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >> Не потянувших RAID10.
    > Если не нищeбрoдить, то почему бы не купить сразу аппаратный raid, на нормальном сервере и с виндой лицензионной ?

    Потому что а) аппаратный рэйд ничем не лучше в этом плане софтверного (см. выше #39), 2) "винда лицензионный" способствует вот такому невежеству, как у вас и, б) с учётом вышесказанного, вас разводят как лохов на "малиновый пинджнак".

     
  • 4.49, Аноним (-), 18:49, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Назови хоть один аппаратный контроллер, который тянет миллион iops. Mdraid тянет. На современных SSD актуально.
     
  • 3.32, karapuz2 (ok), 11:53, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    RAID10 - отказоустойчивость 1 диск
    RAID6 - отказоустойчивость 2 диска

    Типа "ненищеброды" используют raid60

    У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года, после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал второй диск. Ребята чуть не обосрались, повезло. После этого было принято решение все потихоньку перенести на raid60 в новую стойку, остановив систему. Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо) и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)

     
     
  • 4.36, Аноним (-), 15:45, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > RAID10 - отказоустойчивость 1 диск
    > RAID6 - отказоустойчивость 2 диска
    > Типа "ненищeбрoды" используют raid60
    > У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года,
    > после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал
    > второй диск. Ребята чуть не обосрaлись, повезло. После этого было принято
    > решение все потихоньку перенести на raid60 в новую стойку, остановив систему.
    > Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо)
    > и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)

    Ага-ага. А перфоманс RAID5/6 хоть ссколько-нить дотягивает до человеческого RAID10? Неужто?

     
     
  • 5.37, karapuz2 (ok), 16:08, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А кто говорил про перфоманс, речь про отказоустойчивость. Понятно, что запись на raid6 будет медленней, чем raid10. Чтение у radi6 нормальное, да и кеши на чтение работают эффективно. Конечно, надо смотреть требования. И есть raid60, что тоже поможет.
     
  • 4.50, anonymous (??), 21:07, 20/08/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > RAID10 - отказоустойчивость 1 диск
    > RAID6 - отказоустойчивость 2 диска
    > Типа  используют raid60
    > У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года,
    > после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал
    > второй диск. Ребята чуть не  повезло. После этого было принято
    > решение все потихоньку перенести на raid60 в новую стойку, остановив систему.
    > Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо)
    > и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)

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

     
  • 4.52, Онаним (?), 14:13, 21/08/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > RAID10 - отказоустойчивость 1 диск

    Вас обманули (
    RAID10 - отказоустойчивость 1-2 диска, в зависимости от того, в одной зеркальной группе они находятся или в разных.

     
     
  • 5.55, karapuz2 (ok), 15:59, 21/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > RAID10 - отказоустойчивость 1-2 диска, в зависимости от того, в одной зеркальной

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

    Допустим, я приду в серверную (или пушной зверек придет:) ), где стоят RAID10 и RAID60 и рандомно выдеру 2 диска из стойки. На каком массиве это можно сделать, а на каком нельзя? Вот и вся суть.

     
     
  • 6.56, Онаним (?), 16:22, 21/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Суть в песок. И не надо передергивать! У полярной лисы с методом Монте-Карло все в порядке. Это и имелось в виду под "1-2 диска", но если Вам так будет угодно, то напишу 1,5 диска.
     

  • 1.53, iZEN (ok), 14:24, 21/08/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    RAID-Z3 решает, господа.

    Что насчёт новых технологий систем хранения в Linux? Чего-то не слышно про Btrfs, как она ведёт себя в конфигурации RAID-6+HotSpare?

     
     
  • 2.54, Аноним (-), 15:29, 21/08/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Никак не ведет, рейды с четностью там до сих пор не готовы.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру