...

воскресенье, 2 февраля 2014 г.

Свой «VBoxManage list ip» — список адресов запущенных виртуалок

Дело было вечером, делать было много чего. И почти все — в VirtualBox. Используя headless виртуалки.

Я уже давно оценил плюсы виртуальных машин для разработки, и повсеместно их использую. В результате имею парк в 5-10 виртуальных машин, с разными ветками и проектами. Несколько из которых постоянно запущены.


90% из них запускаются в headless режиме. И берут IP динамически. Так как статику контролировать постоянно невозможно, и она имеет другие ограничения. Отсюда результат — достоверно неизвестно с каким адресом запустится виртуалка.


В этом случае у меня такой порядок запуска виртуалки:

1. запуск в нормальном режиме

2. смотрим внутри нее ifconfig / ipconfig на предмет адреса

3. гасим ее

4. запускаем в headless и надеемся, что адрес будет таким же


Думаю вы с таким сталкивались. Если нет — можете перейти к следующему посту. Если знакомо — под катом простое и готовое решение.



На VB трекере есть соответствующий feature request. Но он закрыт как «works for me» с решением Linux only. Что меня не устраивает. Других красивых решений не нашлось, тч было решено написать свое.


Небольшой скрипт для node.js, который перечисляет все запущенные виртуалки и все их сетевые адреса.


Запускается с помощью «node vmip» и показывает что-то типа:



SomeMachine

192.168.13.188


U3

10.0.2.15

192.168.13.29

192.168.56.101


XP

192.168.56.102

10.0.2.15



192.168.13.* адреса — из реальной сети, 192.168.56.* — host-only сеть vbox'а, 10.* — натовский адрес vbox'а, по сути — отсутствие доступа из вне.


Скрипт проверен на используемых Windows / OS X. Полностью лишен красоты и наполнен суровой практичностью. Если будет спрос — будет дополняться.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий