Fedor
Denis
Fedor
Denis
а ведь еще есть systemd в котором есть machinectl, который умеет создавать nspawn из docker/raw/qcow. lxc не нужон
Pavel
systemd - гавна кусок
Denis
systemd - гавна кусок
зря ты так, очень отличный инструмент. просто невероятное количество проблем решает
Pavel
Очень просто получить 5 минут на подняие интерфейса/монирование/etc
Denis
Pavel
везде
Denis
так она так делала и до systemd
Denis
Pavel
значит вы ни разу его не ломали
Denis
centos/fedora/fcos, systemd-nspawn/libvirt/docker
Denis
NS 🇷🇺
Denis
вместо богомерзкого fstab, есть .mount
Pavel
в /etc/fstab допишите в любую строку что-нибудь не то и в ребут отправьте
Denis
вместо убогого limits.conf есть великолепные сигруппы прямо в .service файле! просто крайне удобно! А конфиги? рантайм, вендор-wide и user-wide просто то, чего все это время не хватало!
Жаль, тех кто не освоил этого
например нужно поднять лимиты по открытым файлам для сервиса xxx
systemctl show xxx
systemctl cat xxx
systemctl edit xxx
Pavel
Denis
Pavel
Denis
Всегда просто руглася на строку и шел дадльше. без 5 минту ожиданий
так вот, с приходом .mount можно во первых выстроить зависимости, например если запустился php-fpm - смонтируй диск, не удалось? ну и ладно, не раскорячивай систему, а загрузись! причем быстро еще и асинхронно! При этом сервисам через дроплеты в оверрайде можно указать зависимости от этого маунта!
Denis
fstab просто должен был умереть, ему такое никогда в жизни не сделать. исключительно только bash скриптом и слава богу если он будет не в rc.local
Denis
Тащемто на пользователя
обрати внимание на пользователя да, но глобально! Не на какой-то сервис, а глобально!
Т.е. если у тебя есть user1 и под ним работает пара сервисов, то 1 может выжрать лимит у других. И начинаются приключения, а давай группу создадим, засунем туда наши сервисы, пойдем перелопатим код и кониги сделаем 660/770... ради чего все эти упражнения? ну просто для сервиса укажем лимит и юзера - готово!
с логами тоже жопа и там отдельная история)))
Pavel
И что мне мешало раньше в сигрупп сделать тоже самое? но без системдЫ
Denis
NS 🇷🇺
Denis
вспотеешь это делать
Pavel
ну я про 2
Pavel
никогда не потел. 1 раз пишем дальше делам include
Denis
Pavel
source
Denis
т.е. оно прям стандартизированное, задокументированное ага?))
Denis
ну чуешь, что анархия под капотом же
Pavel
да, для bash и остальных
Denis
как в pam сейчас
Влада
Привет) при конвертировании образа vdi в raw и загрузке его в openstack, при старте ВМ получаю ошибку:
dracut-initqueue[534]: Warning: Could not boot
dracut-initqueue[534]: Warning: /dev/mapper/root does not exist
Entering emergency mode. Exit the shell to continue.
Конвертация выполнялась так: VBoxManage clonehd image.vdi image.raw --format raw
При установке ОС использовались LVM. Потом нерабочий образ raw был примонтирован на рабочую систему:
losetup -f
losetup /dev/loop0 image.raw
kpartx -av /dev/loop0
vgscan
vgchange -ay
mount /dev/<name>/root /mnt
Потом было выполнено обновление конфигурации загрузки:
mount /dev/mapper/centos-root /mnt/
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
mount -o bind /proc /mnt/proc
mount /dev/sda1 /mnt/boot
chroot /mnt
cd /boot
dracut -f [initramfs-версия ядра.img] [версия ядра]
grub2-mkconfig -o /boot/grub2/grub.cfg
Но при запуске ошибка сохраняется. В чем может быть проблема? может что-то не так делаю?
Vyacheslav
в virt manager запускается локально с диска?
Vadim
Влада
Влада
а вот то что я делаю обновление загрузки это меняет сам образ raw?
Влада
Denis
И важно, там, где запускали grub-mkconfig uefi/bios и целевая система какая? Это очень важно, т.к. скрипт будет генерировать на основани текущей системы, можно переопределить конечно же. Тут важно осознавать что ты делаешь
Влада
Denis
Denis
Ещё стоит обратить внимание на сам конфиг, который сгенерился, там случаем не попали диски от вашей системы. Ну и тип загрузки для uefi даже путь другой и да, обычно boot на другом разделе и нужно до chroot монтировать его
Denis
losetup умеет сканить партиции, наизусть не помню, но результат loop0p1 и loop0p2 и т.д
Влада
по сути две одинаковых системы
Denis
Загугли как определить, там где-то в /sys или proc есть папка firmware, по этим кейвлрдам найдешь)
Влада
Влада
Влада
у гостя значит тоже
Denis
Отлично, значит проблем быть не должно и путь до конфига верный, осталось выяснить что с /boot разделом, он на отдельном разделе или нет?
Denis
Denis
Если примонтирован был / который на lvm, то в нем /boot и должен быть пустым, ведь файлы на другом разделе!
Влада
Denis
Ну смотри, есть блочный девайс /vda, на нем таблица разделов mbr или gpt, в ней уже сам разделы, vda1 обычно монтируется как /boot, на lvm может быть что угодно, в том числе /, дальше граб, если у нас bios, грузится из mbr, ищет раздел с флагом boot, можно посмотреть в fdisk
Влада
а не знай почему вот это не помогло: https://xhop.ru/nix-sistemyi/centos-7-dracut-boot-recovery/ ?
Denis
Если найдёт, читает свой конфиг, и согласно конфмгу грузит модули, читает образ ядра vmlinuz и initramfs дальше уже не его дело:)
Denis
Дракут калдунская штука ага:)
Denis
Там обычно косяк в указании версии ядра
Denis
Там можно вывести список и сравнить с тем что в буте лежит
Denis
Или даже файл указать
Влада
делала так вроде dracut -f initramfs-5.10.1-1.el7.x86_64.img 5.10.1-1.el7.x86_64
Влада
initramfs-5.10.1-1.el7.x86_64.img лежит в /boot