30 июня 2010 г.

Ubuntu Server 10.04 установлен, но проблема с загрузчиком ещё не решена

Ubuntu Server 10.04 установлен, но проблема с загрузчиком ещё не решена. Получается ситуация - система есть, а загрузиться в неё нельзя.

Нашёл в интернете информацию, что загрузчик GRUB невозможно установить на аппаратный RAID-0. Странно, ведь подобное объединение жёстких дисков, по-видимому, должно быть распространено на серверах (да и для desktop-систем такой вариант может использоваться). Хотя я читал, что на программный RAID-0 загрузчик должен устанавливаться без проблем - но ведь аппаратное объединение дисков в RAID-массив даёт преимущество в том, что поддержка RAID не нагружает центральный процессор (все необходимые вычисления происходят в контроллере RAID, который, по сути, сам является процессором -- особенно, в случае использования дорогих контроллеров). Читал на одном форуме, что теоретически программный RAID должен работать быстрее -- но, как я уже сказал выше, программная реализация даёт дополнительную нагрузку на ЦП.

Итак, как же установить и _загрузить_ систему?
Решение появилось само собой - взять ещё один жёсткий диск, и установить систему на него (в то время, как образа виртуальных машин будут храниться на быстром RAID-0).

Система установлена, но вот новая проблема - при загрузке появляется сообщение, что невозможно её загрузить... Дело было уже под вечер, я решил, что нужно сделать перерыв (по крайней мере, на сон и еду), и отправился домой. Дома меня осенило - загрузчик каким-то невообразимым образом всё-таки установился в загрузочную запись на RAID-0, и пытается загрузиться оттуда. Разумеется, систему он не видит. Ладно. На следующий день приехал в СГА, поставил в BIOS первым в очереди загрузки RAID-0. Да, так и есть. Загрузчик грузится, система - нет.

Есть мысли по поводу дальнейших действий. Первый вариант -- попытаться установить загрузчик на третий жёсткий диск (который не объединён в RAID), на котором установлена система. Второй вариант (если первый не поможет) -- переустановить систему, предварительно отключив вообще первые два диска. Третий вариант - попытаться всё-таки установить систему на RAID-0 -- ведь загрузчик туда установился, так что ещё есть шанс.

К счастью, со временем меня никто не ограничивает, я могу спокойно со всем разобраться и переустанавливать Ubuntu Server в N-й раз. Собственно, понятно -- работаю я добровольно, можно сказать, за "спасибо", просто из заинтересованности. Для меня эта задача -- как вызов.

Кроме того, что в СГА появится один сервер на Linux, есть ещё одна положительная сторона: я уже начинаю понимать, как работать с LVM (дома я ещё не ставил подобные эксперименты), могу объяснить, в чём различие между программным и аппаратным RAID и каковы сильные и слабые стороны RAID-0. Когда-нибудь мне это пригодиться. Кстати, я подумываю о использовании LVM на домашнем ПК...

26 июня 2010 г.

Проблемы с установкой Ubuntu Server 10.04 на RAID-0 с LVM

Второй день пытаюсь установить Ubuntu Server 10.04 на сервер в НФ СГА. Казалось бы, чего проще - там и так всё упрощено до предела. Установщик с интерфейсом на псевдографике, автоматическое определение оборудования (все необходимые драйвера вроде есть), автоматическая настройка сети, автоматическая опять же настройка параметров системы путём диалога с пользователем... Для начинающего gentoo-шника вроде меня установка этого дистрибутива не должна стать большой проблемой. Я был уверен в успехе.

Вставил диск. Загружаюсь. На компьютере аппаратный RAID-0 -- два жёстких диска объединены в один, и для компьютера они представляются как один накопитель на ~640Гб. Ещё один плюс такого подхода -- повышается скорость чтения и записи, т.к. данные пишутся сразу на два диска, и считываются с двух. Недостаток -- низкая надёжность, ведь если один жёсткий диск выйдет из строя, то на втором останутся "половинчатые" данные, которые уже вряд ли можно будет прочитать/восстановить.

Установщик обнаруживает RAID, предлагает его задействовать. Отвечаю "да". Далее. Настройка дисков. Установщик предлагает несколько вариантов -- по памяти что-то вроде этого:
  1. автоматически разбить диск
  2. использовать весь диск, задействовать и настроить LVM
  3. использовать весь диск, задействовать и настроить LVM с шифрованием
  4. вручную

Пробовал варианты 2 и 4.
Выбираю 2. По-умолчанию -- отдельный (первичный) раздел под /boot с ФС ext2 объёмом ~255Мб, остальное место занимает LVM: логический раздел под swap объёмом ~12,2Гб, и раздел под корневую директорию, на который приходится всё оставшееся место (ФС ext4).
Меня это не очень устраивает. Тем более, что первый раз, когда я пытался разбить диск автоматически, установщик вынес раздел /boot за пределы LVM, хотя, насколько я знаю, система волне может загружаться прямо с LVM-раздела. Как ни странно, в другой раз, при выборе этого пункта, установщик действительно зянял под LVM весь диск и предложил выделить в отдельные "логические тома" (термин LVM) каталоги /, /boot, /usr, /home, /var, /tmp -- почти так, как я разбивал диски у себя на компьютере (для Gentoo в отдельные разделы ещё вынесены каталоги /usr/portage и /usr/portage/distfiles). Интересно, почему же он сразу не предложил такой вариант? Гм...

