vitus_wagner: My photo 2005 (Default)
vitus_wagner ([personal profile] vitus_wagner) wrote2015-12-17 05:29 pm

VWS 0.2

Поскольку приходится на работе активно пользоваться виртуальными машинами, допинал до более менее полной задуманной фукциональности свою легковесную обертку над qemu/kvm.


Хотя и позиционировалось оно как Virtual Workstation, возможность закрыть GUI не закрывая виртуальной машины
(или запустить машину, не стартуя сразу GUI) есть. В качестве GUI-протокола используется SPICE а в качестве клиента - remote viewer.

Основная идея - никаких лишних процессов и прочих эксцессов, а для копирования виртуальной машины с хоста на хост нужно просто скопировать каталог со стартовым скриптом и образами дисков.

Практика показала, что встроенная создавалка VM все же нужна. Дописать полноэкранного текстового визарда я не дописал, но создание машины с более-менее осмысленной конфиуграцией по умолчанию и возможность её модифицировать, указывая опции командной строки есть. Можно при создании указать готовый образ диска. Он будет скопирован.

Есть возможность запуска QEMU c ключиком -snapshot, когда образ диска не изменяется, а все изменения пишутся во временный файл, стираемый при шатдауне виртуальной машины.


Просто работа со снапшотами дисков тоже есть.

Возможнсоть цеплять-отцеплять iso-образ к виртуальному CDROM на ходу.

Работа с USB-девайсами, с которой все начиналась, оказалась наименее востребованной, поэтому самая сырая и недоотлаженная. (в смысле сам я, если надо пользуюсь usb redirection в spice-клиенте)

Зато есть возможность записывать воспроизводимое виртуальной машиной аудио и делать скриншоты даже с машины, к которой в текущий момент spice-клиент не прицеплен.

Поддерживается два варианта работы с сетью - user network и цепляние к существующему bridge.




Чего не доделано, но планируется:

1. При обнаружении при запуске сохраненного состояния VM восстановления на него (аналог гибернации, но средствами qemu)
2. Подключение образа диска к VM в качестве USB-флэшки (благо QEMU такое умеет).
3. Создание виртуальной машины путем копирования конфигурации с имеющейся
4. Добавление жесткого диска (при этом команды работы со снапшотами уже имеют в виду что дисков у машины может быть много, и пользователь может в стартовый скрипт вписать второй диск руками, если знает что делает.
5. Добавление сетевой карты - аналогично
6. Массовые операции с vm - автостарт и шатдаун всей пачки при завершении шатдауне хоста.
7. Брать параметры создаваемой VM по умолчанию из конфигурационного файла, а не прошитые в коде.
8. Документация



Обитает оно на https://www.wagner.pp.ru/fossil/vws
Сертификат УЦ, которым подписан сертификат сайта берут здесь, а gpg ключ которым подписан фингерпритнт сертификата УЦ - на обычных keyserver-ах.

[identity profile] nasse.livejournal.com 2015-12-17 03:19 pm (UTC)(link)
Интересно.

[personal profile] ramendik 2015-12-17 03:25 pm (UTC)(link)
А вот про USB девайсы мне бы поподробнее )

Давненько висит задачка. Есть виндовая программа для голосового чата, написанная через anus и потому требующая админа. Есть рабочая машина, с которой удобно бы юзать ту виндовую программу, но такую дырку в секурити я туда не пущу. Была идея - на Linux сервере в KVM/QEMU запустить WinXP с той программой, притом тупо не сохранять state этой виртуальной машины, поэтому тема заражения малварью не будет волновать совсем (любая малварь исчезает с окончанием сессии). И через что угодно ремотное юзать с рабочей машины Но - USB микрофон критичен.