LINUX.ORG.RU
ФорумAdmin

Повреждение файловой системы или БД из-за битой оперативной памяти. Бывали ли случаи?

 , , ,


0

1

Ваззап, ЛОР!

Бывали у Вас случаи повреждения ФС или БД при использовании говносерверов/десктопов/лаптопов без ECC?

У меня были случаи проблемной оперативке в десктопе (ни раз. хотя, вся оперативка была крутая, с радиаторами, и отдельный куллер обдувал массив оперативок), но с ФС просто не было ни разу (видимо, очень удачно всё проходило), только лиса падала постоянно и долфин.
С БД вообще никогда проблем не было, т.к. не использую сервера без ECC (ну кроме PC-роутеров, конечно. но что с них взять?).

P.S. Ещё один гвоздь в гнилой гроб безответственных людей, которые не делают бекапы всего и вся.

Смысл опроса в чём? Сколько нужно отписавшихся с такой проблемой/её отсутствием, и какое решение на этом будет основано?

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

Ну типа того. Заодно будет наставление о необходимости использовать ECC и бекапы.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от Alternating_Current

За год 5 из 15 шт. сдохло: KVR16N11/4. На рабочих местах.

И в чём проблема была? Память - говно, охлаждение, подача питания?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Память Г, скорее всего из неудачной партии. Планки по 4 Гб, если занято меньше 3 (если 1 слот), работает нормально, как только переваливает за 3 - сразу начинает что-то падать. Гоняешь мемтестом, показывает, что в последнем гигабайте некоторые биты инвертируются.

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

Но если потом переставить память (одну на канал), то всё ок? Может кривой контроллер памяти? Какие-нибудь последствия у инцидента были?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Нет, именно планка сбоит, не зависит от другого оборудования, куда не ставишь, везде одни и те же симптомы. Из последствий только падающее рандомное ПО да одна битая таблица в MariaDB, при innodb_file_per_table = 1 один ibd файл обнулился. Поскольку это рабочая станция, ничего критичного не произошло.

Alternating_Current
()
Ответ на: комментарий от ktulhu666

Не ок, я имел в виду, что если одну поставить, то падает после заполнения ОЗУ на 3 Гб. Если 2+ вставить, то падает на большем количестве занятой памяти.

Alternating_Current
()
Ответ на: комментарий от ktulhu666

Можешь поискать мои нытик треды, о том, как на битой памяти, улетают образы вирутальных машин. Использовал и использую обычную память - в тестах, и предпродакшене. А так же на подменном железе. - В моём нытик треде, виноват был сам. Не проверил изначально память memtest. Только не стоит думать, что ECC - это панацея от всех бед. Это всего лишь гарантия того, что если ты записал в ОЗУ 15115 нулей, и столько же единиц. - Ты гарантированно их оттуда считаешь обратно, в том же порядке, и в том же кол-ве. ECC - никак не спасает от вышедших во время работы ячеек и т.д.

В продакшене - ECC юзаю. Бекапы - худо-бедно, делаю. :)

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

Но разве сервер с ECC не должен зависнуть или уйти в ребут при невосстановимой проблеме с ECC, как только контроллер памяти её обнаружит?
Что именно случилось с виртуалками?
Мемтест поможет только от говна, у меня большая часть памяти выходила из строя в ходе эксплуатации.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Но разве сервер с ECC не должен зависнуть или уйти в ребут при невосстановимой проблеме с ECC, как только контроллер памяти её обнаружит?

А фиг знает. Должен? У меня нагрузки весьма не большие. Но много разнообразного ПО.

Что именно случилось с виртуалками?

zfs отрапортавала о битых файлах qcow2

DALDON ★★★★★
()

Был случай, что побилась база SQL2000 на сервере c ECC.
Вообще ХЗ из-за чего она побилась, помню только, что в SPD одного из модулей была зафиксирована некорректируемая ошибка памяти - списали на нее. Сервер был DL380 G3 или G4, может быть и более ранний. Когда его открыли - все было опсыпано какой-то рыжей пылью кирпичного цвета, которая непонятно откуда взялась =)

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

Хм, т.е. получается, что сервер сам не остановится, если даже контроллер обнаружит некорректируемую ошибку памяти?! А что он тогда будет в ОС отдавать: мусор или нули?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Но разве сервер с ECC не должен зависнуть или уйти в ребут при невосстановимой проблеме с ECC, как только контроллер памяти её обнаружит?

В HP должен перезагрузиться, если не настроен мирроринг памяти.
ECC может исправить однобитовую ошибку, а также обнаружить (но не исправить) ошибку в нескольких битах.
Еще есть такая штука как memory scrubbing, чтобы не дожидаться, пока однобитовые ошибки превратятся в многобитовые.

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

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

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

В HP должен перезагрузиться, если не настроен мирроринг памяти.

А разве морринг доступен со стандартным оборудованием (не с интегрити доменом)?
И да: ну вот перезагрузился и что? Если память опять будет глючить или чип сход? Почему он не «отстреливает» битую планку?

memory scrubbing

А нет такого варианта, чтобы линукс (или контроллер) получал инфу о проблемных кусках памяти, а потом не давал к ней доступ (ОС должна маркировать соответствующие страницы в ядре как занятые)?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от bigbit

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

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

А разве морринг доступен со стандартным оборудованием (не с интегрити доменом)?

Да, есть в ProLiant'ах - называется Advanced Memory Protection, настраивается в BIOS.

И да: ну вот перезагрузился и что? Если память опять будет глючить или чип сход? Почему он не «отстреливает» битую планку?

ХЗ, никогда не видел такого. Видел только, как Солярка отстреливает процессор, на котором возникло исключение MCE (Machine Check Exception) при ошибке чтения из памяти.

А нет такого варианта, чтобы линукс (или контроллер) получал инфу о проблемных кусках памяти, а потом не давал к ней доступ (ОС должна маркировать соответствующие страницы в ядре как занятые)?

Давно были какие-то патчи к ядру (badmem), но кто же такое будет использовать в продакшене?

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

Видел только, как Солярка отстреливает процессор, на котором возникло исключение MCE (Machine Check Exception) при ошибке чтения из памяти.

И как это выглядит? И что с приложениями случается и с их памятью?

Давно были какие-то патчи к ядру (badmem), но кто же такое будет использовать в продакшене?

Тоже видел.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

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

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

Таки поднимите переписку: мне ооочень интересно.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

И как это выглядит? И что с приложениями случается и с их памятью?

На x86 - паника и перезагрузка =) При следующей загрузке процессор помечается как faulty. Система остается без процессора и его памяти.

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

При следующей загрузке процессор помечается как faulty.

А как это? ОС как-то с биосом умеет связаться? Или всё-таки это не солярка отстреливает, а отстрел аппаратно происходит?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Ну, исключение MCE не приводит к немедленому падению - ОС его обрабатывает, крэш-дамп пишет, сохраняет у себя где-то в FMA, что на процессоре была ошибка, потом уходит в ребут.

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

Хм, т.е. получается, что сервер сам не остановится, если даже контроллер обнаружит некорректируемую ошибку памяти?!

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

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

Если не используется mirroring/raid-память или hotswap-память, то какие варианты то? В смысле: как может ОС продолжить работу в подобном окружении?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

если сама ОС в другом месте, то перебросить процессы, использовавшие сбойную планку и уронить те, что использовали конкретно сбойную область(страницу).

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

Почему просто не отправить сообщение в BMC и уйти в ребут? Даже не давая возможности ОСи что-нибудь испортить.

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Я на критичных железяках юзаю mirroring или lockstep (это когда при смерти или неисправимой ошибке микросхемы на модуле её функции передаются чипу ECC).

По сабжу - может происходить любая херня. В т.ч. Silent data corruption. Поэтому ецц считаю маст хэв. Недавно был ецц модуль, который вроде бы работал нормально, но в логах биоса все время были single bit error на нем, кучами. Которые в будущем могли перерасти в multiple bit Заменил, теперь все ок.

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

это когда при смерти или неисправимой ошибке микросхемы на модуле её функции передаются чипу ECC

Т.е. режим без ECC? Ну в таком случае надо срочно завершать работу и включаться с отстреливанием планки. Но если RAID RAM есть, то нафига козе баян?

ktulhu666 ☆☆☆
() автор топика
Ответ на: комментарий от ktulhu666

Да, переходит в режим без ECC, но продолжает работать. Возможно тут можно применить RAM HotSwap и заменить планку без перезагрузки, но я такие экстремальные методы не применял.

Что такое RAM RAID я не знаю. Это Mirroring? Если да, то он вдвое уменьшает количество доступной памяти и юзается только там, где это не критично. Lockstep же не уменьшает количество памяти.

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

Так это не стандарт, а очередной высер HP? А ничё, что статья 10 летней давности? И в современных процессорах, у которых контроллер памяти встроен, никакого RAID нет?

blind_oracle ★★★★★
()

Бывали у Вас случаи повреждения ФС или БД при использовании говносерверов/десктопов/лаптопов без ECC?

ФС вроде нет, файлов — да.

h578b1bde ★☆
()

В таком use-case ФС не повреждал, а вот файло на ней - за милую душу. Спасали бэкапы.

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.