LINUX.ORG.RU
ФорумAdmin

mdam, raid1, беды на одном из дисков


0

2

Привествую, помогите плиз малой кровью решить проблему.

Есть сервер, на котором работает софтварный RAID1 на двух идентичных дисках. В один момент замечаю, что статус стал clean, degraded, а один из дисков removed.

Казалось бы, ничего удивительного, с кем не бывает, полетел винт. Дальнейшее расследование показало, что винт не полетел, а просто обзавелся несколькими бедами. Но вот бред: отвалившийся винт как раз чистый, BB имеются на том, что остался!

Ладно, пытаюсь переподключить отвалившийся винт. Подключается, начинается синхронизация, но т.к. синхронизация идет со сбойного диска на здоровый, то в конце концов нарывается на беды. И вот тут начинается второй бред: нарвавшись на BB, mdadm не придумал ничего лучше, чем молча начать процесс синхронизации сначала! И так до бесконечности.

Ну и собственно вопросы:

1. Почему из рейда выпал здоровый винт а больной остался?

2. Как мне перевести рейд на здоровый винт?

3. Как мне вернуть сбойный винт в рейд, пометив беды на уровне ФС обоих дисков?

P.S. Сервер удаленный, есть только ssh и останавливать его нельзя, то есть совсем нельзя. Дисковая активность минимальна, но он должен быть онлайн.


Никак.

1. Почему из рейда выпал здоровый винт а больной остался?

Не могу сказать. Но отваливаются диски не только из «бедов». Кстати, какой смысл вы вкладываете в это слов? Relocated sectors из SMART'а или сканировали MHDD? Впрочем не важно.

2. Как мне перевести рейд на здоровый винт?

Никак. Ведь процесс синхронизации не идёт. Попробуйте проделать то же самое с LiveCD, вдруг поможет.

3. Как мне вернуть сбойный винт в рейд, пометив беды на уровне ФС обоих дисков?

Пометив беды на уровне ФС? Мне кажется, или беды должны быть на уровне ниже ФС.

Camel ★★★★★
()

Только dd со здорового на запорченный. А лучше бедовый поменять на новый.

iZEN ★★★★★
()
Ответ на: Никак. от Camel

Не могу сказать. Но отваливаются диски не только из «бедов». Кстати, какой смысл вы вкладываете в это слов? Relocated sectors из SMART'а или сканировали MHDD?

Бед — это нечитаемый сектор.

Никак. Ведь процесс синхронизации не идёт. Попробуйте проделать то же самое с LiveCD, вдруг поможет.

Какой там LiveCD? Сервер в другой стране, есть только ssh. Да и останавливать его ой как плохо.

Пометив беды на уровне ФС? Мне кажется, или беды должны быть на уровне ниже ФС.

Любая вменяемая ФС имеет функцию пометки сбойного сектора, чтобы не использовать его для хранения данных.

Только dd со здорового на запорченный.

Так здоровый неактуальный, нужно как раз наоборот.

А лучше бедовый поменять на новый.

Это само собой, но не до того пока.

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

Бед это что такое?

Бед — это нечитаемый сектор.

Кто вам это сказал? Вы взглянули на пластину НЖМД своим рентгеновским взглядом и поняли какие сектора не читаются? Какая программа говорит от бедах?

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

Camel ★★★★★
()
Ответ на: Бед это что такое? от Camel

> Кто вам это сказал? Вы взглянули на пластину НЖМД своим рентгеновским взглядом и поняли какие сектора не читаются? Какая программа говорит от бедах?

Ну блин. badblocks сказала, dd подтвердил.

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

>> Любая вменяемая ФС имеет функцию пометки сбойного сектора, чтобы не использовать его для хранения данных.

Если под ней лежит физический диск. Когда под ней RAID/LVM/whatever — ситуация несколько иная, по-моему.

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

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

А какая разница что под ФС? Если там RAID1, то определенный сектор не будет использоваться ни одним из дисков. По крайней мере технических трудностей нет.

P.S. Спасибо за советы, но почему же из рейда вывалился абсолютно рабочий диск, а посыпавшийся — остался?

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

Спасибо за советы, но почему же из рейда вывалился абсолютно рабочий диск, а посыпавшийся — остался?

Потому что причин ведущих к вываливанию диска масса. И потому что mdadm тот еще raid.

zgen ★★★★★
()

Если останавливать нельзя и добраться нельзя в разумное время.

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

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

> Если повезло и все взлетело, то появляется пространство для маневра и время на его, маневра, обдумывание.

Тоже думал над этим вариантом, но крайне рискованно, может не взлететь. Так что буду брать новый сервер, тихо-мирно переведу на него все барахло, а потом сменю A/MX. Старый буду колупать в спокойствии и напрягать админов ДЦ для замены дисков.

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

>Так что буду брать новый сервер, тихо-мирно переведу на него все барахло, а потом сменю A/MX.
И это правильно.
Хотя в грубе и есть инструменты для последовательной загрузки образов до тех пор пока хоть чего то не загрузится, ставки на это делать сильно рискованно.

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

>P.S. Спасибо за советы, но почему же из рейда вывалился абсолютно рабочий диск, а посыпавшийся — остался?

В уверены, что он абсолютно рабочий? У него чистый smart, никаких записей об ошибках? Он проходит smart тестирование?

В ext3 плохие блоки метятся с помощью «e2fsck -l», но вам это не поможет, у вас не проходит синхронизация RAID'а, это уровень ниже. Для RAID'ов, ЕМНИП, нет понятия «список плохих секторов». Вот здесь http://smartmontools.sourceforge.net/badblockhowto.html говорят, что на обычных винтах достаточно что-то записать на сбойный сектор и он будет отмаплен самим винтом (если у него ещё есть резервные сектора).

Но, что запуск e2fsck, что запуск debugfs требуют отмонтирования или хотя бы перевода в ro файловой системы, а у вам, вроде, это нельзя. Так что, делайте резервный сервер...

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