вторник, 8 января 2013 г.

О том, как пользователи VDI отключали себя от сети!

Извлекаемый сетевой адаптер в ESXi
У VMware есть серьезный баг (а может и фича) с тем, что сетевой адаптер в гостевой операционной системе на базе Windows, не важно, серверной или пользовательской, представляется как переносное устройство. И его можно случайно извлечь, как флешку! Что, естественно, приведет к немедленному отключению пользовательского рабочего стола от сети.

Более того, виртуальные диски (диск С, например) тоже можно извлечь, причем вместе с контроллером! И для этого не надо быть обладать правами администратора на виртуальном рабочем столе.

Далее я расскажу как этого избежать.

С чего все началось


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

Приключения начались когда на виртуальные рабочие столы переехал весь офисный планктон переехало примерно 20-30 пользователей. Это как критическая масса, которая, когда набирается, начинает крушить все вокруг. Сначала бухгалтер отключила вместо флешки себя от сети и это сочли за глюк, затем один менеджер отключил себя таким же образом. А потом нашелся advanced-менеджер, который после того как отключил себя от сети, отключил еще и двух своих соседей со словами "смотрите что будет, если сделать так".

Отключение дискового контроллера мы, к счастью, не испытывали. Желающие могут испытать и отписать в комментариях.

Когда очередь из просящих выросла, было найдено аж 2 решения.

Решение № 1. Правка защищенной ветки реестра.
Например, для того, чтобы отключить функцию извлечения для сетевого адаптера E1000 (в ВМ показывается как Intel Pro 1000 MT) нужно найти ключ service со значением E1G60, который будет примерно тут:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_8086&DEV_100F&SUBSYS_075015AD&RE
И в найденной ветке понизить значение ключа Capabilities: если был 4, поставить 2, если был 6 - поставить 4.

Проблема в том, что данная ветка реестра защищена от изменения на системном уровне - администратор ее не может менять и пришлось бы пройтись с PSTools по каждой пользовательской виртуальной машине, либо писать скрипт.

Такое решение было отложено на крайний случай, и правильно!

Решение № 2. Отключение функции через VMware.
Необходимо в свойствах виртуальной машины дописать параметр devices.hotplug со значением false. Подробности на скриншотах:


Самое главное, что включение этого параметра не повлияло на возможность подключения к виртуальному рабочему столу USB устройств, а отключило возможность случайного извлечения для сетевой карты и дискового контроллера.

Попутно отключилась возможность добавления устройств (например, дополнительного дискового или сетевого контроллера) на ходу - устройства появляются после перезагрузки, но для VDI этот момент не особо критичен, особенно при применении VMware View Composer для создания пула виртуальных рабочих столов. Во всяком случае, добавив эту опцию к конфигурации золотого образа VDI, мы еще ни разу об этом не пожалели.

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

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