ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [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