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

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


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

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

Шаг 1. Создаём файл кикстарта и делаем его доступным по http.

# touch /var/www/html/test.ks
# service httpd start
Starting httpd:                   [  OK  ]
#

проверяем

#wget http://my.ip.add.ress/test.ks

Если файл доступен, добавляем в него содержимое, например, такое:

# Kickstart file automatically generated by anaconda.

#version=DEVEL
install
url --url=http://mirrors.yandex.ru/centos/6.2/os/x86_64/
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
#network --onboot no --device eth1 --noipv4 --noipv6
rootpw  justapass
firewall --service=ssh
authconfig --enableshadow --passalgo=sha512
selinux --enforcing
timezone --utc America/New_York
bootloader --location=mbr --driveorder=vda --append=" console=ttyS0 crashkernel=auto"

clearpart --all --drives=vda,vdb --initlabel

part /boot --fstype=ext4 --size=200 --ondrive=vda
part /tmp --fstype=ext4 --size=800 --ondrive=vda
part / --fstype=ext4 --size=1 --grow --ondrive=vda
part swap --size=1 --grow --ondrive=vdb

repo --name="CentOS"  --baseurl=http://mirrors.yandex.ru/centos/6.2/os/x86_64/ --cost=100

%packages --nobase
@core
acpid
%end


Пара пояснений.

В целом, мы устанавливаем систему по сети. Разбиваем диск следующим образом. Сначала чистим все разделы и задаём им метку (initlabel, иначе установщик будет просить инициализировать диск, если диск чистый).

clearpart --all --drives=vda,vdb --initlabel

Затем создаём непосредственно сами разделы

/boot на vda, фс ext4, использовать 200Мб
/tmp на vda, фс ext4, использовать 800Мб
/  на vda, фс ext4, использовать всё свободное место
swap vdb, использовать всё свободное место

Установить без swap-раздела не получается, система не загружается. Не разбирался с этим.
Описание всех параметров на русском языке вы найдёте в документации, поэтому я тут отдельно не описываю.
Пример файл кикстарта для вашей текущей установки можно найти в /root/anaconda-ks.cfg. Установщик автоматически записывает туда все параметры.
Не забудьте поменять пароль рута (параметр rootpw)!

Всё. Первый шаг готов.

Шаг 2. Запуск установки.

virt-install --force --hvm --connect qemu:///system --network network=default,mac=52:54:00:xx:xx:xx --name 'test' --cpu host --ram=756 --vcpus=2 --location http://mirrors.yandex.ru/centos/6.2/os/x86_64/ --nographics -x 'ks=http://my.ip.add.ress/testserver.ks console=ttyS0 utf8' --disk=/var/lib/libvirt/images/test.img,size=3 --disk=/dev/mapper/VGMainSpace-LVtestSwap
Собственно, строка запуска установщика точно такая же как и для установки в текстовом режиме. Отличия в том что сейчас мы передаём путь к кикстарт-файлу и подключаем дополнительный диск для swap-раздела. Вот и всё. Глядим на экран и пьём кофе. Если вы не написали в кикстарт-файле слово reboot, то вас попросят перезагрузиться.

Спасибо за внимание.

PS. Список дополнительные пакетов, которые нужно установить для работы с SELinux есть на этой странице. Кратко, для текстового режима:

policycoreutils-python
policycoreutils
selinux-policy
selinux-policy-targeted
setroubleshoot-server
libselinux-utils

Комментариев нет:

Отправить комментарий