OpenVZ в Debian

Два дня назад в Debian Unstable появилось ядро 2.6.26. Особо стоит отметить, что для архитектур i386, ia64 и amd64 существует вариант с OpenVZ. А vserver наоборот выкинули к чертям.

Кстати, все идет к тому что Lenny выйдет без системы виртуализации Xen: в dom0 стабильно может работать только старое ядро 2.6.18, самим Xen’ом уже фактически никто не занимается и даже RedHat, похоже, делает ставку на kvm.

64 бита и бубны

Собрал-таки 64хбитные ядра с поддержкой OpenVZ. При чем как для архитектуры amd64, так и для i386. С i386 вообще обнаружилось весьма много забавностей. Во-первых, если ядро у тебя 64х-разрядное, а userspace 32х, то OpenVZ не будет стартовать. Потому что егойные 32х-разрядные утилиты не могут корректно работать с 64х-разрядным ядром. Пришлось немного извратиться: поставить пакеты vzctl и vzquota от архитектуры amd64 (при помощи dpkg -i –force-architecture) и, для поддержки 64х-битных бинарников, пакет amd64-libs.

Отдельная песня с драйверами nVidia. В принципе ядерный модуль собирается как для 32ти, так и для 64х разряной системе. Но только если userspace такой же как и ядро. Иначе происходит ошибка на этапе компиляции. Пришлось в чруте с 64х-битной системой собитать module-assistant’ом пакет для amd64, который затем поставил в основную 32х-разрядную систему. Работает.

Ядерные новости

Во-первых, одной строкой:
в официальном репозитории debian proposed-updates для дистрибутива stable появилось ядро 2.6.24. В рамках программый Etch’n’Half. Пакеты называются linux-image-2.6.24-etchnhalf.1-<flavour>.

Ну а теперь о более другом.
Как известно, для виртуализации платформы на уровне ОС ((c) Никита Ющенко) в Линуксе используют одну из двух подсистем vserver или OpenVZ. Первая весьма кривая и убогая (по крайней мере по сравнению со второй), но у нее есть одно неоспоримое преимущество – оно есть в Debian “искаробки”. Но и тут все не слава Богу. Дело в том, что разработчик vserver до сих пор не портировал его на ядро 2.6.24. Как результат свежие ядра в Debian Lenny собираются с выключенным featureset “vserver” и “xen-vserver”. Не знаю как там оно будет дальше, но пока это сильно не комильфо. Потому что ядро из stable я на десктопе не хочу, а с другой стороны мне очень не хочется убивать свою настройку системы с виртуальными машинами, которая у меня тут сложилась, а обновиться до 24го ядра надо.

По счастью есть OpenVZ, портированный на 2.6.24, так что дело за малым – взять стандартное дебиановское ядро, добавить туда OpenVZ патч и собрать ядро. Но это все как-то не debian-way, есть же репозитории с ядрами openvz… Оказалось что нет. Ну точнее есть, но для Etch, а для Lenny-то как раз и нету. Ну раз так – надо не только для себя сделать, но и другим помочь, подумал я и решил собрать такое ядро по всем правилам.

Оказалось весьма забавно и довольно просто (хотя довольно много времени потребовалось на то, чтобы разобраться с системой шаблонов, используемой в сурцовом пакете linux-source-2.6).

В общем в итоге, не без небольших локальных проблем, я переполз на openvz, чего желаю всем, кто использует vserver.

Пакеты для Debian Lenny можно взять в моем репозитории, секция openvz. Архитектура пока только i386. Собирать amd64 под qemu у меня чёй-то желания особого не возникает. Да и соответствующие шаблоны еще надо добавить в пакет исходников для этого.