Обновление Debian Lenny на Debian Squeeze (RAID1)

Обновление Debian Lenny на Debian Squeeze.

Собственно к чему этот пост. Потому как хочется прокричать «Кривее» системы я еще не видел, за свою историю администрирования.

И так что я имею:

RAID1 на / + RAID1 на двух дисках по 750 гигов где лежит всякая дрянь типов фильмов и т.д…

Вроде бы делал все штатно т.е aptitude update && aptitude upgrade мне вежливо спросили, предложили решение зависимостей. Ничего такого не было в зависимостях, только сторонний софт полетел, который сам собирал, да и бог бы с ним. Обновилось без ошибок, говорят надо перезагрузиться. Вот она перезагрузка:

Alert! /dev/disk/by-uuid/646afa5e-32d….. does not exist. Dropping to a shell.

Я невзрачно глянул на всю эту картину, начал  вкуривать и понял что поставился как то криво GRUB2 (всеми нахваленный) с криво выполенным update-initramfs -u. Начал разбираться:

Первое что мне росилось в глаза так это то, что в /boot/grub/device.map перечислены все 4 мои диска! Но не просто перечислены, а в виде UUID. В Lenny просто писалось (hdo) /dev/sda, (hd1) /dev/sdb. Не долго думаю беру аварийный диск от RedHat 5.4 гружусь в режиме linux rescue, делаю chroot окружение:

mkdir /mnt/system

mount /dev/sda1 /mnt/system (sda1 один из дисков системного райда)

mount -o bind /dev /mnt/system/dev

mount -o bind /selinux /mnt/system/selinux

mount -t proc none /mnt/system/proc

mount -t sysfs none /mnt/system/sys

chroot /mnt/system

И работаю уже непосредственно на своей системе.

Одно большое замечание:

Т.К Я МОНТИРОВАЛ ЧИСТО РАЗДЕЛ, А НЕ МОЙ СОФТОВЫЙ РАЙД, НУ НЕ СТАЛ Я С НИМ ЗАМОРАЧИВАТЬСЯ, И ВЫКИНУЛ ВТОРОЙ ДИСК ПОЛНОСТЬЮ ИЗ СИСТЕМЫ КОМАНДУ update-initramfs -u НИ В КОЕМ СЛУЧАЕ НЕ ДЕЛАТЬ!!!

И так после гуляния по /boot/grub и чтения кучи конфигов понял что все теперь идет по UUID. UUID получить не сложно, есть команда blkid и вижу на свой /dev/md0. В общем изменил device.map на свой привычный сделал update-grub, мне сгенирировался новый grub.cfg, но не тут то было вместо UUID он везде прописал /dev/sda, а именно:

/boot/vmlinuz-2.6.26-2-686 root=/dev/sda

А надо строчку вида:

/boot/vmlinuz-2.6.26-2-686 root=UUID=646afa5e-a3d2-4ce1-9899-c9566e7b10e6

Где 646afa5e-a3d2-4ce1-9899-c9566e7b10e6 собственно мои UUID устройства md0.

И еще set root='(md0)’ представлял в виде set root='(hd0, floppy)’ почему так и не понял. В общем все я сохранил и ребут и вуаля система загрузилась.

Прошел как бы месяц и вот вчера вечером то я решил повыкидывать все лишние ядра, и местечко почистить, да и смысл их хранить? В общем удалил, и опять та же самая ситуация. Начал копать, и выяснил что это БАГ нового загрузчика GRUB2 а именно при включении это фоновой картинки почему то происходит такое вот поведение именно только с софтовым райдом, с обычными дисками все четко. Решение:

  1. Вернуть систему к жизни вышеописанным способом
  2. Сходить в /etc/default
  3. Открыть конфиг grub
  4. И раскоментировать строку GRUB_TERMINAL=console
  5. Сделать update-grub и наслаждаться жизни

Строкой GRUB_TERMINAL=console мы отключили фоновую картинку, т.е вернули старый синий для глаз приятный фон. И при чем теперь загрузчик автоматически ставиться на оба диска в софтовом RAID1, что не может не радовать!  :lol:

Копирайт поста мой, если что кто-то копирует к себе в блог или на пост, то не забываем про меня. Дабы мне было приятно.

Жду комментариев.

 


Добавить комментарий