В прошлом материале мы рассмотрели возможности VMWare Workstation в том, что касается совместимости с разными типами ОС и работы с сетями. Сегодня мы заглянем глубже и разберем настройки, позволяющие работать с широким спектром периферийных устройств и некоторые иные полезные опции, которые значительно расширяют возможности программы, но при этом неочевидны и не представлены в графическом интерфейсе.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Печать
Начиная с версии виртуального аппаратного обеспечения 7 в VMWare добавлена технология ThinPrint для всех поддерживаемых операционных систем. Для ее включения достаточно установить пакет VMWare Tools, не забыв добавить принтер в настройках виртуального железа. Данная технология хорошо известна тем, кто настраивал печать в терминальных средах, смысл ее заключается в том, что в гостевую систему посредством универсального драйвера ThinPrint пробрасываются все доступные принтеры хоста, вне зависимости от их поддержки гостевой операционной системой.
Теперь вы можете печатать на любой доступный в системе принтер из любой поддерживаемой гостевой ОС абсолютно не задумываясь о настройках. В тоже время остается возможность непосредственного подключения принтера в гостевую систему, в этом случае вам потребуется самостоятельно установить необходимые драйвера и настроить подсистему печати в текущей гостевой ОС.
Устройства USB
В наше время без USB никуда, можно без преувеличения сказать, что это самый распространенный интерфейс для подключения самых разнообразных устройств. В VMWare Workstation реализована полноценная поддержка данного интерфейса, а начиная с версии 8 аппаратного обеспечения добавлена поддержка USB 3.0.
Работа с USB предельно проста, все доступные устройства показаны в статус-баре, для подключения или отключения достаточно щелчка правой кнопкой мыши и выбора необходимого действия, при этом данное устройство будет отключено от хоста.
Настройки USB также предельно лаконичны. Мы можем выбрать тип виртуального USB-контроллера, при этом доступен как современный USB 3.0, так и устаревший USB 1.1, что дает возможность проверить работу оборудования с любым типом интерфейса.
Отдельного внимания заслуживает опция Show all USB input devices, которая позволяет подключать к виртуальной машине любые USB-устройства ввода, которые по умолчанию скрыты. Это может потребоваться при необходимости работы в гостевой ОС с оборудованием, которое устанавливается в систему как USB устройство ввода, например, сканеры ШК или считыватели магнитных карт.
Также данная опция позволяет подключить к гостевой системе непосредственно вашу клавиатуру и мышь, отключив их от хоста, в этом случае помните, что вернуться к управлению хостом можно будет только единственным образом - выключив гостевую систему, а если она повиснет, то вам останется только один выход - перезагрузить хост кнопкой Reset. Хотя мы не видим насущной необходимости в подключении к гостевой ОС сразу обоих устройств ввода, чаще всего требуется подключение только клавиатуры, например, когда необходимо проверить работу с программируемыми клавиатурами, оставив мышь для управления системой.
Дисковые устройства
Основу дисковой подсистемы VMWare составляют виртуальные жесткие диски, которые представляют собой файл или набор на файлов на любом доступном носителе, поэтому следует помнить, что производительность виртуального диска в первую очередь зависит от производительности физического диска, на котором размещается файл образа.
Если мы откроем мастер создания нового виртуального диска, то увидим, что нам предложен выбор виртуального интерфейса подключения:
Режимы подключения влияют на совместимость диска с различными типами гостевых ОС, по умолчанию рекомендуется IDE режим, который совместим со всеми типами гостевых ОС. SCSI режим совместим также со всеми гостевыми ОС имеющими драйвер LSI Logic или BusLogic SCSI контроллера. SATА режим поддерживается не всеми гостевыми ОС, в ряде случаев загрузка с такого диска будет невозможна.
Для загрузочных дисков по умолчанию предлагается SCSI или SAS тип контроллера, как наиболее производительный и нет никакого смысла менять эти настройки, разве что в порядке эксперимента.
Галочка Independent включает независимый режим работы диска, который исключает его из создаваемых снимков системы (снапшотов). Режим имеет два варианта, Persistent - когда содержимое диска сохраняется при выключении или восстановлении из снапшота, и Nonpersistent - когда все изменения диска сбрасываются.
Данный режим следует использовать для дисков, которые подключаются к виртуальной машине временно, в противном случае отключив диск и удалив его образ в целях экономии места вы можете столкнуться с проблемой загрузки системы, восстановив ее из снапшота, который использовал данный диск.
Persistent режим полезен, когда вам нужно использовать одно и тоже содержимое, переключаясь между снапшотами, а Nonpersistent окажется к месту при работе с опасными средами, например, при исследовании вредоносного ПО. В этом случае можно быть уверенным, что вирус случайно не вырвется за пределы виртуальной машины.
Также имеется возможность подключать в виртуальную машину физические жесткие диски, как полностью, так и на уровне разделов. В этом случае при подключении следует указать физический номер диска, который можно подсмотреть в оснастке Управление дисками.
При подключении физических дисков мы рекомендуем всегда включать независимый режим (Independent), также не забывайте, что все изменения, которые вы внесете на диск, будут применены к реальной системе, поэтому всегда внимательно проверяйте какой именно диск и с какими данными вы подключаете в гостевую ОС.
Для обслуживания виртуальных дисков предназначен свой набор инструментов.
Не нуждается в комментариях, пожалуй, только дефрагментация, но при этом следует помнить, что дефрагментация внутри виртуального диска имеет смысл только в том случае, если файл диска не фрагментирован, иначе смысл этого процесса сведется к простой перетасовке фрагментов без какого-либо эффекта.
Команда Expand позволяет увеличить размер виртуального диска, при этом размеры существующих разделов изменены не будут, в дальнейшем вы можете самостоятельно изменить размер раздела, использовав для этого соответствующие утилиты или создать на свободном месте еще один раздел.
Compact наоборот позволяет уменьшить размер файла виртуального HDD, что актуально при использовании дисков динамического размера. Как известно фактический размер таких дисков обусловлен размером содержащихся на них данных, а указанный в свойствах размер диска отражает верхний лимит размера. При увеличении размера данных внутри виртуального диска растет и его файл, а вот при удалении части информации уменьшения размера файла диска не происходит. Рекомендуется использовать Compact после удаления из виртуальной машины значительных объемов информации в целях экономного расходования дискового пространства.
Утилита Map позволяет подключить к хостовой системе тома виртуального жесткого диска, как сетевой диск, но при этом хост должен уметь работать с файловой системой виртуального раздела, так подключив к Windows виртуальный диск скажем с ext4 вы не сможете без дополнительных инструментов прочитать информацию.
Работа с COM- и LPT-портами
В отличие от устаревшего LPT, COM-интерфейс (RS-232) продолжает широко использоваться в современной технике, сегодня его применение стало стандартом де-факто для различного промышленного и торгового оборудования, встраиваемых систем, систем безопасности т.п. При этом физически устройства могут подключаться к ПК и с помощью иных интерфейсов, например, USB или Bluetоoth, программно эмулируя COM-порт.
VMWare позволяет пробрасывать в виртуальную машину любой доступный в хостовой системе COM- или LPT - порт, что позволяет работать с соответствующим оборудованием внутри гостевых ОС.
Гораздо более интересны две другие опции. Одна из них позволяет направить вывод с COM- или LPT-порта виртуальной машины в файл на хосте. Это может быть полезно при отладке приложений, работающих с данными портами, можно быстро и просто, без привлечения стороннего ПО получить вывод в порт в текстовом виде.
Наконец третья опция доступна только для COM-портов и позволяет направить их вывод в именованный канал.
С другой стороны канала может быть, как другая виртуальная машина, так и приложение хостовой системы. Это позволяет подключаться к COM-порту самой виртуальной машины и взаимодействовать с ним, скажем для отладки, а подключив с другого конца еще одну виртуальную машину мы фактически свяжем их нуль-модемным кабелем.
Глядя на следующий скриншот "старички" могут смахнуть ностальгическую слезу, мы настроили сетевое соединение через нуль-модемный кабель и передали по нему файл.
Однако применение данной возможности гораздо прозаичнее, именованные каналы позволяют эмулировать работу с торговым или промышленным оборудованием не имея его самого. Чаще всего передаваемые таким оборудованием данные строго регламентированы, поэтому настроив в виртуальной машине приложение на использование COM-порта, подключенного к именованному каналу и передавая с другой стороны типовые пакеты данных или команды можно полноценно анализировать и отлаживать работу с таким оборудованием.
Ниже показана успешная эмуляция сканера штрих-кода для 1С:Предприятия
Моментальные снимки (снапшоты)
Полезность моментальных снимков трудно переоценить, снапшоты дают возможность сохранять неограниченное количество состояний виртуальной машины и переключаться между ними. Это может быть полезно при отладке какой-нибудь технологии, после каждого успешно завершенного этапа делается снимок и если далее что-то пойдет не так, то всегда можно вернуться на несколько шагов назад или опробовать альтернативный вариант.
Другое применение моментальных снимков - создание множественных состояний гостевой системы с различными настройками, что позволяет быстро перейти к нужной конфигурации в пределах одной системы. Эту возможность мы широко используем в учебных и экспериментальных целях, в правой части рисунка показано дерево снапшотов системы использующейся для тестирования антивирусов в нашей лаборатории.
В тоже время моментальные снимки имеют ряд существенных недостатков, которые делают их использование в производственных средах категорически нежелательным.
Во-первых, при создании каждого нового снимка запись в основной виртуальный диск прекращается, создается еще один файл разностного диска и все изменения записываются туда, при создании еще одного снимка в цепочке создается еще один разностный диск и т.д. В итоге это приводит к существенным накладным расходам по операциям дискового ввода-вывода, так как обращение к файлу проходит через всю цепочку виртуальных дисков.
Во-вторых, при создании снапшота также создается файл состояния, размер которого равен объему используемой виртуальной машиной оперативной памяти. Ниже показана часть папки с файлами виртуальной машины из нашей тестовой лаборатории, обратите внимание на размер и количество файлов состояния.
Тут есть от чего затосковать и вспомнить о дедупликации. Отсюда вытекает еще одно правило: если вы активно используете снапшоты - выделяйте виртуальным машинам минимально необходимый объем оперативной памяти.
Также старайтесь не создавать длинных последовательных цепочек снимков, после того как вы все настроили лишние промежуточные состояния лучше удалить, этим вы повысите производительность дисковой подсистемы виртуальной машины.
Виртуалка в виртуалке
На первый взгляд запуск внутри виртуальной машины еще одного гипервизора лишен особого смысла, в производственной среде это так, но в настольных системах такая потребность возникает весьма часто. Например, нужно смоделировать и протестировать создание отказоустойчивого кластера Hyper-V, не будете же вы выделять под это дело три сервера, когда есть VMWare Workstation?
Наиболее просто запустить в виртуальной среде родной гипервизор VMware ESXi, для этого достаточно при создании новой виртуальной машины выбрать соответствующий тип гостевой системы.
Для других гипервизоров придется повозиться, но ничего сложного нет. Перейдем в настройки виртуального процессора и выберем режим виртуализации Intel-VT/EPT или AMD-V/RVI, а затем разрешим виртуализацию этих инструкций (галочка ниже).
А затем откроем конфигурационный VMX-файл виртуальной машины и добавим туда строку:
hypervisor.cpuid.v0 = "FALSE"
Это не даст гостевой ОС определить, что она работает в гостевой машине, после чего никаких проблем с запуском стороннего гипервизора внутри виртуальной машины возникнуть не должно. При этом следует ясно осознавать, что данное решение годится только для тестовых целей, так как ожидать высокой производительности от такого решения по меньшей мере наивно. Хотя справедливости ради отметим, что производительность виртуалок в виртуалке сохраняется на приемлемом для комфортной работы уровне.
Ниже показана запущенная в среде Hyper-V гостевая система с Ubuntu Server, которые работают внутри VMWare Workstation.
UEFI вместо BIOS
Начиная с версии 10 виртуального железа VMWare полноценно поддерживает UEFI, однако никаких графических настроек, позволяющих включить этот режим нет. Для того чтобы использовать UEFI вместо BIOS добавьте (или измените) в VMX-файл опцию:
firmware = "efi"
Запускаем виртуальную машину и убеждаемся, что вместо BIOS используется UEFI.
Теперь можем устанавливать поддерживающие эту технологию гостевые ОС, следует также отметить, что в данной версии VMWare Workstation технология Secure Boot не поддерживается.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии