「Anka Beta(Veertu)」リリース、「High Sierra」に対応

投稿者: | 2017-06-12

「macOS High Sierra」をゲストOSとして実行可能

Veertu Incより米国時間2017年6月8日、開発過程にある macOS(OS X)ベースの仮想環境構築ツール「Anka」の最新プレビュー版に相当する「Anka Public Beta」がリリースされ、現在Veertuによる公式ダウンロードページを通じて、英語版のバイナリパッケージが入手可能となっています(dmg)。

プライベートベータのステージをクリアし、この度パブリックベータが開始された ビジネスクラスの仮想化ソリューション「Anka」は、macOS、iOS開発者を主たる対象とした、再現可能な同じ開発環境を作成・配布するためのツールとして位置付けられています(事前構成されたVMテンプレートから、環境のオンデマンドインスタンスをプロビジョニング可能とし、ローカルビルド、テストの実行、及び生産性の向上等を支援します)。

構成ツールとして、Macのプライベートクラウドに隔離された仮想環境を構築、管理するための「Anka Build」、展開、実行するための「Anka Run」の2種のアプリケーションパッケージが提供されており、何れもCLI(コマンドラインインターフェイス)を通じて実行可能となっています(ウインドウマネージャにてGUIを制御)。また、「WWDC 2017(Worldwide Developers Conference 2017)」において発表され、現在ベータ版(Developer Beta)が提供されている Appleによる次世代デスクトップオペレーティングシステム「macOS High Sierra 10.13」を ゲストOSとして試験的にインストール実行可能となっており、ハイパーバイザ(Anka Hypervisor)における主な特徴として、以下の項目等が示されています。

  • Anka Buildは15MB、Anka Runは8MBの軽量なフットプリントにて、Macハードウェアにおいてネイティブアプリケーションとして実行可能。高速、且つレスポンシブなパフォーマンスを実現し、専用のレジストリに仮想マシンをプッシュ
  • 別途にカーネルエクステンション(.kext)を組み込む必要なく、「OS X Yosemite(OS X 10.10)」より実装された「hypervisor.framework」を通じて、ホストOSからmacOSゲストに対して リソーススケジューリング、電源管理(パワーマネジメント)等を提供可能(カーネルレベルでの強制的な介入がないため、ネイティブアプリケーションと同じアプローチにて仮想化リソースの管理を行う事が可能)
  • 特許出願中とされる「INSTANT START(インスタントスタート)」テクノロジによって、仮想マシンを1秒未満で起動可能
  • 仮想マシンにおけるディスクパフォーマンス、ネットワークパフォーマンスを向上させるための パラバーチャライゼーション(準仮想化)ドライバを提供(インストールプロセスは、Parallels Desktop、VMware Fusion、VirtualBoxのように自動化されておらず、マニュアルで行う必要があります)
  • サンドボックスモデル(Sandbox)は採用しておらず、デスクトップ版(Veertu Desktop)において、同モデルによる制限から実装が遅れていた ブリッジネットワーク、USB機能をサポート(macOSゲストに対してiOSデバイスを接続可能とする、USBパススルーに対応)
  • コードベースとして、FreeBSDのbhyveからポートされたxhyveハイパーバイザ、及びEDK IIを使用

「Terminal(ターミナル)」を通じたコマンドラインでの操作を基本としているため、現時点でGUIのクライアントアプリケーションは存在せず、コンソールはVNCクライアント(ankaview)を使用しています。また、デスクトップ仮想化ソフトウェア「Veertu Desktop」と同様に「hypervisor.framework」を仮想化レイヤとして使用しているため、ホストOSにおけるシステム要件は「OS X Yosemite(OS X 10.10)」以降(「macOS Sierra 10.12」推奨)となっています。

macOSゲスト(High Siera Beta)のインストール手順

「macOS High Siera Beta(ゲスト)」をインストールする場合の手順は、以下の通りとなっています。

  1. 「anka create-disk」コマンドを実行し、仮想ディスクを作成(完了メッセージと共にディスクIDを出力)
  2. 仮想マシンに割り当てるメモリ(RAM)容量、CPUカウント、仮想マシン名を設定(仮想ディスク作成時に出力されたディスクIDを”–image-id”に設定)
  3. 仮想マシン設定の完了後に、「anka view」コマンドにて コンソールのVNCクライアント(ankaview)を起動し、macOSゲストの設定を開始(殆どの設定は、ホストOSから引き継がれる)
  4. 仮想マシン、及びmacOSゲストの設定が終了すると、「High Siera Beta(ゲストOS)」のデスクトップが表示されるので、このタイミングで「System Preferences(システム環境設定)」>「Security & Privacy(セキュリティとプライバシー)」>「General(全般)」を開き、Veertuによる機能拡張を許可
  5. 仮想マシンをシャットラウンした後に、コマンドライン(-anka run highsiera ls -l)を通じて準仮想化ドライバ等の検証を実施

シャットダウンは、「High Siera Beta(ゲストOS)」のAppleメニュー>「Shut Down…(システム終了)」から実行可能な他、コマンドラインを通じて仮想マシンの起動(-anka start vmname)、終了(-anka stop vmname)、ステータスの確認(-anka list)を制御する事が可能となっています。

尚、ゲストOS、ホストOS間における共有フォルダを作成する場合には、別途にライブラリ(osxfuse)をインストールし、再起動後に「System Preferences(システム環境設定)」を通じて、アプリケーションの使用許可を設定する必要があります。

「hypervisor.framework」、特権の分離について

「OS X Yosemite(OS X 10.10)」より実装された「hypervisor.framework」は、リソーススケジューリング、及び電源管理(パワーマネジメント)を行うためのAPIを提供しているため、同フレームワークを使用する仮想化ソフトウェアでは、(これらの機能を実装するために)別途にカーネルエクステンション(.kext)を追加する必要はありません。また、カーネルレベルでの強制的な介入も発生しないので、他のネイティブアプリケーションと同じ方法で、仮想化リソースの管理を行う事が可能となっています。

また、動作するアプリケーション、ツール、デーモンの機能が不適切に利用されないようにするために、必要に応じて特権の分離を行っています(特権が必要な場面になると、特権ヘルパーを利用してダイアログを表示し、ユーザに同意を求めるようにしています)。