|
|
Virtual PCでサーバーを構築
|
Virtual PCについてVirtual PC専用NICの準備Virtual PCのインストールハードディスクイメージの作成バーチャルマシンの作成ゲストPCの基本設定WBELのインストールCentOSのインストールカーネルパラメータの設定サーバー運用のポイント |
サーバーの構築作業と動作負荷の確認ゲストPCに WBEL や CentOS を インストール したら、この コンテンツ などを参考にして初期設定を行い、 サーバー アプリケーション の構築を行います。 もちろん、 ルーター に対する ポートフォワーディング の設定も忘れずに行ってください。 サーバーに実体がなく、仮想の ホスト で動いているからといって、構築の方法や手順が実際の ホスト機 を扱う場合と大きく異なるという点はありません。 感覚的には、 「 IPアドレス "192.168.100.11"、 ホスト名 "web1.obenri.com"という特定の ノード 情報をもった一つの サーバー機 が実際に存在している。」 という認識で諸々の作業を行って構いません。 ただし、Virtual PCの エミュレータ であるがゆえの最大の欠点である「動作効率の悪さ」については常に頭の片隅に置いて運用してください。 Virtual PCを利用する場合、ベースであるホストPCの能力が比較的弱い場合には、例えば動作負荷の大きな Perl を用いる CGI や、 MySQL などの データベース を扱う場合には、 クライアント からの要求に対してレスポンスの低下が起こりやすくなりますから、アクセスが集中した場合にはクライアント側の Webブラウザ でタイムアウトが頻発することもあり得ます。
例えばPerlを利用した
CMS
である
MovableType
などがその典型例になると思います
こういう好ましくない兆候がみられるときは、ホストPCの性能を強化したり、 メインメモリ を増設してゲストPCへのメインメモリの割当量増やしたり、といった対処が必要になるかもしれません。 もちろん、動作効率の悪いVirtual PCの利用をあきらめ、実機としてのWBELやCentOSサーバーの構築も検討すべきでしょう。
|
||||||||
ホストOSには「無駄なことをさせない」のがポイントVirtual PCは、ホスト OS 上では一つの アプリケーション に過ぎませんから、ホストOS上で他のアプリケーションが動作していると「処理能力と メインメモリ 容量の奪い合い」によって実行速度が低下します。 |
|||||||||
|
|
しかしだからといって「ホストOS上でVirtual PC以外の操作はしない」というのでは、 WindowsOS を使っている意味がありません。 できればViturl PCを稼動させながらホストOSのWindowsでもある程度の作業はできるようにしておきたいものです。 実はVirtual PCのゲストPCの動作は、フォアグラウンドでもバックグラウンドでも最速で動作するように初期設定されています。
この設定は、
「Virtual PCオプション」
から確認することができます
この「最速」というのは意味としては「バランス良く効率的に動作する」に近く、他のアプリケーションの動作を止めてまでVirtual PCの動作が優先されることはありません。 どうしてもViturl PCの動作を最優先させたければ、ホストOSの タスクマネージャ を呼び出し、プロセスの優先度を変更することも可能です。 しかし実際にそれを行ってしまうと、他のアプリケーションの動作が極端に遅くなったり、エラーが発生しやすくなったりします。 通常WindowsOSは稼働中のアプリケーションのどれかにエラーが発生して強制終了してしまうと全体の動作が不安定になってしまいます。Virual PCのパフォーマンスを上げるための設定でWindowsOSの動作を不安定にしてしまっては元も子もありません。 結論をいえば、何の設定変更も行っていない デフォルト 状態がVirtual PCを最も効率良く安定に動作させる設定だと考えて良いでしょう。 つまり、Virtual PCの高速化を目指すうえでホストOSに対して行うべきことは、まず、 WindowsOSに無駄な処理を行わせない設定を行う。 ことでしょう。 例えばホストOSが Windows7 や WindowsVista の場合はデスクトップのテーマを「Windowsクラシック」に、 WindowsXP の場合は、デスクトップの表示環境を「パフォーマンス優先」に変更するだけでかなりの効果が見込めます。 そのほかにも、デスクトップに時計を表示するアプリケーションや、インストールしたアプリケーションの自動アップデート機能など、ホストOSの起動時に自動に起動して動作し続けるものは極力使用を控えるようにしましょう。 次に、 メモリを大量に使ったり、長時間フルパワーで処理しなければならないクライアントアプリケーションを使わない。 ことも大事です。 例えば巨大な写真のフォトレタッチや映像のエンコード、3DデータのレンダリングなどはCPUに大きな負荷を与えますから、ゲストPCの稼働中は使わないほうが良いでしょう。 とにかく、ホストOSとホストOS上で扱うアプリケーションはできるだけ「軽く」動作するように調整して、Virtual PCの安定動作の邪魔にならないように心掛けることが大切です。
|
||||||||
サーバー運用では「状態を保存する」はNGVirtual PCは、ゲスト OS を稼働中の状態で保存し、その保存状態から稼動を再開させることが可能です。 この機能を利用すれば、 見かけ上 高速にゲストPCの停止と再稼動ができるようになりますから、一見とても便利な機能のように思えるかもしれません。
「状態を保存する」でゲストPCを終了する ところが クライアント 的な用途の場合は別として、 サーバー 用途においては この機能は使うべきではありません 。
前のパートでこの機能について、「通常の
OS
の扱いでいえば「スリープ」あるいは「休止状態」とその再開に近い振る舞いをするもの」
ホストOSでの「スリープ」あるいは「休止状態」では、実際にホストOSは稼動していなくとも
ハードウェアクロック
そしてホストOSが「スリープ」あるいは「休止状態」から復帰するときにはこのハードウェアクロックの時間が参照され、現在時刻がセットされてから動作するようになっています。 |
|||||||||
|
|
ところがVirtual PCの「状態を保存する」はゲストPCごと状態を保存してしまうため、保存中はゲストPC上の仮想ハードウェアクロックまで「止まった状態」になってしまっているわけです。 つまり、この保存したゲストPCの再開時のハードウェアハードウェアクロックは「状態を保存する」を実行した時点の時刻から再開されてしまいますから、ゲストOS上のシステムクロックも「保存していた時間だけ遅れてスタートする」ということになってしまいます。 サーバーはほとんどの動作においてその時刻を ログ に残すようになっていますから、システムクロックが現在時刻と異なっているとログそのものの信頼性がなくなってしまいます。 また、 crond に登録してスケジュールどおりに動作させなければならない プロセス もありますが、これも正常に働くことができなくなってしまいます。 ゲストOS上で ntpd を稼動させておいたとしても、サーバーが再開してntpdがシステムクロックの調整を行うまでの間はシステムクロックは狂ったままですから、これも根本的な解決策とはいえないでしょう。 以上のような理由から、システムの起動や終了に多少の時間はかかっても、「サーバーを運用する」という目的でゲストPCを扱う場合にはこの 「状態を保存する」は使ってはいけません 。 サーバーの機能を停止したいときは、面倒でもゲストOS内から poweroff コマンドを実行し、正常に終了させるようにしてください。
|
|
|
WBELのインストール
<<Previous
|
| このサイトは既に更新を終了していますが、今のところ店じまいの予定はありません。 リンクフリー ですので、趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。 |
| ”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |