Решение проблемы

Xenserver не загружается — an error occurred during the file system check


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

Вот фото экрана во время ошибки:

xenserver booterror

Ключевые фразы вот эти:

fsck.ext3: No such file or directory while trying to open /dev/sdc1

An error occurred during the file system check

Я не знал, что это за диск. Знал только, что там 2 диска объединены в raid1 с помощью mdadm, на этом разделе был установлен xenserver и еще 2 диска как-то используются. Первое, что пришло в голову — диск умер, не пережив перезагрузки. Так иногда бывает,  когда оборудование очень долго работает и его приходится перезагружать. При старте что-то может не заработать. Достаточно часто сталкиваюсь с такими ситуациями, поэтому очень сильно не люблю перезагружать оборудование без надобности. Чаще всего выходят из строя после перезагрузок или обесточивания блоки питания и упсы.

Данный Xenserver был очень важной машиной, на нем крутилось все, что обеспечивает работоспособность офиса. Без этого сервера сотрудникам можно было не выходить на работу. Хотя бэкапы все были, но перспективы вырисовывались безрадостные. Стал соображать, что можно сделать.

Первым делом зашел в консоль и запустил fsck вручную, как советуют на экране. Ничего не вышло. Уже не помню, что написала утилита, но ничего она не исправила. Подмонтировать диск не получалось. Плохо то, что я не знал, что это за диск и как он использовался. Огорчало еще то, что гипервизор стоял на /dev/md0 и с ним судя по сообщениям все было в порядке. Почему загрузка не продолжалась, не знаю. Если бы сервер нормально загрузился, дальше бы было проще решать проблему.

Я перезагрузил сервер и зашел в биос. Все диски были на месте, ошибок в смарте не было. Снова загрузил сервер. Тут я не знаю, что меня осенило, но я решил проверить /etc/fstab. Зашел в него и увидел следующее:

/dev/sdc1   /mnt/2tb     ext3    defaults        1 1

Ага, стало понятно, что диск использовался как обычный раздел с ext3. Попытался закомментировать эту строку, но не удалось сохранить файл. Корневая файловая система была загружена в режиме только для чтения. Перемонтировал ее на запись:

# mount -o remount,rw /

После этого удалось сохранить fstab с закомментированной строкой. Отправил сервер на перезагрузку и он замечательно загрузился в штатном режиме. Дальше стал проверять все диски и увидел, что этот жесткий диск использовался в качестве локального хранилища. Он был инициализирован как физический том LVM.

Судя по всему, когда-то этот жесткий диск был разделом ext3, монтировался через fstab при загрузке. Потом его решили использовать как локальное хранилище Xenserver. Для этого отмонтировали от системы, создали LVM и подключили к гипервизору. Удалить из fstab диск забыли. В итоге это привело к такой ошибке при загрузке. Хорошо, что я оказался локально за консолью сервера. Если бы сервер перезагрузили удаленно, был бы сюрприз.


СМОТРИ ТАКЖЕ