20130225

squeeze+xen+centos5

понадобилось мне установить виртуальную машину (domu) с centos-5 на squeeze (dom0).
есть в debian gnu/linux замечательный пакет xen-tools, помогающий создавать виртуальные машины.
ориентирован он, понятно, на debian, и использует debootstrap.
но можно устанавливать и rpm-основные дистрибутивы. нужная функциональность имеется в пакете rinse.
вот только команда
$ sudo xen-create-image --hostname centos --install-method=rinse --dist centos-5 …
увы, завершается ошибкой.
шаги преодоления большей частью связаны с python-ом (кто бы сомневался):
  1. dom0 у меня 64-битный. и архитектуру для rinse (по крайней мере в этом случае) нужно указывать явно, добавив параметр --arch=amd64;
  2. в /etc/rinse/centos-5.packages (первоначальный минимальный список пакетов) надо добавить python-libs;
  3. yum-у (точнее, python-у, на котором он написан), требуется /dev/urandom. соответственно, в hook-ах (которые используют chroot) перед/после запуска yum нужно монтировать/отмонтировать /dev из основной системы;
  4. для генерации ssh-ключа системы после установки openssh-server (внутри соответствующего hook-а)требуется запустить (и сразу остановить, чтоб не мешался) sshd.
пункты 2-4 представлены в виде прилагающегося патча: https://sites.google.com/a/barak.in/www/dl/squeeze.xen.centos5.patch

2 комментария:

cub-uanic комментирует...

Раз у вас Дебиан - вам наверняка будет не трудно запустить reportbug и оформить это как баг. Учитывая то, что баз достаточно неприятный и есть патч - весьма вероятно, что его обработают быстро и он попадет в 7-й Дебиан.

Так что не поленитесь :)

Unknown комментирует...

2 cub-uanic
думаю, в wheezy уже всё в порядке.
а в squeeze, ввиду незначительности, эти изменения вряд ли будут включены.