ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] Поломалось lxc-create если на lvm
@ 2018-12-14 11:19 Максим Васюк
  2018-12-17  7:20 ` Максим Васюк
  0 siblings, 1 reply; 3+ messages in thread
From: Максим Васюк @ 2018-12-14 11:19 UTC (permalink / raw)
  To: sysadmins

Всем, привет!

alt-server-8.2-x86_64

Всё было хорошо.
lxc-create -n test_04 -t altlinux -B lvm --vgname vg_test --lvname test_04_root --fstype ext4
отрабатывало как надо.
Конфиг падал в /var/lib/lxc/test_04/config
Автоматом создавался том lvm. Затем я запускал контейнер и он работал.
И
lxc-destroy -n test_04 
отрабатывала как надо.
Удаляла контейнер и том lvm автоматически.
По кругу несколько раз, было всё пучком.

Потом я решил посмотреть, как себя ведёт lxc-create c параметром -P
lxc-create -P /root/tmp -n test_04 -t altlinux -B lvm --vgname vg_test --lvname test_04_root --fstype ext4
Контейнер создался и lvm том создался.
Часть конфига лежала в /var/lib/lxc/test_04, а часть в /root/tmp/test_04.
Меня это не устроило и решил удалить контейнер.
Уже не помню точно, вроде как, в /var/lib/lxc каталог удалился, а вот в /root/tmp нет, и самое подозрительное что том lvm тоже остался.
Т.к. lxc-create у меня не хотел создавать контейнеры на уже созданном lvm томе, я его удалил руками.

После этого lxc-create перестала создавать контейнеры, если указать в -B lvm.
Если -B dir то отрабатывает без ошибок. С lvm ни в какую.
Перезагрузка тоже не помогает. Что где прописалось где, непонятно.
Причем lvm том создается, а накатить туда фс и примонтировать она уже не в состоянии.
Кроме выхлопа в консоль, больше логов нигде не нашел.

# lxc-create /root/tmp -n test_06 -t altlinux -B lvm --vgname vg_test --fstype ext4
File descriptor 3 (/var/lib/lxc/test_06/partial) leaked on lvcreate invocation. Parent PID 1681: lxc-create
File descriptor 7 (pipe:[16464]) leaked on lvcreate invocation. Parent PID 1681: lxc-create
WARNING: ext4 signature detected on /dev/vg_test/test_06 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/vg_test/test_06.
  Logical volume "test_06" created.
lxc-create: bdev/bdev.c: mount_unknown_fs: 780 failed to determine fs type for '/dev/vg_test/test_06'
lxc-create: lxccontainer.c: create_run_template: 1115 Error mounting rootfs
lxc-create: lxccontainer.c: create_run_template: 1290 container creation template for test_06 failed
File descriptor 3 (/run/lxc/lock/var/lib/lxc/.test_06) leaked on lvremove invocation. Parent PID 1680: lxc-create
File descriptor 7 (pipe:[16464]) leaked on lvremove invocation. Parent PID 1680: lxc-create
  Logical volume "test_06" successfully removed
lxc-create: tools/lxc_create.c: main: 318 Error creating container test_06

 --
Васюк Максим


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Sysadmins] Поломалось lxc-create если на lvm
  2018-12-14 11:19 [Sysadmins] Поломалось lxc-create если на lvm Максим Васюк
@ 2018-12-17  7:20 ` Максим Васюк
  2018-12-17  7:29   ` Максим Васюк
  0 siblings, 1 reply; 3+ messages in thread
From: Максим Васюк @ 2018-12-17  7:20 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

> Потом я решил посмотреть, как себя ведёт lxc-create c параметром -P
> lxc-create -P /root/tmp -n test_04 -t altlinux -B lvm --vgname vg_test --lvname test_04_root --fstype ext4
> Контейнер создался и lvm том создался.
> Часть конфига лежала в /var/lib/lxc/test_04, а часть в /root/tmp/test_04.
> Меня это не устроило и решил удалить контейнер.
> Уже не помню точно, вроде как, в /var/lib/lxc каталог удалился, а вот в /root/tmp нет, и самое подозрительное что том lvm тоже остался.
> Т.к. lxc-create у меня не хотел создавать контейнеры на уже созданном lvm томе, я его удалил руками.

> После этого lxc-create перестала создавать контейнеры, если указать в -B lvm.
> Если -B dir то отрабатывает без ошибок. С lvm ни в какую.
> Перезагрузка тоже не помогает. Что где прописалось где, непонятно.
> Причем lvm том создается, а накатить туда фс и примонтировать она уже не в состоянии.
> Кроме выхлопа в консоль, больше логов нигде не нашел.

Тут я ошибся, создавать с -B dir получается, а вот запустить уже нет, зависает процесс запуска и консоль не отдает, даже Ctrl-C не помогает.
Приходится по pid с другого терминала убивать.

Сделал
lxc-start -F -n test_07
И увидел вот что:
lxc-start: cgroups/cgfsng.c: cgfsng_create: 1072 No such file or directory - Failed to create /sys/fs/cgroup/systemd//lxc/test_07: No such file or directory
lxc-start: conf.c: setup_rootfs: 1207 No such file or directory - failed to access to '/usr/lib64/lxc/rootfs', check it is present
lxc-start: conf.c: do_rootfs_setup: 3623 failed to setup rootfs for 'test_07'

Видимо в процессе создания/удаления контейнеров с разными опциями каталог /usr/lib64/lxc/rootfs каким-то образом удалился. Полез в пакет lxc-lib(rev).rpm, он там лежит, а в нём README, что мол, этот пустой каталог должен быть, в него временно разворачивается корень.
Я положил туда этот каталог и всё стало прекрасно!
Контейнеры стали нормально запускаться, а также создаваться с опцией -B lvm и также корректно запускаться.

Решил повторить финту ушами:
# lxc-create -n test_08 -t altlinux -B lvm --vgname vg_test --fstype ext4 -P /root/tmp
отработал как надо
lvm-том создался, конфиг упал в /root/tmp.
# lxc-start -n test_08 -F
Контейнер запускается и работает.
Выключаю.
И самое интересное:
# lxc-destroy -n test_08
lvm-том не удалился, а вместо него удалился каталог /usr/lib64/lxc/rootfs.

Я что-то делаю не так или всё-таки бага?

 --
Васюк Максим


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Sysadmins] Поломалось lxc-create если на lvm
  2018-12-17  7:20 ` Максим Васюк
@ 2018-12-17  7:29   ` Максим Васюк
  0 siblings, 0 replies; 3+ messages in thread
From: Максим Васюк @ 2018-12-17  7:29 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

> Решил повторить финту ушами:
> # lxc-create -n test_08 -t altlinux -B lvm --vgname vg_test --fstype ext4 -P /root/tmp
> отработал как надо
> lvm-том создался, конфиг упал в /root/tmp.
> # lxc-start -n test_08 -F
> Контейнер запускается и работает.
> Выключаю.
> И самое интересное:
> # lxc-destroy -n test_08
> lvm-том не удалился, а вместо него удалился каталог /usr/lib64/lxc/rootfs.

И в каталоге /root/tmp конфиг остаётся.

> 
> Я что-то делаю не так или всё-таки бага?

Если делать дистрой с -P:
# lxc-destroy -n test_08 -P /root/tmp

Процесс проходит нормально, все конфиги и lvm-том удаляются.

Но вопрос про багу остаётся.

 --
Васюк Максим


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-17  7:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-14 11:19 [Sysadmins] Поломалось lxc-create если на lvm Максим Васюк
2018-12-17  7:20 ` Максим Васюк
2018-12-17  7:29   ` Максим Васюк

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/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 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git