2013/09/07

Fusion 6

VMware Fusion 6Fusion 6 Professional がリリースされた。

アップグレードの差異にはProfessional版か通常版かを要注意。Fusion 5 Professional から Fusion 6 通常版へのアップグレードもあり得るというか、できてしまうので。

なお、VMware Fusion Technology Preview 2013 のβテスターだった方はコミュニティを要確認。20% のディスカウントコードが出ている。

Fusion6 の新機能だが、ざっというと以下になる。

  • OS X 10.9 "Marbericks" サポート (ホスト&ゲスト)
  • Windows 8.1 サポート(ゲスト)
  • クローンサポート:フルクローンおよびリンククローン
  • バージョン10仮想マシンのサポート
    • より多くの仮想CPUとメモリを搭載した仮想マシンの作成
    • 2TBを越えるストレージの作成(ただし、仮想マシンのブートディスクは2TBまで)
リンククローンは元となる仮想マシンの指定のスナップショットからの「差分」仮想マシンを生み出す技術。うまく使うと同じゲストOSの仮想マシンを作るときのディスク消費量を格段に減らすことができる。

バージョン10仮想マシンは vSphere5.5 や VMware Workstation 10でもサポートされる最新の仮想マシン形式で、設定可能なCPU数やメモリ量が増えたほか、2TBを越える単一仮想ディスクイメージを作成可能なのが特徴。
ただし、ブートディスクは2TBまでの制限があるため、(WindowsをゲストOSにするなら)Cドライブは 2TB以下、Dドライブというかデータディスクは2TBを越えて8TBの設定が可能になる。(vSphere5.5では最大64TBまでの仮想ディスクを作成可能)

Marbericks も Windows8.1 もまだ出ていないため、急いでアップグレードする必要は無いのかも知れない。


もう一つ、密かに VMware Player Plus がリリースされている。
これはこれまで個人利用および非商用利用で無償で提供されてきた VMware Player の商利用をサポートした有償ライセンスに当たる。PlayerPlus の利用者は別途有償でサポートを購入することが可能になる。

Fusion 5 Professional にも VMware Player の商利用権がついていることを以前記載したが、この商利用権だけを単品購入できるようになったが、VMware Player Plus である。

なお、Fusion 6 Professional にも VMware Player Plus の権利がついている。つまり、Fusion 6 Professional を購入し Mac OS X を実行するコンピュータにそのライセンスを割り当てれば Fusion Professional が使える一方、Fusion 6 Professional を購入し Windows/Linux を実行するコンピュータにそのライセンスを割り当てれば VMware Player Plus として利用できる。


2013/07/15

vExpert 2013 受賞しました

出張が続いており、ブログを書くのもとんとご無沙汰してますが、一応、今年も vExpert を受賞しました。

秋口になれば一段落つくかなと、その頃には色々書くことが増えるかなとか思っております。


左が2012の、右が2013の記念品



2013/04/03

ViewClient for Mac の USBリダイレクトを停止させる

VMware ViewClient for Mac 1.7 から Mac でもUSBリダイレクト機能が利用できるようになった。ローカルのMacに接続したUSBデバイスを、リモートのデスクトップ仮想マシンに認識させ、利用することができるようになったのだ。

これは便利なのだが、ただ困ったことに 32111/tcp が閉じられているなど諸々の理由でUSBリダイレクションがうまくいかない場合、下記のエラーメッセージが頻発して操作性が悪くなる。

USBリダイレクトに失敗するとこのメッセージが何度も何度も出る

Windows 版と異なり、Mac 版の USBリダイレクションはそのままでは有効にならず、一度メニューからサービスを開始させる必要がある。


USBリダイレクトを使うには、まず「リモートデスクトップUSBサービス」を開始させる必要がある
これはデフォルトでは有効になって板に
開始させようとすると上記警告と、管理権限のパスワード入力が求められる
必要なのは最初の一度だけで、有効にしたら最後 次回以降の起動では必ず有効になる

ところが、標準メニューではこれを有効にすることはできても向こうに戻すことができない。これは不便だ。

なので、調べてみた。

この「リモートデスクトップUSBサービス」だが、二つの要素でできている。

まずはユーザランド側で、「vmware-usbarbitrator」と「vmware-view-usbd」という二つのプロセスが起動する。vmware-usbarbitrator は VMware Fusion にも搭載されているUSBの調停プロセスで、おそらく OS X からUSBデバイスを引き取るのに使われているのであろう。

もう一つはカーネル側で、「vmioplug.kext」という KEXT (カーネル拡張) 。これが USBの通信を引っ張り出して、usbarbitrator などに渡しているものと思われる。

