суббота, 15 февраля 2014 г.

воскресенье, 4 ноября 2012 г.

Ubuntu. alert /dev/mapper/ does not exist. dropping to a shell

Если вы во время загрузки (в recovery mode) ubuntu встретили сообщение вроде "alert /dev/mapper/xxx does not exist. dropping to a shell", где /dev/mapper/xxx ваш root-раздел, то попробуйте сделать в консоли busybox'а (куда вас неприменно выбросит) следующие действия: наберите lvm. Если комманда lvm не найдена, то вам нужен другой совет (скорее всего нужно загрузиться с ливсиди и собрать initramfs так чтобы он содержал lvm). В этом случае дальше можете не читать. Если же команда lvm завершилась успешно (вы находитесь в lvm-консоли), то наберите vgscan. Если и эта команда завершилась удачно, наберите exit чтобы выйти из lvm, затем ещё раз exit чтобы выйти из busybox. Загрузка должна продолжиться и завершиться успешно. Если всё так и произошло, то проверьте, установлен ли у вас пакет dmeventd (или просто попробуйте установить его: sudo apt-get install dmeventd). Если пакет dmeventd не был установлен и установился, то выполните команду sudo update-initramfs -a -c -k all. После этого система должна загружаться успешно.

Список комманд.
Для busybox:

Gave up waiting for root device. Common problems: 
- Boot args (cat /proc/cmdline) 
- Check rootdelay= (did the system wait long enough?) 
- Check root= (did the system wait for the right device?) - Missing modules (cat /proc/modules; ls /dev) 

ALERT! /dev/mapper/root1210 does not exist. Dropping to a shell!
 
lvm 
lvm> vgscan 
Reading all physical volumes. This may take a while... 
Found volume group "ubuntu" using metadata type lvm2 
lvm> exit
exit

 
После успешной загрузки:

sudo apt-get install dmeventd
sudo update-initramfs -a -c -k all

воскресенье, 20 мая 2012 г.

CentOS 6.2, SElinux, httpd, mysql. Настройка

Настройка на сервере подсистемы безопасности SElinux позволяет увеличить безопасность обслуживаемой системы. Небольшой абзац по поводу "А что такое SELinux?", а так же ссылки на документацию можно найти по ссылке CentOS, KVM, SELinux. Здесь я повторяться. Практически никаких трудностей с настройкой нет, хотя если Вы не разбираетесь в вопросе, настройка может занять существенное время.

Первое на что я хотел бы обратить внимание - это на то что подсистема должна быть включена. Для этого проверьте файл /etc/selinux/config. Убедитесь, что для SELINUX установлено значение enforcing, а для SELINUXTYPE - targeted. Значение permissive вместо enforcing заставляет подситему selinux лишь слать предупреждения, но не запрещать действия (такой режим хорош для обучения и отладки).

Ниже я просто приведу схему (шаг за шагом) как я настраиваю selinux на для своих заказчиков.

вторник, 28 февраля 2012 г.

Удалить устаревшие версии ядра, CentOS, Red Hat, Fedora

Часто возникает ситуация, когда после нескольких обновлений заканчивается место на загрузочном разделе (если он у Вас, скажем, 200Mb). Или просто собирается большое количество версий ядра, которые просто занимают место и никому уже не нужны. Можно конечно удалять каждую из них руками, используя yum, но есть способ проще:

yum install yum-utils
package-cleanup --oldkernels --count=2

Комманда package-cleanup удаляет все версии ядра, кроме двух последних (т.е. двух самых новых). Пользуйтесь наздоровье :)

суббота, 7 января 2012 г.

Установка CentOS 6.2 в kvm. Кикстарт (kickstart) - раз, два и готово!


Кикстарт(kickstart) установка отличается от обычной установки тем, что не задаёт вопросов. Ответы на все вопросы вы заранее помещаете в кикстарт-файл и отдаёте его программе установки, например, по http. Кикстарт установка может быть выполнена как в текстовом так и в графическом режиме. Возможно автоматическое создание скриншотов (см. документацию, кстати говоря, документация по установке и ещё несколько разделов полностью на русском языке. Спасибо компании red hat и переводчикам, читать гораздо удобнее).

Мы выполним установку в текстовом режиме. Для этого нужно сделать всего два простых шага:

четверг, 29 декабря 2011 г.

CentOS, KVM, SElinux.

Для начала небольшое введение. SELinux - Security-Enhanced Linux (Линукс с улучшенной безопасностью) подсистема ядра, предназначенная для повышения защищённости ОС Линукс. Если говорить кратко, то с помощью SElinux Вы имеете возможность добавить дополнительные ограничения, вступающие в действия только если нет обычных ограничений. Простой пример. Есть каталог, пусть /web . Вы можете поставить на него права 777 (то есть все могут туда писать). А потом, с помощью SElinux, запретить одному конкретному пользователю (или группе пользователей) писать в этот каталог. Кстати говоря, наоборот сделать не получиться, т.е. нельзя поставить права 000 и разрешить посредством механизмов SElinux использовать каталог, к примеру, пользователю и/или группе, потому что проверки SElinux выполняются только в случае если получено разрешение механизма DAC (Discretionary Access Control - избирательное управление доступом, привычный механизм управления доступом в linux).

В прошлых статьях мы установили CentOS в виртуальную машину и подключили к ней том LVM. И нам, конечно, было бы полезно использовать механизмы SElinux для обеспечения безопасности нашей хост-системы и изоляции гостей друг от друга.

понедельник, 26 декабря 2011 г.

KVM и CentOS 6.2. Добавление диска (lvm-раздела) гостевой ОС. Горячее подключение (hot plug).

В прошлой статье мы рассмотрели процесс установки kvm на CentOS 6.2. Установка велась в текстовом режиме, чтобы имея доступ по ssh не городить лишний огород с запуском графической системы и проброской её до компьютера администратора (или подключением по vnc).

Для установки использовался обычный файл хост-системы, который kvm предоставлял гостю как дисковое устройство. Несмотря на то что по умолчанию используется virtio-драйвер (а значит паравиртуализация для устройства), производительность схемы с файлом снижается по сравнению с обычным устройством теоретически хотя бы потому что дублируются функции файловой системы (гость создаёт свою файловую систему, которая работает как бы "поверх" файловой системы хоста). Практика подтверждает потери производительности. А хотелось бы не терять зачастую столь необходимую производительность подсистемы ввода-вывода (вв).

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

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

В данной статье я расскажу как подключить lvm-раздел хост-системы напрямую к гостевой системе (lvm - сокращение от Logical Volume Manager - менеджер логических томов, документация на русском есть тут http://xgu.ru/wiki/Lvm , ну и у вас всегда есть man) . Этот подход позволяет сочетать гибкость, которую предоставляет lvm (например, динамическое изменение размера раздела и мнгновенные снимки, которые на мой взгляд, удобны для резервного копирования) и скорость, которую предоставляет паравиртуализация.

Вся наша работа сводится к 3 шагам:

1) Создание lvm-разделов.

2) Подключение lvm-раздела к виртуальной машине средствами virsh.

3) Работа с новым устройством внутри гостевой ОС. Подключение дополнительного диска без перезагрузки гостевой ОС (горячее подключение, hot plug).

Итак, приступим.