Комрад Virus прислал нам свежую заметку про очередные извращения. 😉
Как расшарить модем между несколькими виртуалками в VMwareServer2.
К сожалению, в наше время модем ещё не умер, и некоторые динозавры типа сбербанка его активно любят. К ещё большему сожалению, нет программной реализации ах как было бы здорово, если бы был SIP-софтмодем, всех проблем можно было бы избежать.
Итак, попробуем через стандартный интерфейс
“C:\Program Files (x86)\VMware\VMware Server\vmrun.exe” -T server -h https://192.168.1.1:8333/sdk -u root -p пароль readVariable “[local] prm/ prm.vmx” runtimeConfig serial0.present
Так можно подключать и отключать устройство, но, как оказалось, изменения применятся только после power cycle. Этот вариант нам не подходит, к моему удивлению способа через vmrun подключать и отключать устройство «налету» не нашлось.
Зато нашлись не менее интересные «бонусы»
Например, можно разрешить или запретить изнутри виртуалки подключать/отключать устройства:
“C:\Program Files (x86)\VMware\VMware Server\vmrun.exe” -T server -h https://192.168.1.1:8333/sdk -u root -p пароль writeVariable “[local] prm/ prm.vmx” runtimeConfig serial0.allowGuestConnectionControl true
Вот так мы разрешим для последовательного порта.
Точно также можно разрешить для первого сетевого адаптера, только имя переменной будет таким «ethernet0.allowGuestConnectionControl»
В процессе рытья был найден классный параметр «devices.hotplug» , наверное, все сталкивались с тем, что добродушные юзеры отключали сетевухи или диски внутри виртуалки. Выставляем этот параметр в false и все проблемы решены, больше компоненты отключить через «извлечение устройств»нельзя.
Для ESX есть вариант подключать и отключать с хоста на лету странной командой:
vmware-vim-cmd vmsvc/device.connection <vmid> <device id> true
но аналога в Server2 не нашлось.
Зато нашлась старенькая подборка утилит:
http://chitchat.at.infoseek.co.jp/vmware/vmtools.html
с её помощью изнутри можно отключать и подключать устройства
вывести список: vmw.exe device
C:\vm>vmw.exedevice
0: serial0disconnected
1: Ethernet0connected
2: ide1:0connected
подключить устройство 0: vmw.exe device +0
отключить устройство 0: vmw.exe device -0
но, как это водится, и тут счастья нет тоже, винда эпизодически отключает отсутствующие устройства, и нужно заходить в менеджер устройств и нажимать «scan for hardware changes». Но, оказывается, есть консольный аналог devcon, например, «scan for hardware changes» это «devcon rescan».
что то сумбурно как то 🙂
сухой остаток какой ?
можно ?
как ?
а если сразу 2 полезут ?
В сухом остатке, как я понимаю, осознание того факта, что секс еще не начинался 😉
В смысле два полезут? Полагаю, одному не дадут 😉
скорее осознание того факта что чудеса возможны, но даются существенной кровью.
после написания заметки выяснилось, что если два раза подряд сделать “vmw.exe device +0” то последовательный порт начинает глючить.
В остальном модем на таком типа “разделяемом” COM1 работает отлично.
Возможно уже не актуально.
Модем втыкается в MOXA конвертер COMEthernet и на каждой виртуальной машине мэпится виртуальный COM-порт через софтину от Moxa. Это позволит не “занимать” физический порт модема, после окончания работы. Таким образом каждая виртуалка спокойно обращается к модему, если он не занят.