そして、インストール(dmg からコピー)直後の ViewClient ではこの vmioplug.kext がコピーしたユーザの権限になっている。対して「リモートデスクトップUSBサービスを開始」を実行した後はこれが root:wheel に権限が書き換えられている。

セキュリティのため、OS X では root:wheel 、権限が 755 な kext 以外をカーネルにロードできないようになっている。カーネルは最高特権で動作するので、ここに一般ユーザで書けてしまうファイルを書き込むのは極めて危険であり、同等権限を要求することで安全性を揚げているのだ。( root:wheel のファイルを用意できる時点でそのシステムは落とされているから、それ以上厳しくしても意味がない )

なのでこの vmioplug.kext の権限を root:wheel でなくしてしまう、ロードできないようにすることで元に戻す、「リモートデスクトップUSBサービスを開始」を選択する前の状態に戻すことができる。

とりあえずはこれでしのげた。

2012/12/13

GPO でレジストリをいじる

事の発端は IE9。気がついたらなにやら調子が悪くなり、調べたらどうやら GPUを使ったハードウェアレンダリングが有効になっていた。

VMware の仮想マシンは 3Dサポート機能を有効にすることで OpenGL, DirectX といったGPUを有効活用するAPIが利用可能になるのだが、私の Windows7 ではこれを無効にしていたため、存在しないGPU相手になにやらやっていて、タイムアウトが起こるまで不調が続いたという感じだ。

対処については以下の通り。インターネットオプションの詳細より無効化できる。
http://support.microsoft.com/kb/2618121/ja

が、問題はこの設定は GPO で簡単には配布できないということだ。

http://technet.microsoft.com/ja-jp/library/gg699401.aspx より
Internet Explorer 9 には、ハードウェア アクセラレーション (GPU レンダリング) を無効にするポリシーは用意されていません。必要な場合、グループ ポリシーの基本設定を使用してハードウェア アクセラレーションを無効にできます。HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main キーでレジストリ値 UseSWRender を設定します。グループ ポリシーの基本設定の詳細については、「グループ ポリシー ツールによるブラウザー設定の管理」を参照してください。
「グループポリシーの基本設定」でできるとあるが、こちらで動いてる ActiceDirectory のドメインコントローラが Windows Server 2003 のためか、「Internet Explorer のメンテナンス」などのメニューにそれを見つけることができなかった。

あまり時間もなかったのと、ユーザへ個別に .reg を配ったり .bat ファイルを実行させるのも気が引けたので、adm テンプレートを作って強制的に適用するようにした。

; IE9 HW Accesll
CLASS USER
CATEGORY !!IE9SWRender
KEYNAME "Software\Microsoft\Internet Explorer\Main"
POLICY !!IE9SWRenderConfig
    EXPLAIN !!IE9SWRenderExplain
    VALUENAME "UseSWRender"
    VALUEON NUMERIC 1
    VALUEOFF NUMERIC 0
END POLICY
END CATEGORY
[Strings]
IE9SWRender="IE9 SW Rendering Configuration"
IE9SWRenderConfig="IE9 SW Rendering Configuration"
IE9SWRenderExplain="Use SW Render insted GPU"


作ったのは上記の通り。adm ファイルの書式については解説は不要だろう。

要するに「HKCU\Software\Microsoft\Internet Explorer\Main」の「UseSWRender」の値を DWORDで1か0かを設定するというシンプルなものだ。

ただし、実はこれではうまくいかない。というか表示されない。

諸々試したが、Software\Policies 以下でないパスへの操作については、GPOエディタでデフォルトでは表示されないようだ。

この通り定義したはずの POLICY項目が表示されない

これについては、右クリックして「表示」から「フィルタ...」を選択、


「完全に管理されているポリシー設定のみを表示します」のチェックを外すと見える。


ただし、表示されるようにこのポリシーは適切に管理されるとは限らない。
たとえば「無効」にも「未設定」にもせずにこの adm を削除したりすると、レジストリの中に設定がそのままごみとして残ってしまう恐れがある。


分かって使う分には問題ないが、あまりお勧めはできないこと、わざと表示していないことを察するべきだろう。






2012/10/30

VMware Fusion 5 Professional を買うと VMware Player が商利用サポートされる

VMware Fusion はバージョン5になってから通常版の「VMware Fusion5」とプロフェッショナル版の「VMware Fusion 5 Professional」に分かれた。

それぞれの機能比較は VMware 社のページにあるので見て頂ければと思う。

