「VMware」カテゴリーアーカイブ

VMware Workstation PlayerでゲストOSのスリープからの復帰をエミュレートする

Windows 10で、EaseUS Todo Backup Freeというフリーのバックアップソフトを使ってみたときのこと。

なぜかわからないのですが、パソコンをスリープさせると、すぐに復帰とスリープを繰り返します。

他のマシンでも同じことが起こるのか確認をするために、VMware Workstation Playerで、Windows 10 のクリーンインストールをしたあと、バックアップソフトをインストールして確認してみました。

この、スリープから復帰することを確認するのに、VMware Workstation Playerでは、ACPI S3 Sleepというスリープの状態をエミュレートすることができます。.vmxファイルに次のようなエントリを付け加えてからVMware Workstation Playerを起動します。

chipset.onlineStandby = TRUE

こちらの情報より。
VMware Workstation 5.0 Guest ACPI S1 Sleep

通常スリープすると、仮想マシンが終了してしまって電源が切れた状態になります。

このエントリを付け加えてWindows 10を起動しスリープすると、画面が黒くなったまま待機してくれて、時間が来るとスリープから復帰することを確認することができました。

実験的な実装で、すべてのOSで動くわけではないそうですが、Windows 10では大丈夫でした。ただ、タスクで復帰してもイベントビューワーでは電源ボタンが原因になっていて完全にエミュレートされているわけではないようでした。

肝心のバックアップソフトは、Windows 10のコンピューターの管理、サービスから、サービスを手動で起動することにして、Windowsの起動時にはサービスが起動しないようにすることで対処することにしました。ただ、スケジュールを使ったバックアップが使えなくなりました。

以上、VMware Workstation Playerを使って、ゲストOSのスリープからの復帰について確認するお話でした。

VMware Workstation 15.1.0 Playerにアップデート

VMware Workstation Playerを15.1.0にアップデートした。

Ubuntu 18.04、CentOS 7.6といったところは問題なく動いたけど、open-vm-toolsでは共有フォルダが使えず、手動でVMware Tools 10.3.10をインストールしました。
最近open-vm-toolsが使えなくなっている気がします。

それと、VirtualBoxでグラフィックアダプターにVMSVGAを指定していると、画面をリサイズしたときに右と下が切れてしまう現象を確認しています。VirtualBoxでVBoxVGAに設定を変えると起こらなくなります。ご注意ください。

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

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

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のバージョンアップを待つしかないでしょうか。

Windows 10をFall Creators UpdateにアップデートしたときのVMware PlayerとVirtualBox

Windows 10をFall Creators Updateにアップデートしました。

VMware Workstation Player 12.5.5のネットワークがつながらなくなりました。アプリと機能ー>プログラムと機能 から修復を選んで修復。その後、VMware Workstation Playerの設定画面のネットワークアダプタの設定で、VirtualBoxのアダプタを外すことでネットワークにつながりました。

VirtualBoxは動かなくなったので、古いものはアンインストールしてVirtualBoxをダウンロードしてインストールしました。最初5.2.0をインストールしたのですが、画面の大きさが1024x768の固定になってしまったので5.1.30に変えました。5.2系はまだインストールするには早いようです。

VMware Workstaion Playerでマウスのキャプチャの設定

VMware Workstation Playerで、ゲストOSでマウスやキーボードを使えるようにすることをキャプチャとがグラブ(grub、捕まえる)というようです。

自分はAlt-Tabでウインドウを切り替えることが多いです。VMware Playerの場合、一度ウィンドウをクリックしてグラブされてしまうと、Alt-TabがLinuxのゲスト内でのウィンドウの切り替えになってしまい、マウスで外のウィンドウをクリックして変えていました。

キーボードだとCtrl-Altの同時押しでリリースする設定になっているのですが、どうにも使いずらいです。そこで、C:\Users\(your name)\AppData\Roaming\VMware\preferences.iniに次のように設定してAlt-Shiftで変えられるようにしました。

preferences.ini

pref.hotkey.shift = "TRUE"
pref.hotkey.control = "FALSE"
pref.hotkey.alt = "TRUE"
pref.hotkey.gui = "FALSE"

マウスのリリースは上記で設定できるのですが、今度はAlt-TabでVMware Playerの画面を最前面に持ってきたとき、マウスがその画面内に入ってないとキーボードの入力を受け付けてくれません。

次のように設定すると、マウスカーソルがVMware Playerの画面内になくてもキーボードを打ち始めると入力できるようになります。

preferences.ini

