[sisyphus] Работа ядра 2.6.32-ovz-el на текущем Sisyphus

Alexey Shabalin a.shabalin на gmail.com
Ср Июн 3 23:48:35 MSK 2015


26 мая 2015 г., 0:23 пользователь Денис Смирнов <mithraen на freesource.info>
написал:

> On Mon, May 25, 2015 at 07:09:07PM +0300, Alexey Shabalin wrote:
>
> > прямо сейчас наверно стоит оставаться на p7.
> > и есть еще один вариант - systemd-nspawn :) есть успешный опыт
> > перевода под systemd-nspawn одной физической машины, и одного
> > контейнера openvz.
>
> Поделись этим опытом ;)
>
> В смысле создание, настройка, развертывание контейнера.
>
>
>
Вот тебе mini-howto. Развёрнут простейший вариант.

Запуск контейнеров под systemd-nspawn
1) берем минимальный установщик server-systemd
http://fly.osdn.org.ua/~mike/iso/test/server-systemd-20150224-x86_64.iso
или
http://ftp.altlinux.ru/pub/people/rider/sisyphus-1.9.3-20150226-server-light-systemd-x86_64-ru-install-cd.iso

2) устанавливаем систему
у server-systemd lilo отказался ставится на virtio vda диск, с virtio-scsi
ставится нормально.
инсталяторы с grub должны ставиться нормально.

3) обновляемся и настраиваем систему:
- настраиваем сеть (простейший вариант с DHCP, с мостами, статикой и т.п.
тоже ничего сложного - все описано в man systemd-networkd)
/etc/systemd/network/10-mgmt.network:
---------
[Match]
Name=eth*

[Network]
DHCP=yes
---------
- apt-get update && apt-get dist-upgrade && update-kernel && apt-get
install tzdata su glibc-locale
- systemctl set-default multi-user.target
- hostnamectl server-systemd.example.com
- timedatectl set-timezone Europe/Moscow
- apt-get install libnss-myhostname libnss-mymachines
- в /etc/nsswitch.conf:
---------
hosts:    files dns mymachines myhostname
---------
- отключаем  все не нужные сервисы sysV через chkconfig(это я про
consolesaver без LSB заголовков), или удаляем пакеты(например sysfsutils)
- systemctl enable sshd.service; systemctl start sshd.service
- можно перегрузиться на всякий случай

4) запускаем контейнер
- берем "шаблон"
http://fly.osdn.org.ua/~mike/iso/test/systemd-bare-20150226-x86_64.tar.xz
- разворачиваем шаблон:
machinectl pull-tar|pull-raw|import-tar пока не работают (к следующему
релизу я их соберу), поэтому разворачиваем архив вручную.
mkdir /var/lib/machines/systemd-guest1
cd /var/lib/machines/systemd-guest1
tar -xJf  /path/systemd-bare-20150226-x86_64.tar.xz
- внутри контейнера нужен /etc/os-release
chroot /var/lib/machines/systemd-guest1/
apt-get update
apt-get install branding-altlinux-centaurus-release
- добавьте внутри контейнера в /etc/securetty
pts/0
pts/1
pts/2
pts/3
- внутри контейнера закомментируйте все в /etc/fstab
- тестовый старт контейнера и установка пароля root'у
systemd-nspawn -D /var/lib/machines/systemd-guest1
passwd
exit

- старт контейнера
machinectl start systemd-guest1
hostnamectl -M systemd-guest1 set-hostname systemd-guest1

- просмотр логов контейнера
journalctl -M systemd-guest1

- вход внутрь контейнера (отключиться от этой сессии входа можно нажав
Ctrl+] 3 раза)
machinectl login systemd-guest1

- включение автозапуска контейнера:
machinectl enable systemd-guest1
systemctl enable machine.target

- настраиваем софт внутри контейнера

Нужно иметь ввиду, что machinectl enable|start это просто надстройка над
/lib/systemd/system/systemd-nspawn на .service, в котором происходит запуск
/usr/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest
--network-veth --machine=%I
Если нужен другой тип сети (смотрите man systemd-nspawn), дополнительные
опции (например --bind=, --bind-ro=), то надо этот unit-файл скопировать в
/etc/systemd/system под нужным именем и поправить по потребностям, и дальше
включать|выключать как отдельные сервис.
Я писал в рассылку systemd-devel запрос на возможность конфигурирования
этих параметров при старте, Ленар ответил что планирует добавить это в
будущем.


-- 
Alexey Shabalin
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/sisyphus/attachments/20150603/770da859/attachment-0001.html>


Подробная информация о списке рассылки Sisyphus