Нейл Браун (Neil Brown), основной разработчик пакета mdadm и подсистемы для обеспечения работы программных RAID-массивов в Linux, предупредил (https://lkml.org/lkml/2014/8/18/17) о выявлении серьёзной ошибки в md/raid6, которая при определённых условиях может привести к потере данных в хранилище RAID6. Проблема проявляется начиная с ядра Linux 2.6.32. В качестве факторов проявления ошибки называется сочетание двойной деградации массива (выход из строя двух дисков), восстановления одного или обоих сбойных дисков и записи блока в массив.
Проблема не проявляется при штатной работе RAID6, при восстановлении в результате выхода из строя одного диска и при отсутствии диска для восстановления в случае двойной деградации. В качестве обходного пути для избежания проявления проблемы можно удалить запасные диски горячего восстановления (hot spare), что не даст автоматически запустить процесс восстановления и исключит возникновение условий, которые могут привести к потере хранимых данных.URL: https://lkml.org/lkml/2014/8/18/17
Новость: http://www.opennet.me/opennews/art.shtml?num=40412
Патчи то когда будут?
RAID полетел, потерялись
по ссылке сразу
mdadm сам по себе может привести к потере данных, потому что у него нет проверки битых секторов при создании массива, как и нет средств мониторинга появления битых секторов.
Будете так базу копировать гигов на 80-90, а потом выясниться что она бьется где-нить в середине.
даже в линаксе при этом диск(-и) вылетит(-ят) из массива, при софтрейде
В где?
в даже
прцедура синхронизации сразу после создания мд-массива - это по твоему что?
неасилил доки?
почитай публицистику
http://neil.brown.name/blog/20100519043730
не осилил прочитать, бегло просмотрел.если не сложно - можете в двух словах сказать какой вывод по поводу bad blocks и mdadm ?
> не осилил прочитать, бегло просмотрел.
> если не сложно - можете в двух словах сказать какой вывод по
> поводу bad blocks и mdadm ?Видимо, чтение контрольных сумм после записи или типа того. Что-то убивающее производительность и прикручиваемое с боку скотчем, в общем.
Писец, а не комментарий.
На тему — лaмeрствo, как уверенность в работе аппаратного рэйда. Типа «чёрный ящик сам разберётся».Вон ниже расписал «что и как» в 39.
The bad block list is simply a list of blocks - one list for each device - which are to be treated as 'bad'
не слушайте весь вышеперечисленный бред. это всё лaмeрюги, потому что не знают, что это уже лет 20 не актуально:
1) мониторинг бэдов на пользовательском уровне закончился примерно с появлением IDE-дисков — https://ru.wikipedia.org/wiki/S.M.A.R.T.
>S.M.A.R.T. производит наблюдение за основными характеристиками накопителя, каждая из которых получает оценку. Характеристики можно разбить на две группы:
> 1. параметры, отражающие процесс естественного старения жёсткого диска (число оборотов шпинделя, число перемещений головок, количество циклов включения-выключения);
> 2. текущие параметры накопителя (высота головок над поверхностью диска, число переназначенных секторов, время поиска дорожки и количество ошибок поиска).и далее:
> Reallocated Sectors Count - Число операций переназначения секторов. Когда диск обнаруживает ошибку чтения/записи, он помечает сектор «переназначенным» и переносит данные в специально отведённую резервную область. Вот почему на современных жёстких дисках нельзя увидеть bad-блоки — все они спрятаны в переназначенных секторах.https://en.wikipedia.org/wiki/Smartctl
> Smartmontools (S.M.A.R.T. Monitoring Tools) is a set of utility programs (smartctl and smartd) to control and monitor computer storage systems using the Self-Monitoring, Analysis and Reporting Technology (S.M.A.R.T.) system built into most modern (P)ATA, Serial ATA and SCSI hard drives.Smartmontools displays early warning signs of hard drive problems detected by S.M.A.R.T., often giving notice of impending failure while it is still possible to back data up.[
2) проверкой (вернее управлением и получением информации) бэдов занимаются утилиты из состава smartmontools. Как именно? См. тут — http://www.smartmontools.org/browser/trunk/www/badblockhowto... Но на заметку:
> Modern storage devices tend to handle the simple cases automatically, for example by writing a disk sector that was read with difficulty to another area on the media. Even though such a remapping can be done by a disk drive transparently, there is still a lingering worry about media deterioration and the disk running out of spare sectors to remap.Всё что вам нужно (да и вообще — всё что вы можете) — это мониторить диски (включая аппаратные рэйды! см. ниже), периодически запускать само-тестирование, анализировать эту инфу и не допускать последующего перераспределения бэд-блоков.
Тоже касается и аппаратных(!!!) рэйдов — «увидеть» диск из рэйда можно например так:
smartctl -a -d megaraid,2 /dev/sda # второй диск из рэйда аппаратного «мегарэйда» ☺
> This interface will also work for Dell PERC controllers. It is possible to set RAID device name as /dev/bus/N, where N is a SCSI bus number.или так:
smartctl -a -d aacraid,0,0,66 /dev/sda
в общем см. man smartctl
Других вариантов (уже ☺) просто нет. Ну вот закончились они.
Хотя badblocks (из e2fsprogs) всё ещё присутсвует. Но это на уровне файловой системы (!!! если это вам о чём-то говорит — man badblocks:
> For this reason, it is strongly recommended that users not run badblocks directly, but rather use the -c option of the e2fsck and mke2fs programsи т.д. В общем запускать на смонтированной фс это будет только лaмeр, а на несмонтированной — это уже точно не нагруженный сервер.
Небольшое уточнение, при ошибке чтения происходит не переназначение, а увеличение счетчика Current_Pending_Sector. При записи в проблемный сектор либо произойдет переназначение и увеличится Reallocated_Sector_Ct (если конечно сектор безнадежно испорчен и не поддается перезаписи), счетчик же Current_Pending_Sector естественно будет уменьшен.
Дополнение нумер два. Ликусовый raid получив ошибку чтения с диска, восстанавливает содержимое нечитаемого блока используя другие диски массива, после чего пытается перезаписать проблемные сектора и если запись происходит без ошибок, пишет в лог сообщение типа "read error corrected (N sectors at XXX on sdX)" и продолжает работать как ни в чем не бывало.
Так что если в логах появляются подобные сообщения, то стоит проверить состояние хардов.
Дополнение 2) противоречит дополнению 1).
Не? Не заметно?
Поясняю — диску пoфиг какой рэйд (аппаратный, программный, вообще не рэйд) пытается писать в проблемную область. Вот он "не в курсе дела" во что его вставили.
Он просто перераспределяет (если ещё есть куда. Мониторить надо, аднака).А сабж про то, что заведомо битые данные начинают синхронизироваться на весь рэйд в случае наличия хот спаре.
ну т.е. что я хотел сказать — одним ""read error corrected" не стоит ограничиваться.зыж
и вообще:
> 05.09.2013 23:53 Вышел mdadm 3.3, инструментарий для управления программным RAID в Linux
> Поддержка ведения лога сбойных секторов;
> Поддержка горячей замены устройств, например "mdadm /dev/mdX --replace /dev/foo --with /dev/bar".
>Дополнение 2) противоречит дополнению 1).
> Не? Не заметно?Нет, не заметно. Учитесь читать.
Вот это как раз к вам и относится ☺ — при записи никаких "read error corrected (N sectors at XXX on sdX)" не будет. Не каждая операция записи происходит после чтения этого же проблемного места. Перераспределение в этом случае произойдёт "молча".
> как и нет средств мониторинга появления битых секторов.Шта?
cat /sys/block/md2/md/mismatch_cnt
0
Это далеко не всегда указывает на битые сектора.
В оригинале патч на raid5.c. Или raid5 модуль подключается автоматически при деградации?
"raid5 модуль" - одно название. Код в большей части - общий.
Проблема, что характерно, есть и в более ранних версиях чем 2.6.32 (она вообще врожденная) - т.е. статья п...т, автор ниасилил прочитать кусок английского текста.P.S. "все еще пользуетесь linux md ? Тогда толстенькая полярная лисичка давно идет к вам." Впрочем, и не только тогда. Интересно, сколько "железных" raid'ов содержат внутри код, скопипижженный из линукса и с этим же багом? (вспоминая недобрые старые времена, когда человеку с математическим образованием вздумалось проверить, откуда взялись полиномы, используемые линуксным raid6)
> P.S. "все еще пользуетесь linux md ? Тогда толстенькая полярная лисичка давно идет к вам."аппаратные рэйды состоят из тех же винтов со смарт-инфой если что.
не, намёк ещё не понял?
тогда объясню — полярный лис идёт к тому, кто нифига не понимая как это всё работает, думает что за него «думает» аппаратный рэйд.
подробности в #39.ps:
частично «думалку» порешали с контрольными суммами в zfs, btrfs, ext4, xfs,…
но проблему рассуждающих о рэйдах идиoтoв это как видно не снимает
RAID - решетo, все бэкапимся на BD болванки!
net framework и winrar лень ставить :(
rar необязательно, можно 7zipпрога сама все ставит на сервер (Debian или Ubuntu)
достаточно указать опцию -install_server
> RAID - решетo, все бэкапимся на BD болванки!
>
> http://aulix.com/backup2dvdи не забыть проверить файлы антивирусом (Бабушкина) -- http://lurkmore.to/%D0%90%D0%BB%D0&...
> RAID - решетo, все бэкапимся на BD болванки!Месье в курсе различий между raid и backup?
>> RAID - решетo, все бэкапимся на BD болванки!
> Месье в курсе различий между raid и backup?Ага. RAID не отменяет необходимость бэкапов. Особенно в реализации для ниeбрoдов, не потянувших RAID10.
> Не потянувших RAID10.Если не нищебродить, то почему бы не купить сразу аппаратный raid, на нормальном сервере и с виндой лицензионной ?
Софтовые рейды хороши тем что их можно собрать из г*вна, и они будут сносно работать, выполняя свою основную функцию.
У вас вот в этом месте логическое несоответствие:
>нормальном сервере и с виндой
> У вас вот в этом месте логическое несоответствие:
>>нормальном сервере и с виндойАчо, аппаратный рэйд исключает что-либо окромя шиндошс?
Аппаратный рейд только шиндошс-одмины и покупают, у них другого нет.
>> Не потянувших RAID10.
> Если не нищeбрoдить, то почему бы не купить сразу аппаратный raid, на нормальном сервере и с виндой лицензионной ?Потому что а) аппаратный рэйд ничем не лучше в этом плане софтверного (см. выше #39), 2) "винда лицензионный" способствует вот такому невежеству, как у вас и, б) с учётом вышесказанного, вас разводят как лохов на "малиновый пинджнак".
Назови хоть один аппаратный контроллер, который тянет миллион iops. Mdraid тянет. На современных SSD актуально.
RAID10 - отказоустойчивость 1 диск
RAID6 - отказоустойчивость 2 дискаТипа "ненищеброды" используют raid60
У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года, после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал второй диск. Ребята чуть не обосрались, повезло. После этого было принято решение все потихоньку перенести на raid60 в новую стойку, остановив систему. Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо) и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)
> RAID10 - отказоустойчивость 1 диск
> RAID6 - отказоустойчивость 2 диска
> Типа "ненищeбрoды" используют raid60
> У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года,
> после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал
> второй диск. Ребята чуть не обосрaлись, повезло. После этого было принято
> решение все потихоньку перенести на raid60 в новую стойку, остановив систему.
> Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо)
> и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)Ага-ага. А перфоманс RAID5/6 хоть ссколько-нить дотягивает до человеческого RAID10? Неужто?
А кто говорил про перфоманс, речь про отказоустойчивость. Понятно, что запись на raid6 будет медленней, чем raid10. Чтение у radi6 нормальное, да и кеши на чтение работают эффективно. Конечно, надо смотреть требования. И есть raid60, что тоже поможет.
> RAID10 - отказоустойчивость 1 диск
> RAID6 - отказоустойчивость 2 диска
> Типа используют raid60
> У меня недавно деградировал raid50 на 44ТБ, работающий до этого 4 года,
> после перестроения, буквально через час, в ТОЙ ЖЕ отказоустойчивой группе выпал
> второй диск. Ребята чуть не повезло. После этого было принято
> решение все потихоньку перенести на raid60 в новую стойку, остановив систему.
> Дорого обходятся непродуманные решения: дешевые сигейты (экономили на спичках видимо)
> и взятый с потолка необоснованный raid5 (хотя контроллер держал raid6!)В целом, это не очень удивительно.
Если диски работали примерно одинаковое время, время наработки на отказ и собственно отказа пришлось на более-менее одно и то же время, + бОльшая нагрузка во время ребилда массива часто приводит к вылетам дисков, уже подходивших к критической черте.
> RAID10 - отказоустойчивость 1 дискВас обманули (
RAID10 - отказоустойчивость 1-2 диска, в зависимости от того, в одной зеркальной группе они находятся или в разных.
> RAID10 - отказоустойчивость 1-2 диска, в зависимости от того, в одной зеркальнойОтказоустойчивость по самому узкому месту определяется, в данном случае берем одну зеркальную группу.
Допустим, я приду в серверную (или пушной зверек придет:) ), где стоят RAID10 и RAID60 и рандомно выдеру 2 диска из стойки. На каком массиве это можно сделать, а на каком нельзя? Вот и вся суть.
Суть в песок. И не надо передергивать! У полярной лисы с методом Монте-Карло все в порядке. Это и имелось в виду под "1-2 диска", но если Вам так будет угодно, то напишу 1,5 диска.
RAID-Z3 решает, господа.Что насчёт новых технологий систем хранения в Linux? Чего-то не слышно про Btrfs, как она ведёт себя в конфигурации RAID-6+HotSpare?
Никак не ведет, рейды с четностью там до сих пор не готовы.