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

Alexey Shabalin a.shabalin на gmail.com
Пт Июн 5 15:00:44 MSK 2015


5 июня 2015 г., 10:28 пользователь Денис Смирнов <mithraen на freesource.info>
написал:

> On Wed, Jun 03, 2015 at 11:48:35PM +0300, Alexey Shabalin wrote:
>
> > Вот тебе mini-howto. Развёрнут простейший вариант.
>
> Спасибо! Работает!
>
> > - внутри контейнера нужен /etc/os-release
>
> Как именно он используется?
>
> Он служит для определения полноценности ОС. nspawn можно запускать без
параметра --boot, и тогда наличие этого файла не проверяется. А если
напускаешь с --boot, то запускается полноценный init, вместо shell, и типа
этот файл показывает наличие полноценной ОС.


> > - добавьте внутри контейнера в /etc/securetty
> > pts/0
> > pts/1
> > pts/2
> > pts/3
>
> Это нужно только для machinectl login?
>
> да. Поэтому и в /etc/fstab нужно убрать упоминания о /dev/pts, systemd
лучше знает как что должно быть смонтировано внутри контейнера.


> > - просмотр логов контейнера
> > journalctl -M systemd-guest1
>
> Кстати, в zsh для опции -M у journalctl autocomplete не работает :(
>
> возможно в новом релизе пофиксили, я видел коммиты для zsh.

> Нужно иметь ввиду, что 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
>
> А откуда при этом берутся MAC-адреса для veth?
>
> генерируются как
-------
       r = generate_mac(&mac_container, CONTAINER_HASH_KEY, 0);
        if (r < 0)
                return log_error_errno(r, "Failed to generate predictable
MAC address for container side: %m");

        r = generate_mac(&mac_host, HOST_HASH_KEY, 0);
        if (r < 0)
                return log_error_errno(r, "Failed to generate predictable
MAC address for host side: %m");
---------


> Как вообще в такой конструкции авторами предполагалось настраивать сеть --
> раздавать адреса по dhcpd, а далее роутинг и DNAT на HN?
>
> В systemd-networkd есть не только dhcp-клиент, но и dhcp-сервер, как раз
предназначенный в первую очередь для обеспечения нужд виртуализации. Так же
nat и роутинг можно определять в сетевых юнит-файлах .network
смотри man systemd.network
[Network]
DHCP=
DHCPServer=
IPForward=
IPMasquerade=
[Route]
Gateway=
Destination=
Source=
Scope=



> > Если нужен другой тип сети (смотрите man systemd-nspawn), дополнительные
> > опции (например --bind=, --bind-ro=), то надо этот unit-файл скопировать
> в
> > /etc/systemd/system под нужным именем и поправить по потребностям, и
> дальше
> > включать|выключать как отдельные сервис.
> > Я писал в рассылку systemd-devel запрос на возможность конфигурирования
> > этих параметров при старте, Ленар ответил что планирует добавить это в
> > будущем.
>


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


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