VMware Workstation Playerを15.0.2にアップグレード

VMware Workstation Playerの14.1.2の上で、Ubuntu 18.04とopen-vm-toolsを使っていたのですが、共有フォルダが使えなくなっていました。

そこで、VMware Workstation Player 15.0.2にアップグレードしました。すると、画面もちゃんと表示されなくなってしまいました。そこで、open-vm-toolsをアンインストールして、VMware Tools 10.3.2をインストールしました。これで、共有フォルダとコピーペーストが使えるようになりました。

open-vm-toolsがいつも使えればいいのですが、時々、使えなくなったりするのが問題ですね。そのたびに、VMware Toolsをインストールしなおしている気がします。

VMware Toolsをインストールしようとして、open-vm-toolsが入ってないのに入っていると警告が出る時は、設定ファイルが残っているかもしれません。その時は、

$ sudo apt-get purge open-vm-tools

して、設定ファイルを消すといいです。

VirtualBox 6.0でNested Virtualization

VirtualBox 6.0 でAMDのCPU上でNested Virtualizationがサポートされました。なんと、Intel CPUではなくAMD CPUです。

何はともあれ、サポートされたことはめでたい。

Nested Virtualiztionというのは、ゲストOSの中でゲストOSを動かせるということです。これで、仮想環境の中でOpenStackなどの仮想化ソフトをテストすることができます。

VMware Playerでは、Intel CPUしかサポートされていないみたいなので、AMDの人には朗報ですね。

でも、フォーラムを見るとThreadripperでは動かないという報告もあるようです。まだ、出来たばかりでバグがあるということでしょう。

Intel CPU上でもサポートされるよう気長に待ちましょう。

コンテナからSR-IOVデバイスを利用

コンテナと聞くと、ソフトウェア的にホストと環境を分離する技術だと思っていました。ホストの環境をただコピーして利用しているだけだと。

けれど、次の記事でSR-IOV対応デバイスを利用できることが紹介されています。

第539回 LXDのコンテナからSR-IOV対応デバイスを利用する

SR-IOV対応デバイスであるイーサネットカードにVirtual Functionを設定してそれを利用するのだそうです。

2つのコンテナから利用していることも驚きでした。SR-IOVは、ゲストOSからデバイスを占有する方法じゃなかったのでしょうか。

Dockerからだとpipeworkというのを使うとできるらしいです。

Host with SR-IOV NIC - Docker containers to use each VF individually

性能もオーバーヘッドなく使えているみたいですね。

VirtualBoxを5.2.18にアップデート

Windows 10 October 2018 Updateにしたら、VirtualBox 5.1.30のネットワークが動かなくなりました。そのため、VirtualBoxを5.2.18にアップデートしました。

無事ネットワークが動いて一安心。

Guest Additionsも再インストールしました。

ここで、CentOS 7は、yum clean all しないと、404 errorでyum updateできなかったです。

CentOSもUbuntuも最近のOSは、再起動すると更新プログラムを自動で見に行っているのですね。手動でyumやaptを動かそうとしてもエラーになって動かないです。便利だか不便だかわからないなと思いました。自動更新は止められるのでしょうけど、今後の課題です。

ARM用のDockerイメージをQEMUを使って作る

ARM用のDockerイメージを作る時に、QEMUのqemu-user-staticを使ってCPUエミュレーションを行う方法が紹介されています。

Jetson 上で Docker イメージをビルドするのが辛かったので EC2 上にビルド環境を作った

ARM用のバイナリを作る時に、ARM上のシステムでは時間がかかって仕方ないため、x86_64上のシステムで作ってしまおうということですね。

エミュレーションでどれくらいのスピードが出るのか使ったことがないのでわかりませんが、ARMネイティブで作るよりはいいみたいですね。

最近のQEMUをWindowsで作ってみた

QEMUをWindowsで作るには、MSYS2という環境を使うわけです。msys2-x86_64-20161025.exeというのを使って作ったMSYS2で、去年QEMUを作ろうとしたらエラーで作ることもできずそのままになっていました。

そこで、ちょっと本腰を入れて作ってみました。

エラーは、export dashlessという表示がされるエラーなのですが、調べてみるとMSYS2のエラーのようです。

そこで、pacman -Syuでパッケージを全部アップデートして対処しました。このエラーは出なくなりました。

ところが、capstone.libをmakeするルールがありません、というエラーが出ます。仕方ないのでconfigureに--disable-capstoneをつけて対処しました。

すると、めでたくQEMUを作ることができました。

こんな感じのconfigureです。

./configure --target-list=x86_64-softmmu --python=/usr/bin/python2 --disable-capstone

Python2については、MSYSのものを使ったので指定しています。capstone.libはMinGW64の問題のようでメーリングリストにも出ていましたが、使わないように指定するしか今のところ対処の方法はなかったです。あとtexinfoの警告が出ていますが、MSYS2の問題です。

簡単ですが、何かの参考になれば。

VMware Workstation 14 Player にUbuntu 18.04をインストール

VMware PlayerにUbuntu 18.04をインストールしてみました。最初、VMware Player 12.5.5に簡易インストールを使ってインストールしようとしても途中で止まるため、VMware Playerを14.1.2にアップグレードしました。

ところが、VMware Player 14.1.2を使っても、簡易インストールは、Creating ext4 file systemのところで止まってしまいます。

仕方ないので、簡易インストールはせずに、空のディスクを作って、手動でUbuntu 18.04のDVD-ROMイメージをセットしてインストールしました。
インストールは完了しました。

VMware Toolsは、aptを使ってインストールしました。端末は画面の右クリックのメニューの一番下から起動できます。

sudo apt install open-vm-tools

あと、いろいろな設定は、画面の右上をクリックすると出てくるトンボのようなマークから設定することができます。

電源のブランクスクリーンをしないにしました。プライバシーの画面ロックから自動ロックをオフにしました。

また、画面の右クリックして出てくる画面で、名前をクリックして出てくるアカウント設定から自動ログインをオンに設定しました。このとき、ウィンドウの右上に出てくるロックを解除というボタンを押さないと設定できませんでした。

簡単によく使うものを設定しました。

簡易インストールできない問題は解決できませんでした。VWware PlayerかUbuntuのバージョンアップを待つしかないでしょうか。

IntelのHardware Accelerated Execution Managerがオープンソースになっていた

スマホのAndroidのプログラム開発で、アクセラレーターとして使われているIntel Hardware Accelerated Execution Manager(HAXM)ですが、QEMUでも使えるようになっています。Windowsホストでアクセラレートできるのがいいですね。

これが、昨年2017年の11月にオープンソースになって公開されていました。QEMUのメーリングリストにはメールが出されていました。気づかなかった。

ライセンスは、BSD 3-Clause Licenseです。

作るには、Enterprise WDK 10かVisualStudioとSDK、WDKを使うようになっています。

ソースコードを見てみたのですが、自分が少しプログラムとは離れていたせいで、読めなくなっていました。どうしましょ。

ともあれ、ソースコードが公開されたことは今後にとって良かったのではないでしょうか。

QEMUでHAXMを使う手順が次のところに載っています。

Accelerating QEMU on Windows with HAXM

興味がある方はお試しください。

QEMUのWindowsホストでのHyper-Vのサポート

先月のQEMUのメーリングリストで、WindowsホストでアクセラレーターのHyper-Vを使えるようにするパッチが投稿されました。パッチを見てみると、なんとMicrosoftの人が作っています。Microsoftの人がGPLv2のソースコードを提供するなんてことは一昔前には考えられないことですね。

以前、インテルのアクセラレーターを使えるようになるパッチが取り込まれました。

今回これが動くと、特別にアクセラレーターをインストールしなくてもQEMUが速く動くのでいいですね。

メーリングリストではどのバージョンのWindows 10でも動くといっていますが、Hyper-VはWindows 10 Professionalでしか使えないことになっていますね。どちらが正しいのでしょう。

それと、Windows 10 Insider Previewというバージョンでしか動かないようです。次のWindows 10のアップデートで動くということでしょうか。

アクセラレーターはWindows Hypervisor Platform acceleratorという名前で、2月の初めにはソースコードがマージされています。

バイナリを作ろうとしたら、なんかエラーが出て試せていませんが、興味のある方は試してみてはいかがでしょうか。

QNAPの仮想化技術がいいかも

ネットワークストレージQNAP TS-231+を使って、LAMPサーバーを立てると簡単で便利という話が載ってます。

2017年を振り返る。前半はAMD vs Intel、後半は2018年に向けての助走の年!?

仮想化の方法としては、LXCとDockerを組み合わせているそうです。メジャーなソフトであればDockerのイメージがあるのでそれを使うようです。

QNAP TS-231+はメモリが1GBしかないのですが、使いものになるようです。コンテナ型の仮想化のいいところですね。

気をつけないといけないことは、QNAP TS-231+はCPUがARMなので、ARM版のDockerイメージがないと使えません。それと、Dockerのイメージを作ってもVPSやクラウドに展開することができません。Dockerを使っていることで、安定性が気になります。開発目的なら問題ないでしょうか。

Amazonで調べたら、QNAP TS-231Pという方が新しいようです。QNAPのサイトを見るとContainer Stationも使えるようです。久しぶりに欲しいなと思ったのですが、最近プログラム開発をやっていないですし、しばらく様子見ですかね。自分で動かして安定性が知りたいですね。

仮想化やクラウドについて