Fedor
Докер нормально когда не хочешь в систему ставить всякое гавно
Да похуй на систему, новую зальём в полпинка))
icinga
давно уж усовершенствовали
*прогнулись под изменчивый мир(
Pavel
Да похуй на систему, новую зальём в полпинка))
Это тупо быстрее. на запуск всего то 2-3 секунды и на откат столько же
Denis
а ведь еще есть systemd в котором есть machinectl, который умеет создавать nspawn из docker/raw/qcow. lxc не нужон
Pavel
systemd - гавна кусок
Denis
Это тупо быстрее. на запуск всего то 2-3 секунды и на откат столько же
а еще есть SCL, который "ставит в папку" софтину и в целом тоже можно довольно оперативно переключаться, почти как с контейнерами
Denis
systemd - гавна кусок
зря ты так, очень отличный инструмент. просто невероятное количество проблем решает
Pavel
Очень просто получить 5 минут на подняие интерфейса/монирование/etc
Pavel
везде
Denis
так она так делала и до systemd
Denis
везде
1 раз слышу)
Pavel
значит вы ни разу его не ломали
Denis
centos/fedora/fcos, systemd-nspawn/libvirt/docker
NS 🇷🇺
значит вы ни разу его не ломали
я тоже нежно люблю системд =)
Denis
вместо богомерзкого fstab, есть .mount
Pavel
в /etc/fstab допишите в любую строку что-нибудь не то и в ребут отправьте
Fedor
в /etc/fstab допишите в любую строку что-нибудь не то и в ребут отправьте
о ебать, а чо придумали по-другому? вообще не слежу за трендами в области линухов
Denis
вместо убогого limits.conf есть великолепные сигруппы прямо в .service файле! просто крайне удобно! А конфиги? рантайм, вендор-wide и user-wide просто то, чего все это время не хватало! Жаль, тех кто не освоил этого например нужно поднять лимиты по открытым файлам для сервиса xxx systemctl show xxx systemctl cat xxx systemctl edit xxx
Denis
о ебать, а чо придумали по-другому? вообще не слежу за трендами в области линухов
так fstab больше не fstab! systemd его парсит и делает вид, что ничего не происходит, а на самом деле он генерирует .mount юниты прям в рантайме)
Denis
А ничего что это на разном уровне ?
раньше лимит для сервиса можно было указать только через задницу, либо глобально на всю систему, что вообще отвал жопы
Pavel
успокойся, так было и до systemd.
Всегда просто руглася на строку и шел дадльше. без 5 минту ожиданий
Denis
Всегда просто руглася на строку и шел дадльше. без 5 минту ожиданий
так вот, с приходом .mount можно во первых выстроить зависимости, например если запустился php-fpm - смонтируй диск, не удалось? ну и ладно, не раскорячивай систему, а загрузись! причем быстро еще и асинхронно! При этом сервисам через дроплеты в оверрайде можно указать зависимости от этого маунта!
Denis
fstab просто должен был умереть, ему такое никогда в жизни не сделать. исключительно только bash скриптом и слава богу если он будет не в rc.local
Denis
Тащемто на пользователя
обрати внимание на пользователя да, но глобально! Не на какой-то сервис, а глобально! Т.е. если у тебя есть user1 и под ним работает пара сервисов, то 1 может выжрать лимит у других. И начинаются приключения, а давай группу создадим, засунем туда наши сервисы, пойдем перелопатим код и кониги сделаем 660/770... ради чего все эти упражнения? ну просто для сервиса укажем лимит и юзера - готово! с логами тоже жопа и там отдельная история)))
Pavel
И что мне мешало раньше в сигрупп сделать тоже самое? но без системдЫ
Denis
вспотеешь это делать
Pavel
ну я про 2
Denis
сигруппы до сигрупп2 унылое гавно =)
а какая разница? в этом плане одинаково приятно же
Pavel
никогда не потел. 1 раз пишем дальше делам include
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 запускается локально с диска?
Влада
в virt manager запускается локально с диска?
нет. Если образ изначально в raw создан, то проблем нет
Vadim
Привет) при конвертировании образа 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 Но при запуске ошибка сохраняется. В чем может быть проблема? может что-то не так делаю?
Подобная проблема обычно связана с тем, что при смене сред виртуализации, меняются имена блочных устройств завязанных на pv. Я такое решал следующим образом, когда ВМ при загрузке вываливалась в ошибку, использовал следующие команды: chroot /mnt/sysimage dracut --regenerate-all -f && grub2-mkconfig -o /boot/grub2/grub.cfg После выход из chroot и ребут ВМ.
Влада
а вот то что я делаю обновление загрузки это меняет сам образ raw?
Denis
/boot/grub2/grub.cfg у меня такого нету
Uefi/bios? При совершении chroot, монтировались ли каталоги /dev,sys,proc,run с опцией --bind
Denis
И важно, там, где запускали grub-mkconfig uefi/bios и целевая система какая? Это очень важно, т.к. скрипт будет генерировать на основани текущей системы, можно переопределить конечно же. Тут важно осознавать что ты делаешь
Denis
я выше описала, что именно делалось
Я не увидел ответов на эти вопросы поэтому задаю наводящие на решение:)
Влада
И важно, там, где запускали grub-mkconfig uefi/bios и целевая система какая? Это очень важно, т.к. скрипт будет генерировать на основани текущей системы, можно переопределить конечно же. Тут важно осознавать что ты делаешь
система redos (на базе центоса). Получается я смонтировала нерабочий образ в /mnt. Туда примонтировала /dev,sys,proc,run с опцией --bind. И в /mnt запустила grub2-mkconfig
Denis
система redos (на базе центоса). Получается я смонтировала нерабочий образ в /mnt. Туда примонтировала /dev,sys,proc,run с опцией --bind. И в /mnt запустила grub2-mkconfig
У гостя bios или uefi? А на хосте с редосом? Важно, чтобы они или совпадали или нужно вручную указать для какой платформы генерим конфиг.
Denis
Ещё стоит обратить внимание на сам конфиг, который сгенерился, там случаем не попали диски от вашей системы. Ну и тип загрузки для uefi даже путь другой и да, обычно boot на другом разделе и нужно до chroot монтировать его
Denis
losetup умеет сканить партиции, наизусть не помню, но результат loop0p1 и loop0p2 и т.д
Влада
У гостя bios или uefi? А на хосте с редосом? Важно, чтобы они или совпадали или нужно вручную указать для какой платформы генерим конфиг.
с этим затрудняюсь ответить. Я новичок в линукс) У меня получается две ВМ: одну я конвертирую в raw, а другую использую как раз для монтирования образа первой и настройки его
Влада
по сути две одинаковых системы
Denis
Загугли как определить, там где-то в /sys или proc есть папка firmware, по этим кейвлрдам найдешь)
Влада
у гостя значит тоже
Denis
Отлично, значит проблем быть не должно и путь до конфига верный, осталось выяснить что с /boot разделом, он на отдельном разделе или нет?
Denis
/boot/grub2/grub.cfg у меня такого нету
Про путь я имел ввиду этот
Влада
Про путь я имел ввиду этот
когда я примонтировала нерабочий образ, /boot пустой. В принципе почти все директории пустые
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