Выбираю 4. Здесь всё гораздо интереснее.
Занимаю под LVM весь диск. Создаю логические тома под /boot, /, swap, /home. Так как понятия не имею, сколько место потребуется на сервере под каталоги /var, /tmp и пр., решаю не слишком увлекаться дроблением диска, и выделяю под корневой раздел 100Гб в расчёте на то, что в дальнейшем (благодаря возможностям LVM) можно будет уменьшить его объём и/или разбить на отдельные логические тома.
Здесь стоит сказать, под какую задачу будет использоваться этот сервер. На нём будут храниться несколько образов виртуальной машины, каждый образ размером ~40Гб. Если эксперимент по установке и использованию в НФ СГА Ubuntu Server будет успешным, то вполне вероятно, этот дистрибутив будет использован и для других задач. Это одна из главных причин, почему я заинтересован в успехе данного эксперимента.

И вот, настройка разделов завершена, пора устанавливать базовую систему и загрузчик. И всё бы ничего, да вот не хочет устанавливаться загрузчик GRUB2. Причём, он либо вообще не выдаёт никаких сообщений об ошибках (но завершить установку невозможно, разве что продолжать без установки загрузчика), или выдаёт ошибку, что невозможно записать загрузчик на hd0 -- и это, увы, неисправимая ошибка.

Не могу понять -- то ли ему LVM не нравиться, то ли RAID-массив, то ли что-то ещё. Хотя с RAID, по идее, не должно быть проблем. Пробовал ставить систему без использования LVM, но это не помогло. Да и в Интернете видел инструкции по установке Linux на LVM.

Пытался загрузиться с SystemRescueCD, но не смог смонтировать файловые системы, созданные на RAID -- получал сообщение об ошибке.

Продолжу в понедельник. Если уж Википедия использует Ubuntu на серверах, то значит, этот дистрибутив не только можно установить, но и задействовать для решения ответственных задач. Просто сейчас я что-то не так делаю. Осталось только понять, что...

Пришло время для списка

Цитируя Moby, пришло время для списка, а значит, для компиляции нескольких (возможно, не связанных между собой) тем в один пост:

1. 4/5 сессии сданы. Замечательно.
Теперь столько времени провожу в НФ СГА, что некоторые думают, что я опять вернулся на прежнее место работы. Нет, вряд ли.

2. Присутствовал позавчера на предзащите дипломных работ. Скоро и мне придётся через это пройти. Написание диплома, предзащита, защита... Впрочем, я не особо волнуюсь - диплом написать смогу, главное - не оставлять на последний момент основную часть работы.

На предзащиту допускаются все желающие, и это очень интересная процедура. Присутствуют один-два преподавателя. Студент читает речь (как если бы он уже защищал диплом в Москве), преподаватели смотрят дипломную работу и раздаточный материал, задают вопросы. Это вроде генеральной репетиции перед защитой. Если студент допускает ошибки в построении речи и/или в дипломе, то на предзащите есть возможность найти исправить эти ошибки.

3. Вот уже более недели помогаю дипломникам с их работами. Практически ни у кого не принимают дипломную работу с первого раза. Некоторые приносят на проверку диплом в последний момент. Некоторые приезжают в город N^2 на предзащиту из области, и у них просто нет времени кататься туда-сюда с дипломом, чтобы самостоятельно исправить его дома/на работе. Многие просто не знают всех требований, а если знают - то далеко не всегда знают, как выполнить эти требования.

Я неплохо знаю требования к дипломам и правила оформления. Благодаря работе в НФ СГА и самостоятельному написанию трёх курсовых работ, я знаю приёмы работы с текстовыми процессорами Microsoft Office Word и OpenOffice.org Writer. Так что, за какой бы компьютер я не сел, ко мне сразу выстраивается очередь студентов с дипломами для проверки/редактирования. Обычно я не отказываю в помощи. Надеюсь, что когда сам буду делать диплом, то так же смогу рассчитывать на помощь (если, конечно, она мне потребуется).

4. В НФ СГА решили провести эксперимент и поставить Ubuntu Server на один из серверов. Я думаю, что это несколько странно - Linux в СГА? Похоже на деление на ноль, особенно учитывая недавно подписанное Microsoft и СГА соглашение о сотрудничестве.

Впрочем, если подумать, есть нечто общее между распределённой образовательной сетью СГА со всеми филиалами - и свободным ПО, разработка которого является так же распределённым процессом, который осуществляется сообществом разработчиков с разных концов света. В любом случае, это позитивное явление. Я вызвался устанавливать и настраивать Ubuntu Server - хотя у меня нет опыта установки серверной версии этого дистрибутива и вообще работы с серверами, уверен, что смогу решить эту задачу.

