AcidMan
меня очень сильно смущает "ignition: no config provided by user"
AcidMan
в отличие от того же atomic, где cloud-init и никаких ворнингов не сыпется при использовании
AcidMan
вопрос закрыт, нашел хороший мануал по этому варианту федоры
J
Вдруг кому пригодится.
AcidMan
https://computingforgeeks.com/install-fedora-coreos-fcos-on-kvm-openstack/
Vyacheslav
Странно почему в instance_metadata нет unique key на key + instance_uuid
Ilya
Если кому интересно про cinder volume retype ( например @vyacheslav_vershinin) Вот тут (https://docs.openstack.org/cinder/ussuri/admin/blockstorage-volume-migration.html) в доке есть пара интересных комментов в начале: 2. If the volume is not attached, the Block Storage service creates a volume and copies the data from the original to the new volume 3. If the volume is attached to a VM instance, the Block Storage creates a volume, and calls Compute to copy the data from the original to the new volume. Currently this is supported only by the Compute libvirt driver.
Ilya
Для приаттаченного вольюма к ВМ ретайп делает весёлую вещь - циндер создаёт новый том - назначения, а потом QEMU/KVM перегоняет том без участия циндера. Со стороны нова компьют запуск этого процесса через драйвер либвирта выглядит так: 2021-09-28 14:21:46.714 7 DEBUG nova.compute.manager [req-29436a1a-58c2-46a7-835b-7069451f4cc3 a945d9b8c5f74472b4137d5cf0ac797c a4842d7a6dcc4acd85618a011cfbedd3 - default default] [instance: f9f91de4-e587-4e23-9a9b-db07bbdc543c] swap_volume: Calling driver volume swap with connection infos: new: {'driver_volume_type': 'rbd', 'data': {'name': 'volumes/volume-2aa0a8cd-23a5-44a3-a244-f36c327f3d84', 'hosts': ['192.168.33.42', '192.168.33.43'], 'ports': ['6789', '6789'], 'cluster_name': 'ceph', 'auth_enabled': True, 'auth_username': 'cinder', 'secret_type': 'ceph', 'secret_uuid': '***', 'volume_id': '2aa0a8cd-23a5-44a3-a244-f36c327f3d84', 'discard': True, 'keyring': None, 'qos_specs': None, 'access_mode': 'rw', 'encrypted': False}, 'status': 'reserved', 'instance': 'f9f91de4-e587-4e23-9a9b-db07bbdc543c', 'attached_at': '', 'detached_at': '', 'volume_id': '2aa0a8cd-23a5-44a3-a244-f36c327f3d84', 'serial': '2aa0a8cd-23a5-44a3-a244-f36c327f3d84'}; old: {'driver_volume_type': 'rbd', 'data': {'name': 'volumes/volume-2f5ae2a7-ecd1-4ec5-9c67-8130f9d3aaac', 'hosts': ['192.168.33.22', '192.168.33.23'], 'ports': ['6789', '6789'], 'cluster_name': 'ceph', 'auth_enabled': True, 'auth_username': 'cinder1', 'secret_type': 'ceph', 'secret_uuid': '***', 'volume_id': '2f5ae2a7-ecd1-4ec5-9c67-8130f9d3aaac', 'discard': True, 'keyring': None, 'qos_specs': None, 'access_mode': 'rw', 'encrypted': False}, 'status': 'reserved', 'instance': 'f9f91de4-e587-4e23-9a9b-db07bbdc543c', 'attached_at': '', 'detached_at': '', 'volume_id': '2f5ae2a7-ecd1-4ec5-9c67-8130f9d3aaac', 'serial': '921a1acc-5592-4608-9c1a-c06f4d7266ad'} _swap_volume /usr/lib/python3.6/site-packages/nova/compute/manager.py:7271
Ilya
Calling driver volume swap with
Ilya
Ну а в логе QEMU/KVM/libvirt: 2021-09-28 14:21:46.795+0000: 1817603: info : qemuMonitorSend:950 : QEMU_MONITOR_SEND_MSG: mon=0x7f8374028070 msg={"execute":"blockdev-mirror","arguments":{"job-id":"copy-vdb-libvirt-13-format","device":"libvirt-13-format","target":"libvirt-14-format","sync":"full","auto-finalize":true,"auto-dismiss":false},"id":"libvirt-713"} fd=-1
Ilya
Много всяких сообщений о процессе копирования тома...
Илья | 😶☮️🐸
В рамках одного пула цефа происходит копирование ?
Ilya
В моём случае я смотрю экстремальный вариант - миграцию тома между кластерами... Думаю нове всё-равно между чем копировать. Если копирование прилетает в нову
Ilya
Не нове - а кему/квм под ее руководством
Ilya
А развилка по условию - присоединённый том или нет - это по доке в начале моих постов написано. Я это в исходниках не искал специально
Ilya
Ну и приятный момент - шанс получить консистентный том при такой миграции без выключения ВМ относительно высоки (конечно не 100% - тут Артемию можно слово передать) - весь ввод вывод контролирует либвирт при миграции и он же копирует данные
Ilya
либвирт.кему.квм конечно... писать долго
Aleksandr
Акстись ничего либвирт там не контроллирует, это все на стороне QEMU ясно же написано что отправляется QEMU_MONITOR_SEND_MSG: mon=0x7f8374028070 msg={"execute":"blockdev-mirror","arguments":{"job-id":"copy-vdb-libvirt-13-format","device":"libvirt-13-format","target":"libvirt-14-format","sync":"full","auto-finalize":true,"auto-dismiss":false},"id":"libvirt-713"}
Ilya
тяжело писать - либвирт/кему/квм
Ilya
лог то называется libvirtd.log
Ilya
Ilya
ввод вывод да обычно кему часть делает
Aleksandr
либвирт запускает истанцы и получает их вывод не более
Aleksandr
либвирт обвертка для запуска в соответствии с единым форматом для всего парка гипервизоров и все
Ilya
либвирт- это просто библиотека, которая даёт возможность обращаться к кему/квм
Aleksandr
Дядь, не поверишь к KVM он не обращается ))) ибо KVM это ядерный модуль поддержки виртуализации, такой же как и XEN а сверху стоит QEMU
Aleksandr
ну и не библиотека, а демон -) котролирующий запуск QEMU
Ilya
Ну можно отдельненько пройтись по терминологии и прийти к консенсусу... Предмет отдельный и обширный.... Если я в питоне подключаю работу с либвиртом, делая import libvirt, почему мне не ссылаться на libvirt, как на библиотеку ?
Artemy
Много всяких сообщений о процессе копирования тома...
Живая миграция на сеф не работала из за либвирта
Ilya
Aleksandr
особенно рассказывая как либвирт там что-то куда-то копирует
Aleksandr
Живая миграция на сеф не работала из за либвирта
Работает она там отлично. Возможно секреты или конфиги либвирту не все довезли
Artemy
Или либвирт свежий.
Ilya
особенно рассказывая как либвирт там что-то куда-то копирует
В контексте моих сообщений kvm/qemu/libvirt это один прямоугольник. Просто писать это постоянно тяжело - я про это сказал
Vyacheslav
Много всяких сообщений о процессе копирования тома...
У меня атаченный диск не ретайпится, queens
Aleksandr
@vyacheslav_vershinin а он часом не boot ?
Vyacheslav
@vyacheslav_vershinin а он часом не boot ?
Нет доп диск именно
Vyacheslav
Там от api что-то про in-use
Aleksandr
@vyacheslav_vershinin в личке нормально опиши ситуевину
Aleksandr
Ты на ходу ретайпить пытаешься или нет ?
Vyacheslav
@vyacheslav_vershinin в личке нормально опиши ситуевину
Да мы кейс решаем через выключение, ретайп без детача не работает из-за api - оно возвращает ошибку, что диск используется, даже если выключить vm
Aleksandr
аааа так это нормальное поведение
Aleksandr
детач ретайп аттач
Aleksandr
а если бутовый то базу хачить надо ибо его не детачить
Ilya
У меня атаченный диск не ретайпится, queens
На моём стенде с уссури и бэкендами на цефе приаттаченный диск мигрировал. Следующий эксперимент - как раз миграция системного диска
Ilya
Я на уссури
Vyacheslav
а если бутовый то базу хачить надо ибо его не детачить
да это не сложно, но такой необходимости не было
Ilya
а пул и цеф один ? или разные ?
Два разных кластера цефа, пулы в них разные, но называются олдинаково
Vyacheslav
а пул и цеф один ? или разные ?
у меня в разные пул в рамках 1 цефа работает с детачем
Aleksandr
У тебя какие версии стека, либвирта и куэму?
Еще на Mirantis/Openstack 5.0 работали -)
Aleksandr
у меня в разные пул в рамках 1 цефа работает с детачем
с детачем оно и на нетапп нормально едет -)
Artemy
Ага, ясно
Aleksandr
Два разных кластера цефа, пулы в них разные, но называются олдинаково
У тебя это делалось через QEMU: Монитор отправили сделать зеркало "execute":"blockdev-mirror","arguments":{"job-id":"copy-vdb-libvirt-13-format","device":"libvirt-13-format","target":"libvirt-14-format","sync":"full","auto-finalize":true,"auto-dismiss":false},"id":"libvirt-713"}
Aleksandr
Илья, без обид все три тут употреблять неверно. Тут все просто. KVM/XEN - это ядерная часть, которая просто правильно перекидывает контексты по большей части. QEMU - юзерспейс виртуализация общая что для KVM/XEN. Libvirt просто запускала QEMU и все
Aleksandr
И либвирт еще и в ВмТварь умеет кстати
Aleksandr
ну это уже контейнеры, не совсем то о чем мы говорим, но да умеет
Aleksandr
я тебе больше скажу он бы и в докер умел бы )) но там философия совсем другая в отличии от lxc / systemd-spawd
Ilya
Системный диск для запущенной виртуалки тоже переехал норм без детача
Aleksandr
какая версия опенстэка ?
Ilya
ussuri
Ilya
До миграции было так: | name | ipo-botvol-r2 | | os-vol-host-attr:host | rbd:volumes@rbd-1#rbd-1 | | os-vol-mig-status-attr:migstat | error | | os-vol-mig-status-attr:name_id | None
Ilya
На ошибку не обращайте внимание - это я первую попытку сделал с "неправильного" гипера, у которого нет кредов для второго бэкенда
Ilya
После миграции: | name | ipo-botvol-r2 | | os-vol-host-attr:host | rbd:volumes@iporbd#iporbd | | os-vol-mig-status-attr:migstat | success | | os-vol-mig-status-attr:name_id | 31c774be-e978-4162-b1cc-a35dabe71fd7 | | os-vol-tenant-attr:tenant_id | 937474e4b4ca430f958cf44db2815147
Ilya
На цефе-приёмнике том появился: [root@r1cmp0 ~]# rbd -p volumes ls volume-31c774be-e978-4162-b1cc-a35dabe71fd7
Ilya
(os-venv) [root@ipo-kayb-cs8-us ~]# openstack volume list +--------------------------------------+---------------+--------+------+--------------------------------+ | ID | Name | Status | Size | Attached to | +--------------------------------------+---------------+--------+------+--------------------------------+ | e1e4a1ad-c10f-4105-892b-cb1f83acb21e | ipo-botvol-r2 | in-use | 1 | Attached to demo2 on /dev/vda |
Ilya
Так что типа работает
Vyacheslav
а копию он как делает? через ceph или через qemu?
Aleksandr
через qemu по идее должен делать
Aleksandr
Но опять же тут по разному и от драйвера завист
Aleksandr
https://github.com/openstack/cinder/blob/6901d2337c05fa629c8170991aa85afb7432eca0/cinder/volume/drivers/rbd.py#L1353
Ilya
а копию он как делает? через ceph или через qemu?
Также - через qemu, как и в случае доп вольюма
Vyacheslav
в рамках 1 цефа я не видел что бы это делалось через qemu - выглядело так, как магия внутри ceph