Новейший способ установки Debian в DomU.

Раньше это было как с любым другим дистром. Создавался образ или выделялся раздел и примонтировав его к себе в файловую систему на него натравливался debootstrap.

Сейчас умный дядька Joey Hess, слабал конфигурационнай файл для гостевого домена таким образом что если в командной строке указать install=true, установка начнется автоматически. Будут подгружены необходимые ядро и initramfs, и с них начнется загрузка. Единственное, это что сам диск должен быть уже создан. Раздел это или образ не важно, главное что не понадобиться его потом монтировать и чтото изменять. Процесс становиться также прост как и обычная установка. Все гибко настраиваеться, но и дефолтные настройки абсолютно рабочие.

Итак, по ссылке http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/xen/ находятся 3 файла, ядро, рам-диск и конфиг. Качайте себе только конфиг.

Я в данном случае хотел создать переносимое решение в прямом смысле, потому установку делал в файл образа размером в 1Gb созданный такой командой:

dd if=/dev/zero of=/xen/images/debian-host1.img bs=1M count=1024
mkfs.ext3 /xen/images/debian-host1.img

Подготовка раздела диска описана хорошо вот здесь: http://xgu.ru/wiki/Linux_в_Xen . Из этой статьи вам понадобиться только первая часть, подготовка дисков. Все остальное мы и пытаемся профилонить :)  Да и устарела там инфа для lenny к сожалению.

Раздел подкачки создавайте по необходимости:

dd if=/dev/zero of=/xen/images/swap1.img bs=1M count=256
mkswap /xen/images/swap1.img

Далее правите полученный конфиг. Так как начиная с lenny поддерживаються только xvd  устройства, то у меня диски выглядят примерно так:

disk = [
'file:/xen/images/debian-host1.img,xvda1,w',
'file:/xen/images/swap1.img,xvda2,w'
]

Сеть, ее обязательно нужно настроить до начала установки, иначе установки никакой не будет :)

У меня все по дефолту и юзаеться dhcp:
vif = ['']
ну а у вас если есть сложности, то вот сюда: http://xgu.ru/wiki/Сеть_в_Xen

Далее установка:
xm create -c install=true xm-debian.cfg

Она стандартна, и если вы все верно настроили у вас произойдет всего одна ошибка, а именно ошибка установки GRUB. Но он нам то и не нужен, так что можете смело пропускать этот шаг. Но в файл конфигурации своего VDS необходимо будет добавить строки которые вместо GRUB будут указывать откуда брать ядро, рам-диск и какое устройство будет root:

kernel = 'vmlinuz-2.6.26-2-686-bigmem'
ramdisk = 'initrd.img-2.6.26-2-686-bigmem'
root='/dev/xvda1'

Ядро из репозитория lenny не поддерживает 64-битные гостевые домены, потому по дефолту ставится *-bigmem. Вам его необходимо будет скопировать с гостевого домена в директорию /usr/lib/xen-3.2-1/boot:

mount /xen/images/debian-host1.img /mnt -o loop
cp /mnt/boot/vmlinuz-2.6.26-2-686-bigmem /usr/lib/xen-3.2-1/boot/
cp /mnt/boot/initrd.img-2.6.26-2-686-bigmem /usr/lib/xen-3.2-1/boot/
umount /mnt

Также из конфига я убрал все что касалось инсталляции, и добавил вот эти строки:

on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'

После успешного старта, устанавливаю необходимый для меня софт :)

# apt-get install ssh mc screen

Все, установка готова.

По желанию можете изменить размер диска:
dd if=/dev/zero of=debian-host1.img bs=1M conv=notrunc count=1 seek=5000
# сначала узнаем первый свободный девайс
losetup -f
# Осторожно! Если вы подключите не к свободному, ошибку losetup не покажет, но косяки гарантированы
losetup /dev/loop2 debian-host1.img
resize2fs /dev/loop2
e2fsck -f /dev/loop2
losetup -d /dev/loop2

Пункт e2fsck -f /dev/loop2 возможно необходимо будет выполнить перед resize2fs /dev/loop2. Но он сам вам об этом скажет :)

Установка и смена локали по умолчанию
dpkg-reconfigure locales

Также столкнулся с ошибкой ‘clocksource/0: Time went backwards’. Дело в том что на продакшен серваке комп в suspend mode врядли уйдет, потому возможно вы такого не увидите. Я поднял этот образ на своем десктопе, ну и при простое, он у меня подвис.

Комментарии

2 Комментариев к “Новейший способ установки Debian в DomU.”

  1. Max Fedrak 5.Окт.2009 в 9:57

    А сайт то «умного дядки» недоступен… Что огорчает…

  2. Nab 26.Окт.2009 в 16:24

    Да уж, родная ссылка загнулась. Но я так понял все его нововведения приняли, и перенесли в рабочее окружение.
    Ссылка с файлами вот http://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/xen/
    , я заменю в посте наверно.
    Ну и вся инфа на странице дебиан-вики: http://wiki.debian.org/Xen

Написать комментарий.




XHTML: Можете использовать следующий код: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>