pref.grabOnKeyPress = "TRUE"

以上の設定をすると、Alt-Shiftでマウスのキャプチャを解除できます。また、Alt-TabでVMware Workstation Playerを前面にもってきたときはそのままキーを押すことでマウスをキャプチャできるようになります。ホストOSとゲストOSを行き来するときに、いちいちマウスを操作するのは効率が悪いのでちょっとした設定ですが便利です。

今回はこちらの情報を参考にさせてもらいました。ありがとうございます。

[IT] VMware のホストへ戻るキーの設定
How to set input grab for VMWare Workstation Player 12

仮想マシンからホストOSを攻撃する

CanSecWest security conferenceで毎年行われているPwn2Ownというハッキング大会において、仮想マシンのブラウザからホストOSに抜け出すことができたのだそうです。

「仮想マシンでWebを見ているからホストOSは安全」という常識を覆す

Microsoft EdgeとWindowsカーネル、Vmware Workstationのバグを組み合わせてゲストOSからホストOSにアクセス可能にしたそうです。

なんか、普通の人には絶対わからないと思いますが、こんなことができてしまう人がいるのですね。

VMware Workstation 12.1.1 PlayerでUbuntu 16.04を使う

以前、VMware Workstation 12 PlayerでUbuntu 14.04を使おうとしました。

ホストは、Windows 10 Proです。

VMware Toolsをインストールして、いろいろやってみたのですが、どうもうまくいきませんでした。

今回Ubuntu 16.04を使おうとして調べてみると、こちらの方法でうまくいくことがわかりました。

ubuntu 16.04 インストール(2) vmware tools

自分の場合、クリップボード共有(コピーペースト)と共有フォルダを主に使っています。

VMware Toolsをインストールする方法としては、Ubuntuにもともと入っているOpen VM Toolsを使う方法と、以前からあるように手動でインストールする方法があります。

Ubuntu 16.04のデフォルトでは、Open VM Toolsが入っているのですが、共有フォルダが動かなくて困っていたのでした。じゃあということで、手動でインストールするとクリップボード共有がうまく動きません。

結局、もともと入っているOpen VM Toolsをつかって、/etc/fstabの設定を付け加えることで両方動かすことができました。

繰り返しになりますが、少し説明すると、

$ sudo apt install open-vm-tools-desktop

で、クリップボード共有が有効になります。もともと入っていれば問題ないです。

また、/etc/fstabに

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,auto_unmount,defaults 0 0

と付け加えることで共有フォルダが有効になりました。

画面のリサイズにも対応していて、ありがたく使わせていただいています。

VMware Workstation PlayerでOpenStack Mitakaのネットワークを設定しインスタンスを起動

はじめに

VMware Workstation PlayerでOpenStack Mitakaのインストールをしています。

前回は、OpenStack MitakaをインストールしてDashboardを見るところまでをやりました。

インストールにはこちらのサイトを参考にさせていただきました。今回は、ネットワークを設定しインスタンスを起動してロードバランサを動かすところまでやります。

VMware Workstation PlayerでOpenstack Kiloを動かす手順

ネットワークの設定では、こちらも参考にさせていただきました。

OpenStack Neutronを使ってWebシステムを構築する実践的な方法 (1/3)

不具合の対処

OpenStackのホストとなるCentOSを再起動してみると、httpdサービスとneutron-serverサービスがfailedになって立ち上がりません。動くときもありますので、いつも動かないわけではないようです。

サービスの起動の状態を知るのは次のコマンドでわかります。

#systemctl list-units --type service

エラーメッセージはこんな感じです。

#systemctl status httpd

ERROR: scss.ast: Function not found: function-exists:1

#systemctl status neutron-server

neutron.service start operation timed out. Terminating.

こちらの情報によると /lib/systemd/system/httpd.service.d/openstack-dashboard.conf を実行するときに時間がかかりすぎるのが原因だとか。パッチも作られたようです。

とりあえず次のコマンドで手動で起動すると動きます。httpdが起動するまで少し待つ必要があります。

# systemctl start httpd
# systemctl start neutron-server

また、VMware Workstation PlayerのCPU2コア、メモリ4GBにすると安定して動くようになりました。CPU1コア、メモリ4GBでは、リソースが足りないようです。

ネットワークを設定

VMware Workstation PlayerでOpenstack Kiloを動かす手順に従ってネットワークを動かそうとしました。しかし、502 Bad Gatewayというエラーが出て動きません。