個々で興味深いのは「VMware Fusion 5 Professional は、実績のある VMware Player が含まれている」という記述だろう。VMware Fusion 5 Professional のライセンスキーは VMware Player にも投入でき、どちらをアクティベーションすることもできる。

無償の VMware Player をアクティベーションして何の意味がある?と思われるかも知れないが、これは VMware Fusion Professional の正規の機能であり、保守によるサポート範疇に含まれる、というのがミソだ。

通常の VMware Player は個人利用のみ無償であり、雑誌掲載や商利用などについてはこれまでも申請が必要だった。が、この申請がややこしいのもあり、VMware Workstation を購入するというのが現実的には行われていた。単に仮想マシンを実行できれば良く、Workstation のもつ様々な機能を使う必要がなくても、だ。

そこで、VMware Fusion 5 Professional を購入し、そのライセンスを Mac ではなく WindowsPC に割り当て、VMware Player をインストール、利用する、という形態をとることで VMware Player をより簡単に、より安価に商利用で使えるようになった訳だ。

VMware Fusion 5 Professional はライセンスキーのみでの購入ができ、ボリュームディスカウントも存在する。通常のインシデントベースのサポートだけではなく、平日8-20時でのサポートとサブスクリプションも用意されている。これは Mac むけもさることながら、商用版 VMware Player としての使われ方も想定してのことだろう。


2013/9/14追記:

VMware Fusion6, Workstation10, の公開にともない、VMware Player もバージョンアップし VMware Player6 になった。 この Player6 では個人用途で無償でダウンロードできる通常版に加え、商利用がサポートされた PlayerPlus というライセンスが新たに用意された。

ただし、VMware PlayerPlus は現時点では VMware社のオンラインストアでしか購入することができない。中小企業でごく小規模に使う場合はオンラインストアで購入も悪くはないが、ある程度の規模で導入しようとするとボリュームライセンスでの購入が避けられなくなる。

この場合は、やはり VMware Fusion Professional を購入し、Windows/Linux PC に割り当て、VMware PlayerPlus として使うという形態になる。


2012/10/28

XP から Windows8 にアップグレードするとNICが認識されなくなるのとその対処

Windows8 の発売の翌朝だが、セミナーの講師をしていたところ、お客様より「今回のセミナーとは関係ないのですが...」と問い合わせを受けた。

どうもこのお客様のお客様、つまりはエンドユーザの方が VMware Fusion 上で、Windows XP を実行している仮想マシンに Windows8 をアップグレードインストールした、そうだ。すると、アップグレードは成功したもののNICを認識しないので何とかしてほしいと相談を受けたとのこと。

まあそんなチャレンジャーなアップグレード良くやるなぁと思ったが、とりあえずNICが AMD PCnet だからではないかと推測、いくつかの方法を話をした。

この土日、折角なので個人的に調べてみた。

● 再現試験

実際に Windows XP Professional から Windows 8 Pro にアップグレードインストールしたところ、それ自体は成功した。が、確かにNICを認識していないのが分かった。

手持ちの Windows XP はIDE接続の仮想ディスクにインストールされており、やはりNICは AMD PCnet (vlance というかフレキシブル) であった。

アップデート前に確認、NICは AMD PCnet エミュレーションだった
アップグレードしたところ、NICに×印がついている
クリックしたところ、認識しているネットワーク接続がないことが記載される
あとキャプチャを忘れたが、「ネットワーク接続」のデバイス一覧に何のネットワーク接続も表示されていなかった。


● 手っ取り早い対処法

手っ取り早く何とかしたい場合は、以下の手順を行えばいい。
なお、vmx ファイルを操作するという危険なことを行うので、バックアップは必ずとっておいてほしい
  1. 仮想マシンをシャットダウンし、VMware Fusion を終了させる
  2. 「仮想マシン名.vmwarevm」を右クリック、パッケージの内容を表示し、拡張子 .vmx ファイルを確認する
  3. 確認した vmx ファイルをテキストエディットなどで開き、一番下で良いので以下の行を追加する
    ethernet0.virtualDev = "e1000e"
  4. ファイルを保存する
  5. VMware Fusion を起動し、仮想マシンを起動する
要するにデフォルトのNICが AMD PCnet 互換から Intel EtherExpress 1000e 互換に行っている訳だ。

Fusion で作成したWindowsXP仮想マシンの場合、NICに対する virtualDev は指定されていない。指定されていない場合は AMD PCnet 扱いする。一方、Fusion で Windows8 仮想マシンを作成した場合は、上記の行が追加されており Etherexpress1000e 扱いされる。
VMware Workstation などでは NIC のタイプを指定することができるが、Fusion では簡単に指定する方法がない。なので、ここでは .vmx ファイルを直接編集、修正をしている。

