<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">26 мая 2015 г., 0:23 пользователь Денис Смирнов <span dir="ltr">&lt;<a href="mailto:mithraen@freesource.info" target="_blank">mithraen@freesource.info</a>&gt;</span> написал:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On Mon, May 25, 2015 at 07:09:07PM +0300, Alexey Shabalin wrote:<br>
<br>
&gt; прямо сейчас наверно стоит оставаться на p7.<br>
&gt; и есть еще один вариант - systemd-nspawn :) есть успешный опыт<br>
&gt; перевода под systemd-nspawn одной физической машины, и одного<br>
&gt; контейнера openvz.<br>
<br>
</span>Поделись этим опытом ;)<br>
<br>
В смысле создание, настройка, развертывание контейнера.<br>
<br><br><div class=""></div></blockquote></div><div class="gmail_extra"><br></div><div class="gmail_extra">Вот тебе mini-howto. Развёрнут простейший вариант.</div><br><div class="gmail_extra">Запуск контейнеров под systemd-nspawn</div><div class="gmail_extra">1) берем минимальный установщик server-systemd</div><div class="gmail_extra"><a href="http://fly.osdn.org.ua/~mike/iso/test/server-systemd-20150224-x86_64.iso">http://fly.osdn.org.ua/~mike/iso/test/server-systemd-20150224-x86_64.iso</a></div><div class="gmail_extra">или</div><div class="gmail_extra"><a href="http://ftp.altlinux.ru/pub/people/rider/sisyphus-1.9.3-20150226-server-light-systemd-x86_64-ru-install-cd.iso">http://ftp.altlinux.ru/pub/people/rider/sisyphus-1.9.3-20150226-server-light-systemd-x86_64-ru-install-cd.iso</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">2) устанавливаем систему</div><div class="gmail_extra">у server-systemd lilo отказался ставится на virtio vda диск, с virtio-scsi ставится нормально.</div><div class="gmail_extra">инсталяторы с grub должны ставиться нормально.</div><div class="gmail_extra"><br></div><div class="gmail_extra">3) обновляемся и настраиваем систему:</div><div class="gmail_extra">- настраиваем сеть (простейший вариант с DHCP, с мостами, статикой и т.п. тоже ничего сложного - все описано в man systemd-networkd)</div><div class="gmail_extra">/etc/systemd/network/10-mgmt.network:</div><div class="gmail_extra">---------</div><div class="gmail_extra">[Match]</div><div class="gmail_extra">Name=eth*</div><div class="gmail_extra"><br></div><div class="gmail_extra">[Network]</div><div class="gmail_extra">DHCP=yes</div><div class="gmail_extra">---------</div><div class="gmail_extra">- apt-get update &amp;&amp; apt-get dist-upgrade &amp;&amp; update-kernel &amp;&amp; apt-get install tzdata su glibc-locale</div><div class="gmail_extra">- systemctl set-default multi-user.target</div><div class="gmail_extra">- hostnamectl <a href="http://server-systemd.example.com">server-systemd.example.com</a></div><div class="gmail_extra">- timedatectl set-timezone Europe/Moscow</div><div class="gmail_extra">- apt-get install libnss-myhostname libnss-mymachines</div><div class="gmail_extra">- в /etc/nsswitch.conf:</div><div class="gmail_extra">---------</div><div class="gmail_extra">hosts:    files dns mymachines myhostname</div><div class="gmail_extra">---------</div><div class="gmail_extra">- отключаем  все не нужные сервисы sysV через chkconfig(это я про consolesaver без LSB заголовков), или удаляем пакеты(например sysfsutils)</div><div class="gmail_extra">- systemctl enable sshd.service; systemctl start sshd.service</div><div class="gmail_extra">- можно перегрузиться на всякий случай</div><div class="gmail_extra"><br></div><div class="gmail_extra">4) запускаем контейнер</div><div class="gmail_extra">- берем &quot;шаблон&quot; <a href="http://fly.osdn.org.ua/~mike/iso/test/systemd-bare-20150226-x86_64.tar.xz">http://fly.osdn.org.ua/~mike/iso/test/systemd-bare-20150226-x86_64.tar.xz</a></div><div class="gmail_extra">- разворачиваем шаблон:</div><div class="gmail_extra">machinectl pull-tar|pull-raw|import-tar пока не работают (к следующему релизу я их соберу), поэтому разворачиваем архив вручную.</div><div class="gmail_extra">mkdir /var/lib/machines/systemd-guest1</div><div class="gmail_extra">cd /var/lib/machines/systemd-guest1</div><div class="gmail_extra">tar -xJf  /path/systemd-bare-20150226-x86_64.tar.xz</div><div class="gmail_extra">- внутри контейнера нужен /etc/os-release</div><div class="gmail_extra">chroot /var/lib/machines/systemd-guest1/</div><div class="gmail_extra">apt-get update</div><div class="gmail_extra">apt-get install branding-altlinux-centaurus-release</div><div class="gmail_extra">- добавьте внутри контейнера в /etc/securetty</div><div class="gmail_extra">pts/0</div><div class="gmail_extra">pts/1</div><div class="gmail_extra">pts/2</div><div class="gmail_extra">pts/3</div><div class="gmail_extra">- внутри контейнера закомментируйте все в /etc/fstab</div><div class="gmail_extra">- тестовый старт контейнера и установка пароля root&#39;у</div><div class="gmail_extra">systemd-nspawn -D /var/lib/machines/systemd-guest1</div><div class="gmail_extra">passwd</div><div class="gmail_extra">exit</div><div class="gmail_extra"><br></div><div class="gmail_extra">- старт контейнера</div><div class="gmail_extra">machinectl start systemd-guest1</div><div class="gmail_extra">hostnamectl -M systemd-guest1 set-hostname systemd-guest1</div><div class="gmail_extra"><br></div><div class="gmail_extra">- просмотр логов контейнера</div><div class="gmail_extra">journalctl -M systemd-guest1</div><div class="gmail_extra"><br></div><div class="gmail_extra">- вход внутрь контейнера (отключиться от этой сессии входа можно нажав Ctrl+] 3 раза)</div><div class="gmail_extra">machinectl login systemd-guest1</div><div class="gmail_extra"><br></div><div class="gmail_extra">- включение автозапуска контейнера:</div><div class="gmail_extra">machinectl enable systemd-guest1</div><div class="gmail_extra">systemctl enable machine.target</div><div class="gmail_extra"><br></div><div class="gmail_extra">- настраиваем софт внутри контейнера</div><div class="gmail_extra"><br></div><div class="gmail_extra">Нужно иметь ввиду, что 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</div><div class="gmail_extra">Если нужен другой тип сети (смотрите man systemd-nspawn), дополнительные опции (например --bind=, --bind-ro=), то надо этот unit-файл скопировать в /etc/systemd/system под нужным именем и поправить по потребностям, и дальше включать|выключать как отдельные сервис.</div><div class="gmail_extra">Я писал в рассылку systemd-devel запрос на возможность конфигурирования этих параметров при старте, Ленар ответил что планирует добавить это в будущем.</div><div><br></div><div><br></div>-- <br><div class="gmail_signature">Alexey Shabalin<br><br><br><br></div>
</div></div>