* [sisyphus] Эксперименты с контейнерами systemd
@ 2015-06-30 8:26 Eugene Prokopiev
0 siblings, 1 reply; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 8:26 UTC (permalink / raw)
To: shaba, ALT Linux Sisyphus discussions
> Правда и хост, и гость у меня i586. Сегодня пересоберу образы обоих
> для x86_64 и проверю с ними.
Итак, собрал на текущем сизифе
http://enp.itx.ru/linux/alt/sisyphus/iso/altlinux-live-systemd-minimal.iso
и http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz из
http://git.altlinux.org/people/enp/packages/mkimage-profile-live-minimal-example.git
и http://git.altlinux.org/people/enp/packages/mkimage-profile-container.git
соответствено. Загляните, кстати, в профили - вдруг там чего не
хватает?
Устанавливаю iso в VirtualBox: там после загрузки нужно разметить диск
с помощью, например, cfdisk (я делаю 3 раздела - под своп, корень и
контейнеры), а потом сказать live-install /dev/sda /dev/sda2. После
ребута в установленной системе говорю:
# apt-repo add sisyphus
# apt-get update
# apt-get install btrfs-progs
# mkfs.btrfs /dev/sda3
# mount /dev/sda3 /var/lib/machines/
Теперь пытаемся создать контейнер:
# machinectl --verify=no pull-tar
http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz
Enqueued transfer job 1. Press C-c to continue download in background.
Pulling 'http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz',
saving as 'container'.
Downloading 52.6M for http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz.
Got 1% of http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz.
...
Got 94% of http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz.
803ms left at 3.5M/s.
Download of http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz complete.
Failed to rename to final image name: Function not implemented
Exiting.
Ладно, тогда так:
# curl http://enp.itx.ru/linux/alt/sisyphus/iso/container.tar.xz >
container.tar.xz
# machinectl import-tar container.tar.xz
Enqueued transfer job 1. Press C-c to continue download in background.
Importing '/root/container.tar.xz', saving as 'container'.
Imported 0%.
...
Imported 99%.
Failed to move image into place: Function not implemented
Exiting.
Тогда вручную:
# cd /var/lib/machines/
# mkdir box0
# cd box0
# tar -xJf /root/container.tar.xz
# machinectl status box0
Could not get path to machine: No machine 'box0' known
# machinectl start box0
# machinectl status box0
box0
Since: Вт 2015-06-30 11:03:50 MSK; 1s ago
Leader: 2958 (systemd)
Service: nspawn; class container
Root: /var/lib/machines/box0
...
Т.е. до сих пор все без изменений. Тогда настраиваем автостарт:
# echo -e "/dev/sda3\t/var/lib/machines\tbtrfs\trelatime\t0 0" >> /etc/fstab
# machinectl enable box0
Created symlink from
/etc/systemd/system/machines.target.wants/systemd-nspawn@box0.service
to /lib/systemd/system/systemd-nspawn@.service.
После ребута смотрим на результаты:
# mount | grep btrfs
/dev/sda3 on /var/lib/machines type btrfs (rw,relatime,space_cache)
# machinectl status box0
Could not get path to machine: No machine 'box0' known
# systemctl status systemd-nspawn@box0.service
● systemd-nspawn@box0.service - Container box0
Loaded: loaded (/lib/systemd/system/systemd-nspawn@.service;
enabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:systemd-nspawn(1)
# machinectl start box0
# machinectl status box0
box0
Since: Вт 2015-06-30 11:18:30 MSK; 5s ago
Leader: 530 (systemd)
Service: nspawn; class container
Root: /var/lib/machines/box0
...
Ладно бы проблемы с созданием контейнеров, но с автостартом - это
совсем неприятно.
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
@ 2015-06-30 11:56 ` Eugene Prokopiev
2015-06-30 12:25 ` Dmitry V. Levin
0 siblings, 2 replies; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 11:56 UTC (permalink / raw)
To: shaba; +Cc: ALT Linux Sisyphus discussions
30 июня 2015 г., 14:23 пользователь Alexey Shabalin
<a.shabalin@gmail.com> написал:
> еще очень рекомендую доставить на хосте и в контейнерах
> libnss-mymachines
> libnss-myhostname
> и /etc/nsswitch.conf должно быть примерно так
> hosts: files myhostname mymachines dns
Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
ping уже ничего про них не знает. При этом systemd-resolved запущен.
Куда еще посмотреть?
> воспроизвел ошибку на kernel-image-std-def-3.14.45-alt1
> Похоже чего-то не хватает в ядре у btrfs.
> на kernel-image-un-def-4.0.6-alt1 все работает отлично.
> Сравнил конфиги ядер, чего-то криминального не обнаружил.
>
> machinectl import-tar container.tar.xz box1
> Imported 99%.
> Operation completed successfully.
> Exiting.
Да, на un-def работает. А насколько оно un? Вон уже 4.1 вышло.
И еще вопрос: а machinectl действительно пользуется какими-то плюшками
btrfs? Какими?
И по выводу machinectl list: а разве он умеет CLASS отличные от
container и SERVICE отличные от nspawn?
> systemctl enable machines.target
> Пожалуй я жестко общесистемно добавлю machines.target в multi-user.target,
> что бы не приходилось это делать руками.
Может и не стоит - вряд ли всем пользователям systemd нужны контейнеры.
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
2015-06-30 11:56 ` Eugene Prokopiev
@ 2015-06-30 12:25 ` Dmitry V. Levin
2015-06-30 13:06 ` Eugene Prokopiev
1 sibling, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2015-06-30 12:25 UTC (permalink / raw)
To: ALT Linux Sisyphus mailing list
[-- Attachment #1: Type: text/plain, Size: 558 bytes --]
On Tue, Jun 30, 2015 at 02:56:51PM +0300, Eugene Prokopiev wrote:
> 30 июня 2015 г., 14:23 пользователь Alexey Shabalin написал:
>
> > еще очень рекомендую доставить на хосте и в контейнерах
> > libnss-mymachines
> > libnss-myhostname
> > и /etc/nsswitch.conf должно быть примерно так
> > hosts: files myhostname mymachines dns
>
> Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
> ping уже ничего про них не знает. При этом systemd-resolved запущен.
> Куда еще посмотреть?
# update_chrooted conf lib
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
2015-06-30 12:25 ` Dmitry V. Levin
@ 2015-06-30 13:06 ` Eugene Prokopiev
2015-06-30 13:15 ` Eugene Prokopiev
0 siblings, 1 reply; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 13:06 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
30 июня 2015 г., 15:25 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
>> Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
>> ping уже ничего про них не знает. При этом systemd-resolved запущен.
>> Куда еще посмотреть?
>
> # update_chrooted conf lib
Это и даже all было сделано первым делом, не помогло, однако
направление видимо верное, потому что telnet таки знает про box0.
Но в чруте вроде все на месте:
# diff /etc/nsswitch.conf /var/resolv/etc/nsswitch.conf
# ls /var/resolv/lib64/
libnsl.so.1 libnss_dns.so.2 libnss_files.so.2
libnss_myhostname.so.2 libnss_mymachines.so.2 libnss_resolve.so.2
libresolv.so.2
Чего может не хватать еще?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
@ 2015-06-30 13:08 ` Eugene Prokopiev
0 siblings, 0 replies; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 13:08 UTC (permalink / raw)
To: shaba; +Cc: ALT Linux Sisyphus discussions
30 июня 2015 г., 15:31 пользователь Alexey Shabalin
<a.shabalin@gmail.com> написал:
>> Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
>> ping уже ничего про них не знает. При этом systemd-resolved запущен.
>> Куда еще посмотреть?
>>
> что бы использовать systemd-resolved во всех программах, надо установить
> libnss-resolve и добавить "resolve" к hosts: в /etc/nsswitch.conf
> нам бы в rpm скрипты-макросы добавить, типа %add_nss_module, %add_pam_module
> (с pam наверно сложнее, переключения у нас через control)
Нет, телнету хватило myhostname mymachines, так что проблема видимо в
чруте пинга - см. предыдущий ответ.
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
2015-06-30 13:06 ` Eugene Prokopiev
@ 2015-06-30 13:15 ` Eugene Prokopiev
2015-06-30 14:58 ` Dmitry V. Levin
0 siblings, 1 reply; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 13:15 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
30 июня 2015 г., 16:06 пользователь Eugene Prokopiev <enp@itx.ru> написал:
> 30 июня 2015 г., 15:25 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
>
>>> Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
>>> ping уже ничего про них не знает. При этом systemd-resolved запущен.
>>> Куда еще посмотреть?
>>
>> # update_chrooted conf lib
>
> Это и даже all было сделано первым делом, не помогло, однако
> направление видимо верное, потому что telnet таки знает про box0.
>
> Но в чруте вроде все на месте:
>
> # diff /etc/nsswitch.conf /var/resolv/etc/nsswitch.conf
> # ls /var/resolv/lib64/
> libnsl.so.1 libnss_dns.so.2 libnss_files.so.2
> libnss_myhostname.so.2 libnss_mymachines.so.2 libnss_resolve.so.2
> libresolv.so.2
>
> Чего может не хватать еще?
Кстати, а libnss_myhostname.so.2 libnss_mymachines.so.2 в принципе
способны работать в чруте? Им же общаться с systemd по шине видимо
надо? Может можно/нужно для этого в чрут что-то доложить или треснет?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
2015-06-30 13:15 ` Eugene Prokopiev
@ 2015-06-30 14:58 ` Dmitry V. Levin
2015-06-30 17:54 ` Eugene Prokopiev
0 siblings, 1 reply; 8+ messages in thread
From: Dmitry V. Levin @ 2015-06-30 14:58 UTC (permalink / raw)
To: ALT Linux Sisyphus mailing list
[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]
On Tue, Jun 30, 2015 at 04:15:27PM +0300, Eugene Prokopiev wrote:
> 30 июня 2015 г., 16:06 пользователь Eugene Prokopiev <enp@itx.ru> написал:
> > 30 июня 2015 г., 15:25 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
> >
> >>> Интересно ... с этим у меня getent ahosts опознает gateway и box0, а
> >>> ping уже ничего про них не знает. При этом systemd-resolved запущен.
> >>> Куда еще посмотреть?
> >>
> >> # update_chrooted conf lib
> >
> > Это и даже all было сделано первым делом, не помогло, однако
> > направление видимо верное, потому что telnet таки знает про box0.
> >
> > Но в чруте вроде все на месте:
> >
> > # diff /etc/nsswitch.conf /var/resolv/etc/nsswitch.conf
> > # ls /var/resolv/lib64/
> > libnsl.so.1 libnss_dns.so.2 libnss_files.so.2
> > libnss_myhostname.so.2 libnss_mymachines.so.2 libnss_resolve.so.2
> > libresolv.so.2
> >
> > Чего может не хватать еще?
>
> Кстати, а libnss_myhostname.so.2 libnss_mymachines.so.2 в принципе
> способны работать в чруте? Им же общаться с systemd по шине видимо
> надо? Может можно/нужно для этого в чрут что-то доложить или треснет?
Попробуйте strace -efile ping box0.
--
ldv
[-- Attachment #2: Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [sisyphus] Эксперименты с контейнерами systemd
2015-06-30 14:58 ` Dmitry V. Levin
@ 2015-06-30 17:54 ` Eugene Prokopiev
0 siblings, 0 replies; 8+ messages in thread
From: Eugene Prokopiev @ 2015-06-30 17:54 UTC (permalink / raw)
To: ALT Linux Sisyphus discussions
30 июня 2015 г., 17:58 пользователь Dmitry V. Levin <ldv@altlinux.org> написал:
>> Кстати, а libnss_myhostname.so.2 libnss_mymachines.so.2 в принципе
>> способны работать в чруте? Им же общаться с systemd по шине видимо
>> надо? Может можно/нужно для этого в чрут что-то доложить или треснет?
>
> Попробуйте strace -efile ping box0.
Сначала не хватило /lib64/librt.so.1 и /lib64/libpthread.so.0,
скопировал, но теперь нужен /run/systemd/machines/box0. С ним как
быть?
--
WBR,
Eugene Prokopiev
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-06-30 17:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-30 8:26 [sisyphus] Эксперименты с контейнерами systemd Eugene Prokopiev
2015-06-30 11:56 ` Eugene Prokopiev
2015-06-30 12:25 ` Dmitry V. Levin
2015-06-30 13:06 ` Eugene Prokopiev
2015-06-30 13:15 ` Eugene Prokopiev
2015-06-30 14:58 ` Dmitry V. Levin
2015-06-30 17:54 ` Eugene Prokopiev
2015-06-30 13:08 ` Eugene Prokopiev
ALT Linux Sisyphus discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
public-inbox-index sisyphus
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sisyphus
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git