なお、起動直後はまだNICは認識されない。しばらく待ってると下図の様なエラーが表示され、さらにしばらく待つとNICが追加される

しばらく待ってるとこの警告が出る
さらに待つと「ネットワーク接続」にNICが現れる
と同時に、右側に図にあるような選択画面が表示される

● 余談

なお、私の WindowsXP 仮想マシンは、仮想ディスクがIDE接続だったためさして問題なくアップグレードできたが、SCSI接続の場合アップグレードに失敗する?らしい話も聞いている。

vSphere で WindowsXP 仮想マシンを作成すると、デフォルトでは BusLogic SCSI HBA を経由して仮想ディスクが接続される。おそらく、AMD PCnet のドライバーがなくなり上記のような問題が起こったように、BusLogic SCSI HBA のデバイスドライバーもなくなったのだろう。

だいたいにおいて、BusLogic SCSI HBA のエミュレーションは過去のOSとの後方互換に使われている。WindowsServer 2003 などでは LSI Logic のより新しいSCSI HBA が使われ、Windows7, 2008R2 などでは LSI Logic SAS HBA のエミュレーションが行われる。

おそらく、LSI Logic HBA のエミュレーションなら Windows8 でも利用可能なのだろうと思われる。

WindowsXP でも LSI Logic HBA エミュレーションを使うことは可能だが、インストールメディアに LSI Logic のSCSI HBA のドライバーが入ってないためそのままでは新規インストールに失敗する。LSI Logic のサイトなりからデバイスドライバをダウンロード、仮想フロッピーメディアに展開しておき、インストール時に追加するといい。

この WindowsXP で LSI Logic HBA のエミュレーションを使わせるのは VMware View などのVDI環境でデスクトップ仮想マシンのパフォーマンスを上げるために必要な基本テクニックだ。


2012/08/23

VMware Fusion 5 リリース、でも、買うのはちょっと待った方が

本業に追われてだいぶご無沙汰してしまった。

さて、米国時間で 8/23に、無事 VMware Fusion 5 と VMware Workstation 9 がリリースされた。

http://www.vmware.com/products/fusion/overview.html

Fusion 5 では Windows8 への最適化など新しい機能がある。また、私自身はまだ確認していないが、Fusion 4 に比べ複数の仮想マシンを実行した際のメモリ消費が抑えられているという体験談を聞いている。vSphere にある透過的メモリ共有に類する技術を使っているのか、はたまたこれまで無駄に消費してたのがダイエットしただけなのかは不明だが、確認を取ってみたいところだ。

また、Professional Edition ができたのも1つの特徴だ。
http://www.vmware.com/products/desktop_virtualization/fusion/professional.html

ネットワークエディタは Workstation ではおなじみだが、vmnet0-8 までのネットワークに任意の設定をする事が可能になるというものだ。
Fusion ではこれまで vmnet0 をブリッジ、vmnet1 をホストとの通信だけが可能なネットワーク、vmnet8 をNATを行うネットワークとして使用してきた。が、あいている vmnet2-7 に任意の設定のネットワークを作ってNATや仮想マシン間ネットワークを個別に用意できる。また、vmnet1 や vmnet8 のDHCPで配布されるIPレンジを変更なども可能になる。

制限された仮想マシンを作成できるらしいのもポイントだ。VMware Workstation ではかつて VMware ACE という拡張機能があり、暗号化され利用者が設定を変更のできない仮想マシンを作ることができた。暗号化自体は Fusion 4 よりサポートされていたが、より細かい制約が作れるようだ。

管理者が制約を作り、利用者に仮想マシンを配布する、といった用途が期待できる。

価格の方は、VMware Store で Fusion 5 が $49.99、Fusion 5 Professional が $99.99 だ。Fusion 5 へのアップグレードはなく買い直しになる模様。

一方、 Fusion 5 Professional については Fusion 3,4 からのアップグレードパスがある。こちらも $49.99 なので、すでに VMware Fusion を使ってる方は Professional 版にして細かい機能を楽しんでみるのもいいだろう。

また、Fusion 2012 TechPreview を使ってきたβテスターには、後ほどプロモーションコードが配布されるようだ。このパブリックベータでテストしてきたユーザは、購入を少し待った方がいいだろう。

なお、Fusion に限らず VMware 製品は、ダウンロードしてそのまま実行すると評価版として一定期間動作する。なので、すぐに買わなくてもしばらくは評価版として利用が可能だ。
業務で使うなど明確な商利用などの都合がない、パブリックベータを試してこれたような個人ユーザなら評価版で待ってても問題はないだろう。