Записки маковода: обзор Parallels Desktop 11
В последние годы виртуализация стала чем-то обыденным. Наверняка вы слышали от знакомых, коллег или друзей, которые, чтобы попробовать новую версию операционной системы или для изучения какого-то материала устанавливают ОС в виртуальную машину. Это действительно быстро и удобно. Виртуализация позволяет нам работать с большим комфортом и запускать на одном компьютере несколько операционных систем одновременно.
Например, на работе я активно пользуюсь виртуальными машинами на базе KVM. Поскольку все виртуальные машины работают на серверах без графического интерфейса, управление ими осуществляется из консоли. Дома же мне тоже приходится работать с виртуальными машинам. Я их использую для обучения и мне необходимо всегда иметь под рукой несколько виртуальных машин с несколькими дистрибутивами Linux и OS X.
С 2011 года моим основным средством для виртуализации является Parallels Desktop. В этом обзоре я расскажу вам о функциях новой версии этого пакета виртуализации, которая превратилась из простого средства для запуска Windows-приложений на Macintosh в мощнейший инструмент для разработки и тестирования программных продуктов.
Системные требования
Для работы с новой версией Parallels Desktop вам понадобиться:
- Компьютер Macintosh с процессором Intel Core 2 Duo, Core i3, Core i5, Core i7, Intel Core M или Xeon;
- Минимум 4 Гб ОЗУ (для комфортной работы рекомендуется использовать 8 Гб);
- 850 Мб на загрузочном диске (Macintosh HD) и дополнительное место для файлов виртуальных машин;
- OS X Yosemite 10.10.4 или новее;
- OS X Mavericks 10.9.5 или новее;
Справедливости ради стоит отметить, что этот обзор писался на OS X El Capitan 10.11.1 и Parallels Desktop 11 работал на этой системе прекрасно.
Установка и работа с Windows
Как вы помните, Parallels Desktop — это прежде всего решение для того, чтобы вы могли на своём Macintosh запустить Windows и приложения, которых нет для OS X. Лично для меня этот пункт не представляет никакого интереса, так как мои с Windows пути разошлись в 2008 году и с тех самых пор не пересекались. Но в этом тексте я не смог не уделить внимание этому важному вопросу для большинства пользователей пакета виртуализации, так как без его освещения обзор был бы не полным.
Итак, перед выходом новой версии Parallels Desktop была проделана большая работа в контексте улучшения характеристик и повышения быстродействия, а именно:
- Теперь Windows 8 и Windows 10 запускаются на 50% быстрее;
- Работа от батареи увеличилась на 15%;
- Задачи в Windows выполняются на 20% быстрее;
- Перемещение файлов между Mac и Windows осуществляется на 5% быстрее;
- Виртуальные машины переводятся в режим сна на 20% быстрее.
- Функциональность тоже не осталась без внимания. В новой версии Parallels Desktop появились такие функции:
- Доступ к Cortana;
- Quick Look для предварительного просмотра документов Windows;
- Режим путешествия;
- Сервисы геолокации для приложений Windows;
- Обновление до Windows 10.
Всё эти улучшения и нововведения сделают работу с Windows на Macintosh приятнее и продуктивнее. А ваш MacBook Pro или MacBook Air от одного заряда аккумуляторных батарей проработает ещё дольше.
В плане интеграции служб и сервисов, которыми мы привыкли пользоваться в OS X, с Windows всё на таком же высоком уровне, как и в предыдущих версиях Parallels Desktop. Вы получите полную интеграцию сервисов и приложений Windows в OS X и наоборот. Об этом я писал в обзоре прошлой версии.
К слову, в процессе работы над добавлением поддержки Windows 10 в Parallels Desktop команде разработчиков пришлось практически с нуля переписать режим Coherence. Я хотел бы отметить, что добавление поддержки новой версии Windows сопровождается огромным количеством работы, связанной с решением разнообразных и сложных задач. Всё это объясняется тем, что команда разработчиков Parallels каждый раз не просто добавляет поддержку очередной версии ОС от Microsoft. Они делают это так, что работая с приложениями Windows на Macintosh в режиме Coherence вы не догадываетесь, что где-то там, «под капотом» живёт настоящая Windows. Для вас всё выглядит так, как будто бы это программы установлены в OS X.
Установка и работа с OS X
Установка OS X производится уже стандартными для Parallels Desktop способами: из раздела восстановления или из приложения-установщика, которое можно загрузить из App Store.
Прежде всего меня интересовала работа с OS X El Capitan. Новую версию OS X я установил не без приключений (ибо OS X El Capitan на момент написания обзора находился в стадии бета-тестирования и имела место проблема, над решением которой разработчики Parallels трудятся в данный момент), используя установщик для OS X El Capitan Developer Preview.
Я не без удовольствия отметил для себя, что в Parallels отлично поработали над поддержкой OS X 10.11, и после установки всех обновлений и Parallels Tools интерфейс гостевой ОС стал прорисовываться практически мгновенно. Кроме этого, для OS X поддерживается режим Coherence, но большого смысла в нём нет и я его запускал пару раз из чистого любопытства.
Установка и работа с Linux
С Linux предусмотрена работа в двух вариантах. В первом вы можете воспользоваться встроенным мастером установки и установить Ubuntu 14.04. Этот процесс займёт всего несколько минут и он полностью автоматизирован. После установки гостевой ОС вам предложат установить Parallels Tools и после перезагрузки виртуальная машина сможет работать в двух режимах: обычном, в отдельном окне, и в режиме Coherence.
Интеграция с Linux заключается в поддержке общих папок с основной системой OS X и установкой дарйверов, после чего работа с гостевой операционной системой в оконном режиме становится более комфортной. Кроме этого, режим Coherence отлично работает при использовании Ubuntu. Например, я так запускаю Cisco Packet Tracer, который работает в виртуальной машине, когда я изучаю какие-то материалы, связанные с устройством и работой сети.
На этом заканчивается функциональность версии Parallels Desktop 11 для пользователей, которым от пакета виратуализации нужно запускать Windows (в равной степени, как Linux или OS X) с офисными приложениями в отдельном окне или в режиме Coherence. Ниже будут рассмотрены новые функции, которыми смогут воспользоваться только обладатели Pro-версии.
Функциональность в Pro-версии
И так, что из себя представляет Pro-версия? Это версия Parallels Desktop 11, предназначенная для профессионалов в разных сферах IT-индустрии, которым по долгу службы требуется взаимодействовать с виртуальными машинами на более низком уровне или автоматизировать процессы развёртывания виртуальных сред для задач разработки, тестирования или обучения. К этой категории я причисляю верстальщиков, программистов, системных администраторов, тестировщиков и всех тех, кому нужно постоянно иметь под рукой виртуальные машины с несколькими типами операционных систем.
И так, ближе к делу. В новой версии Parallels Desktop появилась возможность запускать сам пакет виртуализации в headless-режиме. При запуске OS X на хосте процесс prl_disp_service работает в фоне и не отвлекает вас от работы иконкой в Dock и открытыми окнами виртуальных машин. Для каждой виртуальной машины поведение можно настроить индивидуально. Это просто невероятно удобно. У меня, например, в фоне работают сразу несколько виртуальных машин с разными Linux-дистрибутивами и к каждой я получаю доступ из терминала. Никаких лишних окон.
Ещё одним нововведением стала возможность добавления сторонних модулей для шифрования содержимого виртуальных машин. По-умолчанию такой модуль встроен в Parallels Desktop, но, при наличии аналогичных по функциональности решений от сторонних разработчиков можно воспользоваться ими взамен встроенного.
Запускать режим Coherence стало ещё удобнее. Теперь у каждого окна виртуальной машины стало не три кнопки управления поведением (на которых я подробно останавливался в обзоре OS X Yosemite), а четыре. При помощи крайней кнопки с правой стороны теперь можно быстро переключить виртуальную машину с Windows, OS X или Linux в режим Coherence.
Практическая польза в этом есть только для ВМ с Windows, но присутствует этот элемент управления на всех без исключения окнах. Кнопка не активна, если в виртуальной машине не установлены Parallels Tools или это виртуальная машина без графического интерфейса. Если переключение в режим Coherence доступно для ВМ, то кнопка окрашена в голубой цвет.
Теперь немного о меню разработчика, которе доступно для каждой виртуальной машины. В нём есть четыре пункта: «запустить сеанс ssh», «открыть в браузере», «запустить сеанс отладки» и «создать дамп памяти ВМ». С первым пунктом всё понятно. Выбрав его, автоматически запустится приложение «Терминал» и будет выполнена попытка удалённого входа по ssh в виртуальную машину. Лично я прописал виртуальные машины, с которым работаю в ssh config и настроил авторизацию по ключам. Так что мне, чтобы воспользоваться этой функцией, будет достаточно просто открытого терминала.
Но ради академического интереса я попробовал таким образом залогиниться в свежеустановленную версию Windows 10. Получилось с некоторыми оговорками. Дело в том, что Parallels Desktop пытается выполнить в терминале команду ssh vm_ip_address, что не всегда сработает, так как в этом случае попытка залогиниться по ssh будет выполнена с использованием логина пользователя, под которым вы в данный момент работаете в OS X.
Parallels Desktop для тестовых копий Windows создаёт пользователя IEUser, как следствие, попытка войти с другим именем пользователя закончится неудачей. Но если во вновь созданных ВМ вы используете такое же имя пользователя, как и в OS X на вашем Macintosh эта функциональность будет работать как часы.
Функция «открыть в браузере» рассчитана на тех, кто активно занимается веб-разработкой и хостит на виртуальных машинах свои проекты. Один клик и сайт на виртуальной машине уже в окне вашего браузера.
Под сеансом отладки подразумевается запуск LLDB Debugger (который, к слову, сейчас является отладчиком в Xcode по умолчанию) в «Терминале» OS X для отладки программ, которые работают в виртуальной машине. Углублённо я эту функциональность не изучал, но если вам интересно, то можно ознакомиться с деталями проекта здесь.
Функция «Создать дамп памяти ВМ» по сути автоматизирует процесс, описанный в этой статье. Теперь вам не придётся руками набирать в консоли команду наподобие этой:
prlctl internal UUID dbgdump --path ~/Desktop/
Достаточно будет выбрать вышеуказанный пункт меню и дамп памяти ВМ будет сгенерирован автоматически.
Интеграция с Docker
Здесь я воздержусь от рассказа о том, что такое Docker и предлагаю вам, читателям, самостоятельно ознакомиться с этим вопросом (разумеется, если он представляет для вас хоть какой нибудь интерес). Большего внимания, на мой взгляд, заслуживает рассказ об интеграции Docker и Parallels Desktop 11.
В обычной инсталляции (читай, Linux-инсталляции) Docker-демон, -клиент и -контейнеры работают и запускаются на вашем локальном хосте. При использовании в качестве основной операционное системы OS X для работы Docker необходима виртуальная машина с гостевой операционной системой Linux. Теперь вы можете запускать эту легковесную (в прямом смысле этого слова, так как образ этой виртуальной машины занимает примерно 24 Мб и работает из оперативной памяти вашего Macintosh) виртуальную машину, используя Parallels Desktop.
Причём, это не просто обычная «виртуалка» с Linux внутри. В этой виртуальной машине установлена самая последняя версия Parallels Tools и это значит, что в ней присутствуют общие папки, которые сильно упрощают обмен файлами между гостевой и основной операционной системами. Если вы пользуетесь Parallels Desktop и Docker — это отличная новость. В совокупности с Vagrant использование Docker позволит вам создать мощнейший инструмент для разработки и тестирования в виртуальной среде Parallels Desktop.
Интеграция с Jenkins
Интеграция с Jenkins — это дополнительное средство автоматизации, которое существенно упростит работу по сборке и тестированию новых версий разрабатываемых вами программ или продуктов в среде OS X. Представьте себе ситуацию, когда вы пишете много приложений для OS X и iOS и иногда что-то «пописываете» для других семейств ОС. Например, для Windows и Linux.
При описанных выше обстоятельствах вы, скорее всего, будете иметь несколько Mac mini или Mac Pro, на которых происходит сборка и тестирование ваших продуктов. И для того, чтобы собрать и протестировать что-то под Windows или Linux, нужен отдельный PC. Теперь это не обязательно. С Parallels Desktop 11 Pro у вас есть возможность использовать существующую инфраструктуру из Macintosh, для того, чтобы собирать и тестировать ПО для всех платформ, под которые вы ведёте разработку.
Теперь при запуске очередного билда Jenkins будет запускать кластер виртуальных машин с необходимыми для сборки и тестирования версиями OS X, Windows и Linux, выполнять работу и останавливать запущенные ВМ до запуска следующего джоба. Это отличный способ повысить плотность сборки и увеличить утилизацию аппаратных средств.
Если вам для сборки и тестирования нужно иметь только одну версию ОС с разными настройками, то здесь ещё можно воспользоваться функцией связанных клонов и из одного шаблона создавать то количество ВМ, которое необходимо для выполнения джоба сэкономив по максимуму свободное место на жёстком диске.
Работа из командной строки
Все вышеописанные вещи по интеграции с Vagrant, Docker и Jenkins работают через командную строку. Без этого мощного инструмента реализация функциональности Parallels Desktop 11 была бы весьма затруднительна. Поэтому в новой версии пакета виртуализации command line interface подвергся существенной переработке для того, чтобы эта интеграция работала должным образом.
Я большой поклонник работы в командной строке и в последнее время использую CLI для управления пакетом виртуализации и виртуальными машинами. На сайте поддержки Parallels есть восьмидесятистраничное руководство по использованию это замечательного инструмента. Если вы хотите автоматизировать или сделать работу с Parallels Desktop 11 более эффективной, я настоятельно рекомендую ознакомиться с ним.
Из перечня инструментов для управления Parallels Desktop 11 из командной строки исчезла функциональность создания и работы с бекапами виртуальных машин. То есть теперь при попытке выполнить команды prlctl backup, prlctl backup-delete или prlctl backup-list вы наткнётесь на справку по работе с утилитой prlctl. Связано это, я полагаю с тем, что в новой версии делается упор на функциональность по созданию снимков состояния ВМ и это делает бессмысленным создание резервных копий в привычном для нас понимании.
К примеру, вы можете настроить автоматическое создание снапшотов виртуальной машины и в любой момент «откатиться» на подходящий для вас в случае если вы по каким-то причинам «сломаете» виртуальную машину. Эта функциональность называется SmartGuard и настроить её можно для каждой ВМ индивидуально в разделе «Резервное копирование».
Кроме этого в Parallels Desktop 11 появилась новая опция prlctl — debug-dump. Эта команда создаёт дамп виртуальной машины в ELF формате и сохраняет его в файл. В дальнейшем с сохранённым файлом можно работать при помощи утилиты crash (которая является существенно усовершенствованным продолжением команды crash из ОС SVR4 UNIX за счёт полного слияния с проектом GNU gdb debugger) или (с некоторыми ограничениями) GDB debugger.
Если вы хотите поработать с созданным дампом виртуальной машины в OS X или Windows, то ELF-файл можно сконвертировать в понятный для этих операционных систем формат при помощи субкомманды prlcore2dmp. В последствии с сконвертированным файлом можно работать в OS X при помощи LLDB дебаггера или WinDbg в Windows.
Менеджер виртуальных сетей
Менеджер сетей в новой версии Parallels Desktop был основательно доработан. Теперь это отдельный пункт в меню настроек пакета виртуализации. Кроме этого, в этом пункте меню появилась возможность создавать дополнительные Host-Only сетевые интерфейсы с необходимыми вам параметрами конфигурации.
В дополнение к вышеперечисленному настройки сетевого подключения для каждой виртуальной машины стали более гибкими. Теперь вы можете указывать ширину канала и процент потери пакетов. Эта функциональность будет неоценима, если вы пишите продукт, который должен работать в условиях плохого и низкоскоростного интернет-соединения.
Ну и ещё одному нововведению, бесспорно, возрадуются разработчики сетевых приложений. Теперь записи в файле /etc/hosts на основной операционной системе участвуют в резолвинге DNS-запросов с виртуальных машин. Благодаря этому вы можете быстро создать прототип сети, в которой должно работать ваше приложение.
Плюс ко всему теперь сетевая архитектура Shared-Network стала полностью прозрачной и вследствие этого можно использовать tcpdump или tshark для анализа сетевого трафика с виртуальной машины. В предыдущих версиях Parallels Desktop такая возможность отсутствовала ввиду особенностей реализации сетевого интерфейса Shared-Network.
Цена вопроса
В данном, заключительном параграфе обзора я подхожу к освещению весьма любопытного вопроса, касающегося цены на обновлённую версию Parallels Desktop в частности и ценовой политики Parallels в общем. Начиная с новой версии компания Parallels переводит свой продукт на оплату по подписке. Решение это, скорее всего, было продиктовано тем, что каждый год проводится колоссальная работа не только по добавлению новых версий ОС, коих в данный момент насчитывается более тридцати, но и по существенному расширению функциональности.
С восьмой версии в Parallels Desktop начала аккумулироваться функциональность, которая была востребована только узком кругом IT-специалистов. В Parallels Desktop 11 функциональная фрагментация стала очевидной и все функции для разработчиков решили вынести в отдельный продукт с оплатой по подписке. Во-первых, потому что разрабатывать инструмент такого класса банально дорого. Во-вторых, IT-специалисты готовы платить за удобный и функциональный инструмент, который сделает их работу более комфортной. Годовая подписка на Pro-версию Parallels Desktop 11 для жителей Украины будет стоить €99.99/год.
Для остальной массы пользователей Parallels Desktop был и остаётся решением, которое позволяет прежде всего запускать Windows на Macintosh. Для этой категории пользователей есть возможность покупки годовой подписки на так называемую Parallels Desktop 11 for Mac Standard за €79.99/год. Эта версия позволит запускать все поддерживаемые версии гостевых ОС, но будет лишена командной строки и прочих функций для разработчиков, о которых я рассказал.
Если вы уже пользуетесь Parallels Desktop и хотите обновиться, то обновление с Parallels Desktop 9 и 10 до Parallels Desktop 11 Standard или Pro-версии обойдётся в €49.99/год. И сейчас самое время определиться, какая именно функциональность вам нужна.
Автор — маковод со стажем.