問題の特定にはログファイルを見るしかないようでしたが、OpenStackを始めたばかりでどのログファイルのどこを見ればいいのかよくわかりません。

そこで、OpenStack Neutronを使ってWebシステムを構築する実践的な方法 (1/3)に従ってネットワークが動作することを確かめました。そのあとに手順書に従ってネットワークを動かしました。

@ITのサイトでは、OpenStackのハンズオンを基にした手順が書かれてありわかりやすかったのですが、公開するネットワークの設定の仕方が書いてないため、手探りで設定しました。下記に書いたようにpublicのネットワークを設定しました。

また、手順書のようにtennant_idを一つ一つ手書きするのはとても大変でした。そこで、@ITの記事を参考に次のようにしてネットワークを設定しました。

ちなみに、VMware Workstation Playerの画面で作業するのはコピーペーストできません。コピーペーストできるsshクライアントを用意してVMware Workstation PlayerのCentOSにアクセスして作業するとはかどります。

まずpublicという名前の公開するネットワークを作ります。作成する時のポイントはnet-createのときに、--router:externalを使うことです。これで外部のネットワークだと指定することができます。

OpenStackのホストとなるCentOSのIPアドレスは、192.168.0.140と指定してインストールを行っています。そのIPアドレスを外して、192.168.0.141から192.168.0.199をFloationg IPという名前で使って良いアドレスと指定します。

# neutron net-create public --route:external
# neutron subnet-create --name public_subnet --disable-dhcp --allocation-pool start=192.168.0.141,end=192.168.0.199 public 192.168.0.0/24

次に非公開のネットワークを作ります。OpenStackのインスタンスはまずこのネットワーク上に接続されて作られます。そのあとに上記の公開するネットワークからFloationg IPからIPアドレスを割り当てることで外部のネットワークと通信できるようになります。

neutron net-createでprivate-net1というネットワークを作ります。プライベートネットワークのIPアドレスは 192.168.10.0/24という範囲でネットワークを設定し、101から199まで指定します。 ゲートウェイは192.168.10.1を使います。

# neutron net-create private-net1
# neutron subnet-create --name private-net_subnet1 --enable-dhcp --allocation-pool start=192.168.10.101,end=192.168.10.199 --gateway 192.168.10.1 --dns-nameserver 8.8.8.8 private-net1 192.168.10.0/24

router-createで、router1という仮想ルーターを作ります。router-gateway-setでpublicネットワークにつなげます。publicネットワークでは、Floating IPから192.168.0.141というアドレスが付与されます。router-interface-addで、プライベートなネットワークにつなげます。private-net_subnet1のIPアドレス192.168.10.0/24で最初のアドレス192.168.10.1が使われます。先にゲートウェイを指定していたのと合っている必要があります。router-port-listとsubnet-showで確認できます。

# neutron router-create router1
# neutron router-gateway-set router1 public
# neutron router-interface-add router1 private-net_subnet1
# neutron router-port-list router1
# neutron subnet-show private-net_subnet1

インスタンスを起動

VMware Workstation PlayerでOpenstack Kiloを動かす手順に従ってインスタンスを起動しようとしました。しかし、--is-public と --location というオプションはないといわれ、イメージの登録ができません。

調べてみると、glanceはOpenStack kiloからOpenStack Libertyに変わったときにバージョンが上がってるようです。--os-image-api-version 1 というオプションをつけることでコマンドを使うことができました。

# glance --os-image-api-version 1 image-create --name cirros --is-public True --container-format bare --disk-format qcow2 --location http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img

バージョン2で使うときは、--is-publicを--visibility publicにすることと、--locationは対応するものがないので、イメージをあらかじめローカルにダウンロードしておいて--fileオプションを使って指定するとよいようです。

あとは手順書に従って、インスタンスを作って起動し、ロードバランサを作って動作確認しました。OpenStack KiloとMitakaでは画面が変わっていますが、対応するところはすぐわかると思います。

OpenStackのホストであるCentOS上で次のようにルーティングを設定すると、CentOSからOpenStackのインスタンスに接続できます。動作の確認ができるのでとても助かりました。

# route add -net 192.168.10.0/24 gw 192.168.0.141 br-ex

実際にロードバランサの動作を確認すると、Curlでアクセスしたときはweb_server01とweb_server02の表示が交互に出て、ちゃんとラウンドロビンで動作していることがわかります。

しかし、ChromeでアクセスしてShift-F5でリロードしてみると時々しか変わりません。ブラウザによって動作が異なるようです。原因はわかりませんでした。

インスタンスをKVMで起動

