Общий модем на несколько виртуальных машин

Комрад 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.exe device

0: serial0 disconnected

1: Ethernet0 connected

2: ide1:0 connected

подключить устройство 0: vmw.exe device +0

отключить устройство 0: vmw.exe device -0

но, как это водится, и тут счастья нет тоже, винда эпизодически отключает отсутствующие устройства, и нужно заходить в менеджер устройств и нажимать «scan for hardware changes». Но, оказывается, есть консольный аналог devcon, например, «scan for hardware changes» это «devcon rescan».

Popularity: 10%

Опубликовать в Facebook
Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс
Эта запись была опубликована в рубрике Новости и отмечена метками . Добавить в закладки ссылку.

4 в ответ на Общий модем на несколько виртуальных машин:

  1. dim-soft пишет:

    что то сумбурно как то :)

    сухой остаток какой ?
    можно ?
    как ?
    а если сразу 2 полезут ?

  2. В сухом остатке, как я понимаю, осознание того факта, что секс еще не начинался ;)
    В смысле два полезут? Полагаю, одному не дадут ;)

  3. virus пишет:

    скорее осознание того факта что чудеса возможны, но даются существенной кровью.
    после написания заметки выяснилось, что если два раза подряд сделать “vmw.exe device +0″ то последовательный порт начинает глючить.
    В остальном модем на таком типа “разделяемом” COM1 работает отлично.

  4. Sergey Karyagin пишет:

    Возможно уже не актуально.

    Модем втыкается в MOXA конвертер COMEthernet и на каждой виртуальной машине мэпится виртуальный COM-порт через софтину от Moxa. Это позволит не “занимать” физический порт модема, после окончания работы. Таким образом каждая виртуалка спокойно обращается к модему, если он не занят.

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

Ваш email не будет опубликован. Обязательные поля отмечены *

*

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Это не спам.
сделано dimoning.ru