5. Недавно вернул к жизни свой старый mp3-плеер, который сломался около года назад - у него был повреждён флэш-накопитель. Я не мог ни записать туда файлы, ни стереть их - плеер заблокировал память, чтоб я мог скопировать с него нужную мне информацию. Проблема в том, что у меня не было там нужной информации, мне нужно было просто форматировать диск. Средствами Windows и Linux я сделать это не смог. Не помогало даже низкоуровневое форматирование диска. Перепробовав все способы, решил переустановить прошивку с помощью утилиты, поставляемой в комплекте вместе с плеером. Помогло.

6. На ноутбуке у меня теперь Windows соседствует с Gentoo. Есть несколько проблем, которые я пока что не смог решить - например, ноутбук не видит CD/DVD-привод, и не монтирует автоматически флэш-карты. Впрочем, у меня сейчас просто нет времени разбираться с этим - возможно, я займусь решением этих проблем в выходные.

7. Уже который день стоит ужасная жара. Плавится асфальт, кажется, ещё чуть-чуть - и начнут плавиться пластиковые бутылки и вспыхнут бумажные пакеты McDonalds, разбросанные повсюду. Периодически ветер доносит из-за города запах горящего торфа. Дороги гудят пробками. Вот оно, лето в городе N^2.

10 июня 2010 г.

жизнь, учёба, gentoo...

Пожалуй, первый раз приближаюсь к сессии без "хвостов". Приятно это осознавать. Можно спокойно готовиться к сессии и наконец-то установить Gentoo на ноутбук, а заодно исправить ошибки, допущенные при первой установке этой ОС на ПК.

Например, я не знал, что процессор моего ПК (Intel Pentium 4 1.7GHz) поддерживает MMX, SSE и SSE2, и не включил эти флаги в /etc/make.conf перед сборкой системы. Хотя эти флаги оптимизации поддерживаются не всеми пакетами, но зато те пакеты, которые их поддерживают, будучи собранные с ними, дают существенный прирост производительности. В частности, это относится к kdelibs и (в особенности) к различным мультимедиа-приложениям. Так, проигрыватель VLC, будучи пересобранный с флагами mmx и sse, стал воспроизводить некоторое HD-видео из моей коллекции практически без "тормозов" (на сильно динамичных сценах всё равно процессор не справляется с обработкой такого потока данных и видео выглядит неприглядно). Это при том, что раньше мой довольно таки древний компьютер вообще не мог нормально возпроизводить видео высокой чёткости - попытки поднять приоритет процесса проигрывателя и/или добиться чего-либо с помощью настройки практически не помогали. Комп скрипел всеми своими 1.7 гигагерцами и миллионами транзисторов, но видео всё равно не воспроизводилось нормально. А теперь вот... Именно на примере мультимедиа-приложений наиболее заметно преимущество сборки программ и системы в целом под конкретное "железо". Всё-таки, если после пересборки VLC начал воспроизводить HD-видео, с этим трудно поспорить.

Всю информацию о процессоре можно получить с помощью

# cat /proc/cpuinfo


...долго думал, какую систему ставить на ноутбук вместо Ubuntu. Мощности ноутбука еле хватает для прожорливого Gnome, о KDE и говорить нечего. Тем более что я хотел не просто сменить дистрибутив, я хотел кардинальных перемен. Окружение вроде Xfce или даже OpenBox, минимум предустановленных программ, нетребовательность к ресурсам ноутбука. Можно было бы выбрать "готовый" лёгкий дистрибутив, который _условно_ соответствует моим требованиям. Но, так как я не ищу простых путей, то решил повторно сдать экзамен по установке Gentoo.

Загрузился с LiveCD SystemRescueCD 1.5.5 (это гораздо удобнее, чем собирать и настраивать систему, загрузившись с LiveCD Ubuntu и тем более LiveDVD Gentoo). Установил базовую систему, вручную настроил и собрал ядро. Система не грузится. Долго бился над загрузкой, нашёл несколько ошибок, исправил - не грузится!.. Думал, дело в загрузчике. Поставил новый GRUB 1.98 (GRUB2). Несколько раз перекофигурировал (слово-то какое) ядро - не грузится, и всё тут. Извечный вопрос - что делать? В интернете нет рецепта именно для моего ноутбука (Toshiba Satellite L30-114). По-видимому, в ядро нужно включить ещё какие-то драйвера, т.к. система не может примонтировать при загрузке корневой каталог. Но какие драйвера? Гм... На третий день, то есть, сегодня, решение было найдено. Раз LiveCD загружается, значит, в ядро все необходимые драйвера включены - осталось только где-нибудь подсмотреть, какие именно драйвера. Гениально просто. Загрузившись с LiveCD, пишем в консоли:

# lspci -k


И видим список оборудования, подключенного к шине PCI. Более того, благодаря флагу -k, видим драйвера, которые используются ядром для каждого устройства. Остаётся только включить эти драйвера в ядро новой системы.

О ходе процесса сборки системы на ноуте пишу на Twitter. В последнее время, я чаще пишу туда, чем в этот блог... Наверное, это побочный эффект того, что я установил Twitter-клиент для Emacs.