せっかく、VMware Workstation Playerを使ってOpenStackでもCPUの仮想化機能を使えるようにしています。そこで、OpenStackのインスタンスがKVMを使っているのかどうか確かめました。

デフォルトの状態では、OpenStackはQEMUを使ってインスタンスを動かしています。設定ファイルnova.confでvirt_type=kvmとすることで、KVMを使うように設定します。

/etc/nova/nova.conf

virt_type=kvm

実際にKVMが使われているかどうか、確認します。virsh listで、インスタンスのIdを確認して、virsh qemu-monitor-commandでinfo kvmとすることで確認できます。--hmpというのは、Human Monitor Protocolの略で、通常の人間がわかるコマンドを実行するということのようです。

kvm supportがenabledになっていれば、OpenStackのインスタンスでKVMが使われています。そこそこの速度で実行されているのではないでしょうか。

# virsh list

 Id    Name                           State
----------------------------------------------------
 2     instance-00000008              running
 3     instance-00000009              running
# virsh qemu-monitor-command --hmp 2 info kvm
kvm support:enabled

おわりに

neutronのコマンドにneutron lb-*というものと、neutron lbaas-*というものがあります。調べてみると、前者はLBaaS v1で後者はLBaaS v2というようです。v1とv2ではドライバから変わって、互換性はないそうです。v1は廃止予定になっています。せっかく覚えたのになんかもったいないですね。

VMware Workstation PlayerでOpenStack Mitakaを動かしてみた

はじめに

VMware Workstation Player上にOpenStack Mitakaをインストールしました。

OpenStackを気軽に試してみるには、Ubuntuを使うものとCentOSを使うものがあります。メモリーの必要量が少なかったりするので、CentOSを使うものにしました。

RDOとは、Red Hat系のOpenStackのコミュニティのこと。Packstackは、RDOで開発されているOpenStackのインストール作業や設定作業を自動化するインストーラーです。

ハードウェアの必要要件

CPUはVT-xもしくは、AMD-Vを備えたもの
メモリ4GB、6GB以上が望ましい

ここでは、VMware Workstation Playerを使って、仮想環境にOpenStackをインストールします。VMware Workstation Playerは、ホストのVT-x/AMD-Vをゲストから使えるようにする機能があります。これを使ってゲストOSをホストにしてOpenStackを動かしその上でゲストOS(インスタンス)を動かします。

開発環境

ホストOS Windows 10 Pro

VMware WorkStation Player 12.1.1

CentOS-7-x86_64-Minimal-1511.iso

インストールには、こちらのサイトを参考にさせていただきました。ほぼ、そのままでインストールしていきます。VMware Workstaion Playerの設定の仕方から始まって、OpenStackのロードバランサの設定まで細かく書かれてあります。大変参考になりました。

VMware Workstation PlayerでOpenstack Kiloを動かす手順

CentOSのインストール

CentOSは、手順書のとおりにインストールしました。

CentOSのダウンロードに1時間。インストールには20分ほどでインストールできました。Minimalインストールなので、インストール後net-toolsとntpをインストールしました。
NetworkManagerとはうまく共存できないようなので停止して代わりにnetworkサービスを使います。

ネットワークはOpenVSwitchを使います。ブリッジインターフェースを設定します。ホストのWindows 10 ProからOpenStackのホストのCentOSへアクセスするIPアドレスには、192.168.0.140を設定しました。

OpenStackのインストール

手順書を参考にインストールしました。

1つ変えたところは、次のコマンドでkiloのレポジトリをセットアップするのですが、

yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm

CentOSには、Mitakaのパッケージが用意されているので、次のコマンドでセットアップしました。

yum install -y centos-release-openstack-mitaka
yum install -y openstack-packstack

Packstackは、アンサーファイルを作って設定し、インストールします。

インストールには、OpenStackのコンポーネントをダウンロードしながらインストールするので時間がかかりました。

CentOSのインストールとOpenStackのインストールで2時間ほどで、OpenStackのDashboardを見ることができました。

自宅のネットワーク回線が遅いので、速ければもう少し早く終わると思います。

インストールの確認

インストールが正常に終了したところでhttp://192.168.0.140/dashboardにアクセスしてみました。

まだ、ネットワークの設定が終わっていないので、インスタンスを動かすことはできません。

OpenStackの設定ファイルは、/etcの下に散らばっているのですね。

詳細な手順書があったおかげでハマることなく動かすことができました。

次回、ネットワークの構成とインスタンスの起動までやってみます。