32 ビット Windows 7 には、Oracle VM VirtualBox でエミュレートされるオーディオハードウェア (AC'97) 用のドライバは付属していません。ただし、Windows Update を実行すると、適切なドライバが自動的に取得され、問題が解決します。アップデート後、再起動すると、オーディオが動作するようになります。
64 ビットバージョンの Windows 7 を使用している場合は、Realtek AC'97 ドライバをダウンロードしてオーディオを有効にする必要があります。
ダウンロード手順については、http://www.realtek.com.tw/downloads を参照してください。
Oracle VM VirtualBox をインストールしようとすると、コンソールに次のエラーが表示されることがあります。
## Executing postinstall script. Configuring VirtualBox kernel modules... VirtualBox Host kernel module unloaded. devfsadm: driver failed to attach: vboxdrv Warning: Driver (vboxdrv) successfully added to system but failed to attach can't load module: No such device or address ## Aborting due to attach failure. ## Configuration failed. Aborting installation. pkgadd: ERROR: postinstall script did not complete successfully Installation of <SUNWvbox> partially failed.
このエラーは、通常、以前のリリースの Oracle VM VirtualBox がまだインストールされている場合に表示されます。Oracle VM VirtualBox を削除してみてください (./vb-install -u)。その後、次のパッケージが削除されていることを確認してください。
SUNWvbox
SUNWvboxkern
再起動後、インストールを再度試みてください。
Oracle VM VirtualBox ホストを追加しようとすると、いくつかのエラーが発生することがあります。これらのエラーが原因で、ウィザードの「ホストの指定」または「証明書の検証」のステップでエラーアラートが発生する可能性があります。
「ホストの指定」ステップ
ホストの詳細を入力し、クリックすると、次の 2 つのアクションが実行されます。
ホスト名の解決 (使用した場合)
SSL および SSH 証明書の取得
このページのエラーは、ホスト名の解決に関する DNS の問題やホストへのアクセスの問題に関係しています。
SSH ポートや SSL ポートを含め、入力したすべての情報が正しいことを確認します。SSL ポートは、Apache 2 が待機しているポートです。
Oracle VDI ホストで対象のホストを解決できることを確認します。そのためには、Oracle VDI ホストのシェルで「nslookup <hostname>」を使用します。
名前を解決できる場合は、ホストが稼働していて、SSH および Apache 2 が正常に起動していることを確認します。この確認は次のように行います。
# svcs svc:/network/http:apache2
# svcs svc:/network/ssh:default
どちらのコマンドによっても、サービスが「Online」であることが示される必要があります。サービスが「maintenance」と示された場合は、次のコマンドを使用してリセットしてみてください。
# svcadm clear <service_frmi>
「証明書の検証」ステップ
証明書の確認後、「完了」/「次へ」をクリックすると、Oracle VM VirtualBox Web サービスにアクセスできないか、Web サービスが実行されていない可能性があることを示すエラーが表示されます。
サービスがオンラインであることを確認します。
# svcs svc:/application/virtualbox/webservice:default
サービスが保守モードになっている場合は、サービスをクリアし、もう一度ステータスを確認します。
# svcadm clear svc:/application/virtualbox/webservice:default
サービスがオフラインである場合は、次のコマンドを使用して有効にします。
# svcadm enable svc:/application/virtualbox/webservice:default
Oracle VDI Hypervisor のインストーラ (vb-install) では、Apache 2 パッケージがホストにインストールされているかどうかチェックされます。Apache 2 パッケージがインストールされていないのに、このチェックによって通知されない場合は、Oracle VM VirtualBox Web サービスにアクセスできず、インストールを続行することはできません。この場合、Apache 2 パッケージをインストールしてから、Oracle VM VirtualBox のインストールを再度試みてください。
いいえ。サポート対象の詳細は、「Oracle VDI Hypervisor のシステム要件」を参照してください。
仮想マシンテンプレートをローカル (ラップトップなど) に作成する場合は、Oracle VDI デスクトッププロバイダホストにインストールしているものと同じリリースを使用してください。これにより、正しいバージョンの Guest Addition が確実にインストールされ、仮想マシンの XML 構成ファイルとの非互換問題を回避できます。このようにしないと、Oracle VDI へのインポートが妨げられます。
デスクトッププロバイダに Oracle VM VirtualBox ホストを追加すると、Oracle VDI で SSH によるアクセスや Oracle VM VirtualBox Web サービスを利用する場合に、指定したユーザー名が使用されます。
Oracle VM VirtualBox ホストでこのユーザーのパスワードを変更するには、2 つのパスワードを更新する必要があります。UNIX ユーザーのパスワードと Apache2 パスワードファイルのパスワードの 2 つです。
UNIX ユーザーのパスワードを更新するには、対象のユーザーとしてログインし、コマンドを実行して、新しいパスワードを入力します。
# /usr/bin/passwd passwd: Changing password for root New Password: Re-enter new Password: passwd: password successfully changed for root
Apache2 ユーザーのパスワードを更新するには、コマンドを実行します。
# /usr/apache2/bin/htpasswd -b /etc/apache2/vbox_passwd <user> <new_password>
まれに、デスクトップが Oracle VM VirtualBox ホストに登録されたままで電源切断されることがあります。構成は Oracle VDI データベースに保存されており、データはすべてストレージホストにあるため、必要な場合は 2、3 分以上この状態にあるデスクトップを Oracle VM VirtualBox ホストから安全に削除できます。デスクトップを Oracle VM VirtualBox から手動で登録解除するときは、必ずデスクトップのディスクイメージも登録解除してください。
解決手順は次のとおりです。
Oracle VM VirtualBox のインストール時に指定したユーザー (通常は「root」) としてログインします。
仮想マシンの UUID を調べます。
VBoxManage list vms を実行します。
または、Oracle VDI Manager を使用して、「デスクトップの概要」タブに表示される ZFS ボリューム名を取得します。UUID は、スラッシュに続く文字列です (例: f3ced2bb-d072-4efc-83c9-5a487872919d)。
Oracle VM VirtualBox ホストで仮想マシンを登録解除するには (このアクションでは Oracle VDI デスクトップは削除されません)、次のコマンドを実行します。
VBoxManage unregistervm <uuid> -delete
Oracle VM VirtualBox ホストで仮想ディスクを登録解除するには (このアクションでは Oracle VDI デスクトップは削除されません)、次のコマンドを実行します。
VBoxManage unregisterimage disk <uuid>
Windows では、ランダムアプリケーションによってタイマーの周波数をデフォルトの 100 Hz (Oracle Solaris プラットフォームで非常に高い VM パフォーマンスを実現) からそれより高い任意の値 (通常は 1 kHz) に変更できます。
一般に、VBox.log
(~/.VirtualBox/Machines/VDA/<VMNAME>/Logs/VBox.log
)
を見ると、現在のタイマー精度が確実にわかります。その場合、PIT:
mode=... (ch=0)
を含む最後の行を検索します。VM
に割り当てられている CPU の数がデフォルト (1)
のままであるかぎり、この精度はすべてのゲスト
OS に有効です。また、Oracle VDI
で使用されるほとんどの構成に対応しています。
典型的な行は、PIT: mode=2 count=0x2ead (11949) -
99.85Hz (ch=0)
および PIT: mode=2
count=0x4ad (1197) - 996.81Hz (ch=0)
です。
高タイマー精度を要求するアプリケーションが 1 つだけであると仮定した場合、実行中のすべてのアプリケーションを 1 つずつ終了し、ログファイルでタイマー精度の低下を監視することで、そのアプリケーションを特定できます。これは即座にわかります。
また、通常、prstat
の出力からも、どの VM
プロセスがほかのプロセスより多くの CPU
時間を消費しているかがわかります。一部の VM
だけで 1 kHz
のタイマー精度を使用する場合は、対象を減らすことができます。
通常、Oracle VM VirtualBox ホスト上の VM の数がサーバー内の (実) CPU コアの数を超えるまで、タイマー精度に起因するパフォーマンスの問題は発生しません。Oracle VM VirtualBox では、CPU コアが完全にビジー状態になるような状況をできるかぎり回避しようと試みられるためです。このような VM が多数存在する場合は、相互にブロックされ、VM の時間が本来より大幅に遅れるという現象が顕著に現れます。
1 台の Oracle VM VirtualBox ホストで 100 台を超える仮想マシンを実行する場合は、Oracle VM VirtualBox ホストのセマフォーを増やす必要があります。利用できるセマフォーの数を、実行する仮想マシンの数に設定する必要があります。これには、他のプロセス用の安全マージンも含めます。
1 台の Oracle VM VirtualBox ホストにおける仮想マシンの最大数は 1023 です。
1000 台の仮想マシンのセマフォーを設定するには、root ユーザーで次のコマンドを実行します。
# prctl -r -n project.max-sem-ids -v 1024 -i project user.root # projmod -s -K 'project.max-sem-ids=(priv,1024,deny)' user.root
最初のコマンドでは、現在のプロセスで使用できるセマフォーの数を変更します。2
つ目のコマンドでは、この数を root
ユーザーに対して永続的システム設定にします。VBoxSVC
プロセスが root
ユーザー以外によって実行される場合は、/etc/project
ファイルに user.myuser 行を追加し、2
つ目のコマンドを変更します。
設定が正しく適用されたかどうかを確認するには、root ユーザーで次のコマンドを実行します。
# prctl -i project -n project.max-sem-ids user.root
Oracle VM VirtualBox ホストが root ユーザー以外によって実行される場合は、すべての Oracle VM VirtualBox プロセスを再起動する必要があります。そのための最も簡単な方法は、ホストを再起動することです。
1000 台の仮想マシンのセマフォーを設定するには、root ユーザーで次のコマンドを実行します。
# echo "kernel.sem = 250 32000 32 1024" >> /etc/sysctl.conf # /sbin/sysctl -p
最初のコマンドでは、使用できるセマフォーを変更し、その変更を永続的なものにします。2 つ目のコマンドでは、変更を有効にします。Oracle Linux プラットフォームでは、セマフォーの構成はカーネルのグローバル設定であるため、即座に適用されます。
Oracle VM VirtualBox 仮想化プラットフォームで高可用性を実現するには、少なくとも 2 台の Oracle VM VirtualBox ホストが必要です。1 台の Oracle VM VirtualBox サーバーが停止した場合は、既存のすべてのデスクトップセッションが終了します。その場合、十分なメモリーが存在するかぎり、ユーザーの要求に応じて、終了したセッションが残りの Oracle VM VirtualBox サーバーで再開されます。
Oracle VDI、Sun Ray Software、および MySQL で高可用性を実現するには、2 台の Oracle VDI ホストが必要です。このような冗長性をサポートするハードウェア構成の詳細は、「Oracle VDI Center およびホストについて」を参照してください。
Oracle VM VirtualBox Web サービスユーザー (デフォルト: root) のパスワードを変更するには、UNIX シェルで次のコマンドを入力してください。
# /usr/apache2/bin/htpasswd -b /etc/apache2/vbox_passwd root <new_passwd>
次に、Oracle VDI Manager で更新後のパスワードを変更します。
「デスクトッププロバイダ」カテゴリで、ホストにリンクしているプロバイダを選択します。
「ホスト」タブをクリックし、ホストを選択して、「編集」をクリックします。
ポップアップウィンドウに新しいパスワードを挿入し、「次へ」をクリックします。
Internet Explorer でテキストがぼやける場合、Oracle VM VirtualBox でその領域がほぼ全画面のビデオとして間違って解釈されている可能性があります。この問題は、Internet Explorer でブラウザウィンドウが再描画される方法に起因して発生します。
この問題を回避するには、Oracle VM VirtualBox でビデオとして検出および送信される領域を制限します。そのためには、次のコマンドを使用して、プールのプロパティーを構成します。
/opt/SUNWvda/sbin/vda pool-setprops -p limited-rca-detection=enabled <PoolName>
このプロパティーを有効にすると、800 x 600 より大きく、全画面より小さい画面領域は縮小されなくなります。