システム奮闘記:その74

VMware Serverの設定とインストール



Tweet

(2008年11月5日に掲載)
仮想化技術との出会い

  いつだったのか記憶は定かではないが、VMwareを使えば、
WindowsXPの上に他のOSと同居できる話を聞いたのが最初だった。
 その時は、デゥアルブートと同じ物と思ってしまったため、
関心が湧かずに、そのまま放置していた。


 そして月日が経ち、2006年頃だったと思う。
 Sambaの、たかはしもとのぶさんのノートパソコンで、
WindowsXP上で、WindowsNTを動かしているのを見る。

 たかはしさん曰く「古いOSが動くので動作検証に便利」だった。
 「こんな面白いソフトがあるのか」と思った。

 でも、この時はまだVMwareを入れてみようとは思わなかった。


仮想化技術導入のキッカケ

2008年になり仮想化技術導入を考える事になった。  その理由は   勤務先の伝票発行のパソコンの老朽化  だった。  Windows98のパソコンを伝票発行用として使っている。  基幹業務にはIBMのi5(iSeriesやAS400という名称でもある)を使い 伝票発行のパソコンにはAS400のエミュレーターの P-COMM(Personal Communications)と、伝票発行ソフトである 伝発メイトを使っている。
P-COMMと伝発メイト
iSeries(AS400)で作成した伝票や封筒印字のデータを
Windows98の端末に入っているP-COMMを使って
データ転送を行い、そして伝発メイトを使って
各伝票の形式に合わせた印字を行っている。

  うちの会社で使っている伝発メイトはWindows95用なのだが、
Windows98でも問題なく使える。
 しかし、WindowsXPでは動作しない。

 だが、新しくWindowsXP版の伝発メイトを購入しようとすると
1ライセンスが・・・

 38万円もするのらー!!

 バージョンアップ版というのがないため、WindowsXPに対応すべく
バージョンアップの場合でも、38万円で購入する必要がある。


 そこで、ふと思った。

 仮想化技術を使えば解決できるかも (^^)

 だった。

 Windows95用の伝発メイトの場合、プリンタの接続部分に
専用のコネクタを使うため、そのコネクタが故障すれば
元も子もないが、コネクタが故障するまで使い切るには
立派に延命措置となるのではないか。

 そこで近い将来の危機に備え準備を行う事にした。


VMware Server版のインストール

WindowsXPのマシンにVMwareをインストールするため、 VMware社から無償のWindows版のVMware-Serverをダウンロードする。 そしてインストールを行う。ここまではマウス操作だけで可能だ。  次に、VMwareの設定になる。
VMwareのアイコン

 早速、アイコンをクリックする。
 すると以下の画面が出てくる。


VMwareの設定
赤く囲んだ部分「Local host」に印をつけて「OK」ボタンを押す。
後述しますが、「Local host」は自分の所にインストールした
VMwareを起動させる部分で、もう一方の「Remoto host」は
通信網を使って他のマシンに入っているVMwareを動かすものだ。

 次の画面が出てくる。

VMwareの操作画面
この段階では、何も設定されていない。
なので赤く囲んだ「New Virtual Machine」を選択し
ゲストOSのインストールの準備を行う。

  早速、「New Virtual Machine」を選択し、
ゲストOSのインストールの準備を行う。

 ここで行うのは、ゲストOSに関する基本的な設定で
ゲストOSが使うディスク領域、メモリなどだ。

ゲストOSのインストール画面
ここでは「次へ(N)」を押すだけ。

赤く囲んだ「Typical」に印をつける。
設定に関して知識がない場合は、これを選ぶのが無難だ。
私も知識がないので「Typical」を選んだ。

 次にゲストOSの選択を行う。

ゲストOSの選択
ゲストOSの選択。色々なOSが選べる。
Windows系からLinux、FreeBSD、Solarisまで選べる。
ここでは目的のOSであるWindows98を選択した。

そして「次へ(N)」のボタンを押す

 次の画面になる。

ゲストOSが格納されるファイル名の指定
ゲストOSの名称と、ゲストOSが格納される
フォルダーとファイル名の指定を行う。

初期値は、OS名になるのだが変更は可能。
ここでは初期値の「Windows98」を使う。

  次にネットワークに関する設定だ。

ここでは赤く囲んだ「Use bridged networking」を選ぶ。
これは、ゲストOSにも独自のIPアドレスを割り振る形のようだ。

 次は、ゲストOSそのものの容量の指定だ。

ゲストOSのディスク容量の指定
赤く囲んだ部分で2つ項目がある。
1つはゲストOSのディスク容量の設定で
ここでは初期値の8GBを選んだ。
2つ目は、この時、何かわからなかったので
初期設定のまま印をつけたままだった
詳細は後述(ディスク容量の設定の補遺)しています。

青く囲んだ所も、意味がわからなかったが、
初期値は印がついていなかったので、
印のないままにした。
詳細は後述(ディスク容量の設定の補遺)しています。

(個人的な見解として)
印をつける部分が2ヶ所あるのだが、2つとも
詳細を知らなくても問題はないと思ったりもする。
なので、何も知らないまま初期設定を使うのは
問題ないと思ったりする。

個人的な見解の修正(2008/11/8)

詳細を知らなくても問題がないと書きましたが
実は青く囲んだ部分に関しては、大きな問題がある事を、
Sambaの太田さんからご指摘を頂きました。
ゲストOSを格納するディスクを2Gに分割するかどうかだが
ファイルシステムがFATの場合、ファイルを2Gまでしか
認識ができないため、2G以上のファイルが作成できないのだ
もし、USBにコピーする場合、USBのファイルシステムは
FATの場合が多いため、2G以上のファイルを
記録できない問題が発生するのだ。

「システム奮闘記:その31」でファイルシステムの事を
取り上げながら、すっかり忘れていました (^^;;

 するとゲストOSが格納されるファイルが生成される。
 そして、ゲストOSの操作画面になる。

ゲストOSの操作画面
これでゲストOSをインストールするための下準備はできた。

 これでゲストOSをインストールするための下準備はできた。


ゲストOSのインストール ゲストOSのインストールの下準備ができたので、 次はゲストOSのインストールに取り掛かる事にした。 ここではWindows98をゲストOSとしてインストールするので Windows98のCD-ROMを用意した。  そして以下の画面から操作を行う。
起動ボタンを押す
赤く囲んでいる2つは、共にゲストOSの起動するためのボタン。
そして、ゲストOSのインストールの際も、このボタンを押す。

 すると以下の画面になる。

起動ボタンを押した後の画面
ゲストOSをインストールする場合も、
既にインストールされた物を起動する場合も、
最初にこの画面が出てくる。

 そして、普通にCD-ROMからWindows98を
インストールするのと同様、以下の画面が出てくる。

Windows98の起動媒体を選択
Windows98の起動媒体をCD-ROMにするのかどうかの
選択を行う。ここでは一番上を選ぶ。

 インストールのための作業が進んで行く。
 ここからは普通にCD-ROMからWindows98を
インストールするのと同じなので、大部分の画面を省略する。

ディスクフォーマットが終わった後
ディスクフォーマットが終わった後、
いよいよWindoes98のファイルなどのインストールが始まる。

 いくつか段階を経て、以下のようなライセンス番号を
入力する画面が出てくる。

ライセンス番号の入力
仮想化OSの場合でも、1つのOSをインストールと見なし
ライセンスの扱いは同じだ。1台のパソコンだから
同じライセンスのOSを2つ搭載しては違反のなるのだ。

 そして、どんどんインストール作業が進んで行く。
 最後の以下の画面にたどり着く。

インストールの最後の画面
再起動を求める画面がでてくる。
ここで再起動をかければ、ゲストOSのインストール完了だ。

 再起動をかけると、おなじみのWindows98の
起動画面が出てくる。

おなじみのWindows98の起動画面

 そしてWindows98の画面が出てきた。

Windows98の画面
WindowsXP上で、Windows98が動いているため
非常に奇妙な感覚になる。



画面解像度の向上  インストールができて喜んでいるのも束の間だった。  問題点が出てきたのだ。 それはWindows98の画面解像度が・・・  640x480なのら!  しかも・・・ 16色なのだ! 画面解像度が悪いと何でもデカデカと表示される上、16色だと、 非常に見にくいのだ。だが解像度や色数を上げようとするが  解像度等が変更できへん (TT) だった。  そこで調べてみる事にしたら、VMware特有のルーツを インストールする必要があるというのだ。  「VMware Tools」と呼ばれる物をゲストOSに インストールする必要がある。  後でわかった話、仮想化環境におけるドライバ
「VMware Tools」を選ぶ
これを選んでゲストOSのOSに合わせた
「WMware Tools」をダウンロードしてくれる。

 すると以下の画面が出てくる。

注意書きの画面
何も気にせず「install」を押す。

 すると、ゲストOS内部でインストール作業の準備が始まる。

インストールの様子
「WMware Tools」のインストールの準備が行われる。


インストールの準備完了の画面
「WMware Tools」のインストールの準備が完了した。


セットアップの方式の選択
セットアップの方式を3つの中から選び出す。

 セットアップの画面を拡大してみる。

画面を拡大すると
赤く囲んだ「標準」を選択するのが無難だ。
それ以外は、知識のある人が行えば良いのだ。

 いよいよインストール開始間際になってきた。

インストール開始間際の画面
ここで「インストール」ボタンを押して
インストールを開始させる。

 インストールの途中で、以下の画面が出てくる。

インストールの途中で
SVGAドライバを手動でいれてくださいという案内だ。
「OK」ボタンを押して、インストールを続行させる。

 インストールが完了する。

インストール完了の画面
そのまま「完了」ボタンを押す。

 するとインストールした内容を反映させるために
「再起動」の案内が表示される。

再起動の案内
ここでインストールした内容を反映させるために
ゲストOSを再起動をさせる必要がある。

 再起動させると、画面の解像度を上げる準備が整う。


画面プロパティーを開ける

 そして「画面プロパティー」の「設定」を選ぶ

「画面プロパティー」の「設定」の画面
ここで赤く囲んだ「詳細」を選ぶ


「詳細」の画面
ピンクのアダプタを選び、青く囲んだ「変更」を押す


デバイスドライバのウィザード画面
「次へ」を押す。


ドライバの選択
ドライバがあるフォルダーがわかっているので
赤く囲んだ部分に印をつけ「次」を押す。


ドライバの選択
ゲストOSのディスク内にドライバがあるので、
赤く囲んだ「ディスク使用」を選ぶ


ドライバの選択
ドライバが格納されているフォルダーを選ぶため
「参照」を選ぶ


ドライバの選択
Cドライブの以下のフォルダーを選択する。
「c:\Program Files\VMware\VMware Tools\Drivers\video」

すると該当のドライバが出てくる。


ドライバの選択
「OK」を押す。


ドライバの選択
該当のドライバが選択された状態になっている。
そして「OK」を押す。


ドライバの選択
「次へ」を押す。


ドライバの選択
「完了」を押す。


ドライバの選択
「適用」を押す。

 これで設定変更が完了した (^^)

 解像度も色数も変更でき、見やすい画面になった。


USBやパラレルポートを使う方法  ゲストOSで、USBやパラレルポートを使う場合、 ちょっと設定を行う必要がある。  USBに関する説明を書く事にしました。  まずはゲストOSの管理画面を出す。
ゲストOSの管理画面
赤く囲んだ部分を選択する。
これはゲストOSの設定に関する部分なのだ

 するとゲストOSの設定画面が出てくる。

ゲストOSの設定画面

ハードウェア部分を拡大させると
ゲストOSが利用しているハードウェアが表示されている。

 しかし、初期設定の状態では、USBやパラレルポートは
組み込まれていないため、ゲストOSは使う事ができない。

利用できるハードウェアの追加
赤く囲んだ「add」を選択する。
これを選ぶ事で、ゲストOSが利用できるハードウェアを
追加する事が可能なのだ。

 次の画面が出てくる。

ハードウェア追加の画面
ここでは「次へ」を押す。

 すると追加可能なハードウェアが出てくる。

ハードウェア追加の画面
追加可能なハードウェアの一覧が出てくる。
この中から必要な物だけを選択する。

 画面を拡大させると以下のような物だ。

追加可能なハードウェアの一覧
音楽用のデバイス、USB、パラレルポートがある。

 今回はUSBを選択してみた。

USBを選択してみた
USBを選択して「次へ」を押す。

 すると次の画面が出る。

完了の画面
設定完了の画面だ。
完全に終わらせるには「完了」のボタンを押す。

 これでUSBが使えるわけではない。
 もう1つ設定を行う必要があるのだ。

 ゲストOSが「USBを使う」という設定なのだ。

VMware Serverの画面
UBSを使いたい該当のゲストOSを動かしている画面にして
ピンクで囲んだ「VM」を選択する。

 そして以下のような順序でUSB使用に印をつける。

「ゲストOSが使う」という部分に印をつける
「VM」→「Removable Devices」→「USB devices」を選び
USBの部分に印をつける。


 最後の部分で「USBの使う」に印をつける理由だが、
ホストOSとゲストOSとがUBSやパラレルポートを共有する事が
できないためだ(断定する自信はないが・・・)

 そのため、ゲストOSが使う場合は、印をつけて
ホストOSが使う場合は、印を外すという手間が発生する。


いよいよP-COMMのインストール これで全てが整った。  なので意気揚々としながら、P-COMM(Personal Communications)の インストールを行う事にした。  P-COMM(Ver4.3)をインストールを行うためにCD-ROMをいれた。  CD-ROMが動きだし、自動的にインストールが進むと思いきや  エラーが出てもうた (TT)
エラーの様子
拡大表示
MSお得意の「不正な処理」の表示だ!

 おどれMS! なめとんのか!

 と思いたくなるが、冷静にエラーの詳細を見てみる事にした。

エラーの詳細
JREに関するエラーのようだ。
JREがメモリの不正アクセスのために、コケたのだと思われる。

 ところでJREって何やねん?

 調べてみると、Javaに関する物だ。
 「Java Runtime Environment」の略だという。
 だが、それだけでは

 わからへん!

 なので、
  e-WordsのJREの説明(http://e-words.jp/w/JRE.html)を
見てみる事にした。

 いまいち、わからへん・・・

 でも、感覚的にはJAVAのプログラムがそのままでは稼働しないため
JREを土台にしてJAVAプログラムを動かしている感じだ。

 P-COMMのインストール画面に以下の印が出ている。

P-COMMインストールに出てくる印
JAVAの印だ。P-COMMはJAVAが使われているようだ

  ホストOSのWindowsXP、仮想化ソフトVMware、
ゲストOSのWindows98、そして、JRE、P-COMMの五者の間の
どこかでメモリ管理がうまくいっていない感じがする。


気をとり直してP-COMMのインストール  そこでゲストOSの種類とP-COMMのバージョンを変えて 適切な組み合わせを見つけようと考えた。  といっても、問題になる伝発メイトが古いバージョンのため Windows98かWindowsMeしか稼働しない。  そこで勤務先にある各P-COMMのバージョンを変えて 色々、試してみる事にした。
勤務先で可能な組み合わせ
OSP-COMMの
バージョン
Windows98Ver5.0
Ver5.8
WindowsMeVer4.3
Ver5.0
Ver5.8

 すると良い組み合わせが見つかったのだ!

問題なく稼働した組み合わせ
OSP-COMMの
バージョン
WindowsMeVer5.8

 論より証拠で、実際に動かしてみる。
 P-COMMと伝発メイトのインストールは省略します。

WindowsMeの起動画面

 そしてP-COMMを起動させるため、アイコンをクリックする。

P-COMMのアイコンを選ぶ
アイコン名の「サインオン画面」は、うちの会社で使っている名前。
デスクトップにアイコンを作る時に、わかりやすい名前に変えている。

 P-COMMが起動する。
 バージョンは5.8だ。でも、見た目ではバージョンはわからない。

P-COMMが無事起動

  P-COMMを使ってiSeries(AS400)にログインして
伝票発行の準備を行う。

 ただ、伝票名を見せる事ができないので、封筒の印字を
行ってみる事にした。そしてAS400側での印字データの作成を行った。

 そして、伝発メイトの画面を出す。

伝発メイトの画面
拡大画面
Windows95用の伝発メイトの画面だ。

 さて、iSeries(AS400)で封筒印字データ(住所等)を作成する。
 そして、作成したデータをP-COMMのデータ転送機能を使い
パソコンに落とし込む。

データ転送の様子
拡大画面
P-COMMのデータ転送機能を使って、iSeries(AS400)上で作成された
封筒関係の印字データをパソコンに落とし込む様子だ。

 そして伝発メイトの「準備&発行」を選べば伝票印字の
画面が出てくる。

伝発メイトの印字の画面
拡大画面
いよいよ伝票発行だ。
これで印字できれば成功だ。

 わくわくしながら印字を行う。すると

 見事、成功したのだ (^^)V

 これで延命方法が確立されたのだ。

 ただし問題も残っている。
 伝票発行作業があるので、一般のパソコン利用者でも
VMwareを立ち上げ、伝票を発行ができるようにする必要がある。

 でも、そんなに難しくないので、冊子さえ作れば良いと思う。
 それよりも延命措置の確立の方が大きいのだ。


 P-COMMの場合、古いライセンスしかなくても
数万円出せば、バージョンアップできるので、
パソコンの買い替え時に、少し余分に料金を払えば
伝発メイトのソフトウェア資産を継続して使える。

 これが仮想化技術の大きな利点なのだ


仮想化によるサーバーの集約化

仮想化ソフトのVMwareを使って古いソフトウェア資産が 継続して活用できる事がわかった。  でも、まだまだVMware Server版は使い道がある。  サーバーの集約化なのだ!  2000年に1台のLinuxサーバーから始まったやOSSへ 取り組んできたのだが、どんどんサーバーの台数が増えてきた。
仮想化技術導入前
サーバーの台数が増加しているのだ。
セキュリティーの事を考慮して、DMZと社内LANとの区分けや
サーバーダウンの際の全機能停止を防止するために
サーバーの分散を行う必要があるのだ。

だが、サーバーの台数が増えれば置き場の問題が発生する上
電気代も増加してくる。

台数抑制と機能分散の2つの相反する課題が出てくるのだ。

 うちの会社では置き場の問題が出ていたのだ。
 仮想化技術導入前は「打つ手なし」だった。


 ある日、サーバーを置いている一角から異音が聞こえる。

異音が発生!
DMZのメールゲートウェイ&Webサーバーから異音が聞こえてきた。
このサーバーも導入して5年になる。それも普通のパソコンだ。
24時間連続稼働だと、摩耗しても止むなしなのだ。

 異音は、時々出る状態だった。
 故障する前にサーバーを買い替えねばならない。


 その時、ふと思った。
 どうせサーバーを買い替えるなら、

 DMZ内にあるサーバーを
 仮想化技術を使って整理してしまえ!

 実は、こんな問題も抱えていたのだった。

いつ壊れるか不明なDNSサーバー
1997年に購入したパソコンを活用していたのだ。
Linux-2.4系で、テキストモードで稼働させているため
DNSだけだと、サーバーの性能が低くても稼働への影響は全くない。

でも、11年前のパソコンを24時間連続稼働しているため
いつ故障してもおかしくない状況だ。
それにDNSという通信の根幹を支えるサーバーだけに
故障するのは非常に具合が悪い。

 そこで以下のような構成にしてしまえば全てが解消できる。

DMZ内のサーバーを統合
VMwareを使ってサーバーを統合すれば置き場の問題が
少しでも解消できる。

そして、ゲストOSという形でサーバー機能を分散させる事で
片方のサーバーダウンしても、機能全滅が防止できる。

 そこで、VMware社からLinux版のVMware Serverをダウンロードした。


Linux版のVMware Serverのインストール  新規サーバーに載せるOSは、CentOS5.1にした。  そして、ゲストOSもCentOS5.1にした。 rpm形式のVMware Serverをダウンロード。  そしてrpmコマンドでインストールを行った。
rpmコマンドでインストール
[root@hostos]# rpm -ihv VMware-server-1.0.7-108231.i386.rpm
Preparing...                ########################################### [100%]
   1:VMware-server          ########################################### [100%]
[root@hostos]#
CentOS5.1以外にも、CentOS4.4、OpenSuSE10.2でも
rpm形式でインストールができる事を確認しました (^^)

 そして、VMwareを実行させるべく、vmwareコマンドを打つのだが
こんなエラー(?)が出た。

vmwareコマンドを打つのだが
[root@hostos]# vmware
vmware is installed, but it has not been (correctly) configured
for this system. To (re-)configure it, invoke the following command:
/usr/bin/vmware-config.pl.

[root@hostos]# 
vmwareはインストールされているが、このシステムに合わせて
構築できていないので「/usr/bin/vmware-config.pl」を
実行させて、指示に従って設定を行う必要があるのだ。

 つまり、VMwareのインストール後の設定を行う必要がある。

インストール後の設定開始
[root@hostos]# /usr/bin/vmware-config.pl
Making sure services for VMware Server are stopped.

Stopping VMware services:
   Virtual machine monitor                                 [  OK  ]

You must read and accept the End User License Agreement to continue.
Press enter to display it. 
/usr/bin/vmware-config.plを実行させると
インストール後の設定が開始される。
そして「ENTER」キーを押してくれという。

 ENTERキーを押すと使用許諾書が出てくる

使用許諾書
VMWARE MASTER END USER LICENSE AGREEMENT

NOTICE:  BY DOWNLOADING AND INSTALLING, 
COPYING OR OTHERWISE USING THE SOFTWARE, YOU 

(途中、大幅省略)

will provide you with a copy of our 
distribution agreement for your signature.   





Do you accept? (yes/no) [no] 
使用許諾書を見た後に同意するかどうかの
意思表示を求めてくる。

もちろんソフトを利用するので「Yes」と答える

 「Yes」と答えた後、各種設定が始まる。

「Yes」と答えた後の各種設定
Do you accept? (yes/no) yes

Thank you.

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons? 
[/usr/share/icons] 

What directory contains your desktop menu entry files? These files have a 
.desktop file extension. [/usr/share/applications] 

In which directory do you want to install the application's icon? 
[/usr/share/pixmaps] 
アイコンを入れるディレクトリなどについての質問だ。
初期設定のディレクトリで良ければ、ENTERキーを押せば良い。
私は、初期設定のまま使うので、ENTERキーを押すだけだった。

 そして、次の質問が出る。

こんな質問が出る。
Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Server is suitable for your 
running kernel.  Do you want this program to try to build the vmmon module for 
your system (you need to have a C compiler installed on your system)? [yes] 

質問の内容は「カーネル上でVMwareを動かす際に、最適なモジュールを
作成するか」なのだ。

もちろん、初期設定では「Yes」なので、そのままENTERキーを押す。
するとコンパイルが始まりモジュールが作成される。

 モジュールが作成される様子が見れる。

モジュールが作成される様子
your system (you need to have a C compiler installed on your system)? [yes] 

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-53.el5/build/include] 

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: ディレクトリ `/tmp/vmware-config0/vmmon-only' に入ります
make -C /lib/modules/2.6.18-53.el5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. 
modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-53.el5-i686' に入ります
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/task.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/vmx86.o
  CC [M]  /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/vmware-config0/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.ko
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-53.el5-i686' から出ます
cp -f vmmon.ko ./../vmmon.o
make: ディレクトリ `/tmp/vmware-config0/vmmon-only' から出ます
The module loads perfectly in the running kernel.
もし、この時、カーネル開発のソースが入っていない場合
エラーが出る。

 そしてモジュールが作成されると、次の質問になる。
 ネットワークに関する内容だ。

ネットワーク関連の質問
o you want networking for your virtual machines? (yes/no/help) [yes] 

Configuring a bridged network for vmnet0.

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

All your ethernet interfaces are already bridged.

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] 

Configuring a NAT network for vmnet8.

Do you want this program to probe for an unused private subnet? (yes/no/help) 
[yes] 

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.14.0/255.255.255.0 appears to be unused.

The following NAT networks have been defined:

. vmnet8 is a NAT network on private subnet 192.168.14.0.

Do you wish to configure another NAT network? (yes/no) [no] 

Do you want to be able to use host-only networking in your virtual machines? 
[yes] 

Configuring a host-only network for vmnet1.

Do you want this program to probe for an unused private subnet? (yes/no/help) 
[yes] 

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.13.0/255.255.255.0 appears to be unused.

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 192.168.13.0.

Do you wish to configure another host-only network? (yes/no) [no] 

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: ディレクトリ `/tmp/vmware-config0/vmnet-only' に入ります
make -C /lib/modules/2.6.18-53.el5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. 
modules
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-53.el5-i686' に入ります
  CC [M]  /tmp/vmware-config0/vmnet-only/driver.o
  CC [M]  /tmp/vmware-config0/vmnet-only/hub.o
  CC [M]  /tmp/vmware-config0/vmnet-only/userif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/netif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/bridge.o
  CC [M]  /tmp/vmware-config0/vmnet-only/procfs.o
  CC [M]  /tmp/vmware-config0/vmnet-only/smac_compat.o
  SHIPPED /tmp/vmware-config0/vmnet-only/smac_linux.x386.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST
WARNING: could not find /tmp/vmware-config0/vmnet-only/.smac_linux.x386.o.cmd fo
r /tmp/vmware-config0/vmnet-only/smac_linux.x386.o
  CC      /tmp/vmware-config0/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.ko
make[1]: ディレクトリ `/usr/src/kernels/2.6.18-53.el5-i686' から出ます
cp -f vmnet.ko ./../vmnet.o
make: ディレクトリ `/tmp/vmware-config0/vmnet-only' から出ます
The module loads perfectly in the running kernel.

The default port : 902 is not free. We have selected a suitable alternative 
port for VMware Server use. You may override this value now.
Remember to use this port when connecting to this server.
Please specify a port for remote console connections to use [904] 



WARNING: VMware Server has been configured to run on a port different from the 
default port. Remember to use this port when connecting to this server.
xinetd を停止中:                                           [  OK  ]
xinetd を起動中:                                           [  OK  ]
質問があったが、初期設定のまま使うのでENTERキーの連打だった。

要するに「詳しい事はわからんので、初期設定を使うのが無難」
という発想だ (^^)

ネットワーク関連の部分もモジュール化されているみたいで
モジュールの作成が行われる。

そしてxinetdが再起動される。
この時点では、なぜか、わからなかったが、あとでわかった話で
VMware Serverは遠隔操作ができる。
待ち受けポートで初期設定では「902」なのだが
このマシンでは「902」に空きがなかったので空いている「904」を選ぶ。
その際、初期設定のポート(902)と違うため、ポート904で
待ち受けを行うため、、xinetdを再起動させているのだ。

 そして次の設定が自動的に行われる。

自動的に行われる設定
Configuring the VMware VmPerl Scripting API.

Building the VMware VmPerl Scripting API.

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

Installing the VMware VmPerl Scripting API.

The installation of the VMware VmPerl Scripting API succeeded.

Generating SSL Server Certificate
VMperlのインストールのようなのだが、
一体、それが何なのかは、わからない。

 そして、次の質問になる。

出てきた質問
In which directory do you want to keep your virtual machine files? 
[/var/lib/vmware/Virtual Machines] 


The path "/var/lib/vmware/Virtual Machines" does not exist currently. This 
program is going to create it, including needed parent directories. Is this 
what you want? [yes] 
ゲストOSを格納するファイルや、ゲストOSの設定ファイルなどを置く
ディレクトリーの指定だ。
私は初期設定のまま使うので、ENTERキーを押す。

そして「そんなディレクトリーは存在しないので、作成して良いか」の
質問が来る。もちろん作成するので「yes」の意味で
ENTERキーを押す。



「Yes」と答えた後の各種設定
Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:  (シリアル番号)

Starting VMware services:
   Virtual machine monitor                                 [  OK  ]
   Virtual ethernet                                        [  OK  ]
   Bridged networking on /dev/vmnet0                       [  OK  ]
   Host-only networking on /dev/vmnet1 (background)        [  OK  ]
   Host-only networking on /dev/vmnet8 (background)        [  OK  ]
   NAT service on /dev/vmnet8                              [  OK  ]

The configuration of VMware Server 1.0.7 build-108231 for Linux for this 
running kernel completed successfully.

[root@hostos]# 
シリアル番号の入力を行う。
もちろん、VMware Serverは無償なので、この番号は無償でもらえる。

 これでインストール後の設定が完了だ。
 いつでもVMwareを稼働させる事ができる (^^)

 そして、Linux上でVMware Serverをインストールする際の注意点がある。

インストール後の設定の際の注意点
(1)
xinetdデーモンが動いていないとインストールが
途中でコケてしまう。

CentOS5.1では標準でインストールされないためだとか。
tcpserverという物で、待ち受けしているとか。

yum install xinetd でインストールを行う。
(2)
CentOS5.1上にVMware Serverをインストールしたのだが
カーネルのソースもインストールしないと
最適化のためのコンパイル(?)が行われないため
途中でコケてしまう。

 なぜ、この2つを知っているのか。

 だって、体験したもーん (^^)

 そう。1番目のxinetdデーモンがインストールされていなかったため
見事にコケてしまった。

 2番目は、VMware Serverを入れるだけだから不要だろうと思って
CentOS5.1のインストール時に省いていたら、見事にコケてしまった。

 1番目の「xinetdデーモン」がインストールされていないと
VMwareのインストールがコケる部分

xinetdが動いていない時のエラー
The default port : 902 is not free. We have selected a suitable alternative 
port for VMware Server use. You may override this value now.
Remember to use this port when connecting to this server.
Please specify a port for remote console connections to use [904] 

WARNING: VMware Server has been configured to run on a port different from the 
default port. Remember to use this port when connecting to this server.
Unable to find any instance of the super-server "inetd" or "xinetd".  It is 
possible that you do not have one of these packages installed on this machine. 
Please install "inetd" or "xinetd".

If you do have "inetd" or "xinetd" installed, make sure that /etc/inetd.conf or
/etc/xinetd.d exists.
The configuration will continue, but you should re-run 
/usr/bin/vmware-config.pl after you fix the super-server.

Hit enter to continue. 
あとでわかった話。VMwareは遠隔操作が行える。
プロセス間通信を行う際、待ち受けをするのだが
xinetd経由で行うため、xinetdデーモンが必要なのだ。

xinetdの話についての詳しい事は「システム奮闘記:その38」の
スーパーデーモン(xinetd)をご覧下さい


 インストール後の設定も完了した。
 いよいよvmwareコマンドを叩いて起動させる。

Linux版のVMware Serverを起動させる
起動させた時に出てくる画面。
赤く囲んだ部分を選ぶ。

実は、これはローカル(操作しているマシン)のゲストOSの操作か
リモート(遠隔マシン)のゲストOSの操作なのかの選択だが
この時点では、遠隔操作ができるとは知らなかったため、
何も考えずに、ローカルを選んでいたのだ (^^)

 そして、VMwareの操作画面が出てくる

VMwareの操作画面
まだ、この段階ではゲストOSをインストールしていないため
ゲストOSのインストールのため、ピンクで囲んだ部分を選択。
これもWindows版と同じだ。

 ここからゲストOSのインストールが開始されるのだが
全くWindows版と同じなのだ。
 なので、ゲストOSのインストール部分は省略します。


 そして、ゲストOSのインストールが終了すると
以下の画面が出てくる。

ゲストOSをインストールした後
ゲストOSがインストールされているのがわかる。
ゲストOSの開始はピンクで囲んだ部分を選択するのだが、
Windows版と同じだ。

わざわざ説明しなくても良いと思ったりしたが (^^;;

 そしてゲストOSを起動させる。

ゲストOSが起動した様子
無事、CentOS5.1が起動した。

 見事、成功 (^^)V

 喜ぶほど苦労したわけではないが、仮想化技術が導入ができたので
思わず「これで、うちの会社も世間に追い付いた」なのだ (^^)

 そしてサーバーの統合化を行う。


VMwareを使った遠隔操作  VMware Serverが本格的に稼働した。  でも、遠隔操作ができるとは知らなかった。
遠隔操作ができるのだ
Windows端末とLinuxマシンの両方に
Vmware Serverをインストールしておく。

Windows端末からLANを経由してLinuxマシンの
VMwareの操作画面を遠隔で操作できるのだ。
設定内容が反映されている。

 どんな方法で見つけたのか。
 実は、ひょんな事で発見したのだった。

 ある日、何気なくWindowsXPのパソコンに入れたゲストOSを
稼働させようと思い、アイコンをクリックする。

VMwareのアイコン

 いつもの如く、以下の画面が出てくる

アイコンをクリックした後、出てくる画面
いつもなら「Local host」に印が付いた状態で
「OK」ボタンを押す

 だが、この時、ふと思った。

 「Remoto host」って何やろ?

「Remoto host」に印をつける
「Remoto host」に印をつけると、ホスト名と
ユーザー名、パスワードの枠が入力できるようになる。

 もしかして遠隔操作ができるのでは?

 と思った。

 そこでVMware Serverをインストールしたマシンに
接続を行ってみる事にした

入力枠に必要事項を記入
VMware ServerがインストールされたLinuxマシンのIPアドレス
ユーザー名として管理者の「root」とパスワードを入力

 そして「OK」ボタンを押すのだが・・・

 接続できへん (^^;;

接続エラー

 そこで、ふと思った。
 そういえばVMware Serverの設定を行う際に、
ポート番号の設定があったなぁ・・・。

 そこでIPアドレスの後ろにポート番号を追加してみる事にした。

IPアドレスの後ろにポート番号を追加
Linux側のポート番号を追加してみる事にした。
「192.168.10.100:904」になる。

 「OK」ボタンを押してみる。すると・・・

 VMwareの操作画面が出てきた!

VMwareの操作画面
VMware Serverの操作画面だ。
それもLinuxマシンにインストールした物の
設定内容が反映されている。

 早速、ゲストOSを稼働させてみる事にした。

ゲストOSを稼働させてみる

 するとログイン画面が出てくる

ログイン画面が出てきた

  おっ、GUI画面で遠隔操作ができるやん!

 早速、ログインしてみる。

ログインした後

 ゲストOSのCentOS5.1の画面を、そのまま表示されるため
非常に使い勝手が良い。

フルスクリーンのボタン
そしてフルスクリーンのボタンを押すと
開いているゲストOSの画面が全面表示される。


フルスクリーンのボタンを押すと
画面全体がゲストOSの画面表示になる。
あたかも、Linuxマシンの前で操作しているのと
同じ画面で操作しているようになる。

 こりゃ便利やん!

 サーバー管理が楽になるやん!

 今までは遠隔操作といえば、telnetやsshが出てくる。

telnetの様子
telnetでも、sshでも遠隔操作は可能だ。
ただし、全てコマンド操作で、GUI操作ができない問題点がある

(補足)
GUI操作ができないと書きましたが、DISPLAYの設定を
変更すれば、接続先のX-Windowで立ち上がるソフトを
自分のマシンの画面に呼び出す事は可能だ。
だが、GNOMEやKDEのツールバーにある機能を
呼び出す事はできない(と思う)
なので、便利に操作を行う事については難点がある。

 いくらtelnetやsshがあっても、GNOMEやKDEといった
ウィンドウマネージャを使った操作を行う際は、
そのサーバーの前まで行かなくてはならない。

 うちの会社のサーバー群は、私の机の近くに固まっている。

サーバー群の場所と私の机
私の机のすぐ側にサーバー群の机がある。

 でも、机で作業していた後、サーバーAのウィンドウマネージャを
使いたい場合、わざわざ移動する手間が発生する。

移動の手間が発生する
移動の手間が発生する。
いくら大した距離でなくても、椅子から立ち上がり、歩いて移動するのは
めんどくさかったりする。

オランウータンみたいに、めんどくさがりの私にとっては
あまり好ましくない状態なのだ。

 でも、遠隔操作で自分の机のWindowsXPの端末から
各サーバーへ遠隔操作を行う事ができ、
しかも個々のウィンドウマネージャを使う事ができれば
かなり手間が省けるのだ。
  VMware Server導入の利点の1つとして

 不精者には大きい利点なのだ (^^)

 を挙げても良いと思う。


ホストOSの運用管理について  基本的に以下の2つが挙げられる。
ホストOSの運用管理に必要な事
(1) ホストOSを安定稼働させるために
ホストOSには何もさせない
(2) セキュリティーはガチガチに固める


 どれくらいサーバーを鉄壁にするのか。
 iptablesで通信を全て止めても問題ないのだ!

ここまでやっても問題なし (^^)
iptables -P INPUT   DROP
iptables -P FORWARD DROP
iptables -P OUTPUT  DROP
ここまでやると、遠隔操作ができなくなるが
遠隔操作を行わない場合は、ホストOSが他のマシンとの
通信を拒否しても問題はない。
(実際に実験をしてみました)

iptablesの設定については「システム奮闘記:その21」
iptablesの設定入門をご覧ください。

要らないデーモンを止めるなどを行い、
できるだけホストOSには何もさせない方が良い

 つまりホストOSは、鎮座させておいて、何もさせないために
ホストOS地鎮祭を行うのが一番良いかも (^^)


システムの移行作業の簡素化  サーバーが古くなったりして、他のサーバーにする場合、 今まで入っていたシステムを新しいサーバーへ移行させる必要がある。
サーバーの引越し
サーバーの老朽化や、既存サーバーの他への転用などで
別のサーバーへシステムを移行させる事がある。

 仮想化技術を導入する前は手間だった。

仮想化技術を導入する前は手間だった
引越し先のサーバーにOSからソフトなどを
インストールする必要があった。

特にソースコンパイルを行う場合は、依存性のオプションなどを
間違えると移行先で動かなくなったりしていた。
その上、今まで動かしていたLinuxのカーネル等が
ハードウェアに対応していないため、別のバージョンの
Linuxを探してきたりする必要があったり、
新しいディストリビューションのglibなどのライブラリと
ソフトの相性などで頭を抱える事もあったりする。

 だが、VMware Serverの場合、ゲストOSはファイルとして
格納されている。

ゲストOSはファイルとして格納されている
[root@CentOS5.1]# ls -l
合計 8397024
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f001.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f002.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f003.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f004.vmdk
-rw-------  1 root root    1048576 10月 31 10:39 CentOS5.1-f005.vmdk
-rw-------  1 root root        510 10月 31 10:51 CentOS5.1.vmdk
-rw-------  1 root root          0 10月 31 10:35 CentOS5.1.vmsd
-rwxr-xr-x  1 root root        853 10月 31 10:41 CentOS5.1.vmx
-rw-------  1 root root       8664 10月 31 14:50 nvram
-rw-r--r--  1 root root     140370 10月 31 14:50 vmware.log
[root@CentOS5.1]#

 なので、以下の図のようにゲストOSを格納したファイルや
設定関係のファイルを一式、新しいサーバーに持っていくだけだ。

単にファイルを転送すれば良い

 ファイルの転送が終わると、新しいサーバーでVMware Serverを起動し
転送したゲストOSを登録させる必要がある。
 でも、簡単だ。

移行させたゲストOSを登録
まずは赤く囲んだ部分を選択する。

 すると以下の画面が出てくる

ゲストOSの設定ファイルを読み込む画面
この時、移行させたゲストOSがある事をVMware Serverのソフトは
認知していない。
なので、ゲストOSを認識させるために、該当の設定ファイルを
読みにいく必要がある。

そこで赤く囲んだ「Browse」を選択する。

 するとゲストOSのディレクトリーを尋ねてくる。

ゲストOSのディレクトリーを尋ねてくる
該当のゲストOSのファイル等があるディレクトリを選び
該当のファイルを選ぶ。

 そうすると、移行してきたゲストOSを取り込む事ができる。

移行してきたゲストOSを取り込んだ様子

 そこでゲストOSの起動を開始する。
 すると・・・

 見事に立ち上がったのだ (^^)V

RedHat9が無事、立ち上がった。
社内向けのシステムでは、RedHat9は現役だ。
ハードウェアが新しくなっても、VMware Serverがある限り
古いOSは活用できる。

そして、一度、ゲストOSをインストールしてしまうと
ハードウェアが変更になっても簡単に移行できる事がわかった。

 さて、簡単にゲストOSの移行したように思われるが
実は、失敗談もあります。それを紹介します (^^)


 さて、ゲストOSのファイルを移行先のサーバーに
転送した後、ファイルのパーミッションを触った。
 その時・・・

 間違えて別のファイルのパーミッションを変更したのだ

正しいパーミッションの設定
[root@RedHat9]# ls -l
合計 8397024
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f001.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f002.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f003.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f004.vmdk
-rw-------  1 root root    1048576 10月 31 10:39 Red Hat Linux-f005.vmdk
-rw-------  1 root root        510 10月 31 10:51 Red Hat Linux.vmdk
-rw-------  1 root root          0 10月 31 10:35 Red Hat Linux.vmsd
-rwxr-xr-x  1 root root        853 10月 31 10:41 Red Hat Linux.vmx
-rw-------  1 root root       8664 10月 31 14:50 nvram
-rw-r--r--  1 root root     140370 10月 31 14:50 vmware.log
[root@RedHat9]#
誤って行ったパーミッションの設定
[root@RedHat9]# ls -l
合計 8397024
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f001.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f002.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f003.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 Red Hat Linux-f004.vmdk
-rw-------  1 root root    1048576 10月 31 10:39 Red Hat Linux-f005.vmdk
-rwxr-xr-x  1 root root        510 10月 31 10:51 Red Hat Linux.vmdk
-rw-------  1 root root          0 10月 31 10:35 Red Hat Linux.vmsd
-rw-------  1 root root        853 10月 31 10:41 Red Hat Linux.vmx
-rw-------  1 root root       8664 10月 31 14:50 nvram
-rw-r--r--  1 root root     140370 10月 31 14:50 vmware.log
[root@RedHat9]#
本来なら上の赤い部分にあるように拡張子が「vmx」のファイルを
実行可能ファイルにしておく必要がある。

しかし、私の場合、拡張子を見誤ってしまい
青い部分のように「vmdk」ファイルを実行可能にしてしまい、
拡張子が「vmx」のファイルは実行不可能にしてしまった。

 そのため以下のエラーが出た。

エラーの内容
Config fileに接続できないというエラーだ。
そのファイル名まで表示されている

 冷静にエラーを見れば、どこが悪いのかがわかるが、
この時は「正しい設定」という思い込みがあったので、
エラーの内容まで見ていなかったため

 なんでやねん (TT)

 と思いながら、30分ぐらいは潰れたと思う。


サーバー統合化による電気代の節約

 サーバーの電気代。今までは・・・  考えた事があらへん  だった (^^;;  だが、以下の本に電気代の話を見て関心を持つようになった。  「Xen徹底入門」(宮本久仁男、大島孝子、平 初、長谷川猛:翔泳社)  この本の19ページに電気代の算出について触れられていた。  本に書いている方法を数式にすると以下の計算式になる。
電気代の算出法
この数式を使えば、1台辺りのサーバーの年間消費電力と
年間の電気代が算出できる。

 もし、電源装置が400Wのパソコンの場合の年間の電気代を
算出してみる事にした。

電源装置が400Wのパソコンの場合の
年間の電気代を算出

 電気代だけで年間80,592円かよ!

 これには驚いた。
 こんなに電気代がかかるとは思ってもいなかったからだ。

 たかだかパソコンなのだが、24時間365日連続稼働させる事は
非常に電気代を食う事になる。

 サーバーの統合化を行う事で、電気代の節約になるのはよくわかる。

 今回、DNSサーバーとWebサーバーを統合させた事で
どれくらい電気代が節約できたのかを算出してみる事にした。

電気代の算出と統合前と後
サーバー統合化前
サーバー名 電源装置の電力 年間の電気代
1Kwを23円で算出
(関西電力のサイトより)
DNS 100W 20,148円
Web、メールゲートウェイ 350W 70,518円
合計金額 90,666円
サーバー統合化後
DNS、Web
メールゲートウェイ
400W 80,592円

 節約金額は「90666 - 80592 = 10074」なので

  年間10,074円の節約になるのらー!

 今回は僅かな金額だが、もしサーバーが増える事が防げたら
投資抑制だけでなく電気代などの維持費節約にもなる。

 大きなデータセンターの場合、電気代がバカにならない上
発熱による熱暴走防止のための空調代だってバカにならない。

 だが仮想化技術を使えば、サーバーの台数を抑制できるため
サーバーの電気代だけでなく空調などの電気代なども節約でき、
地球環境にも優しいというわけだ。
 まさに話題になっているグリーンITなのだ。

 今までは言葉だけ知っていた。
 だが、ようやく実感として

 仮想化は「グリーンIT」なのだ!

 がわかった (^^)



ディスク容量の設定の補遺  ゲストOSのインストールの際、ディスク容量の設定の部分で 説明をしなかった事について触れたいと思います。
ゲストOSのディスク容量設定の画面
赤く囲んだ部分と、青く囲んだ部分の2ヶ所に印の有無を決める
設定箇所があるのだが、インストールの際の説明では
後述しますと書いた。

この部分について触れたいと思います。

 当初は・・・

 わからへんから省略してしまえ!

 と思ったのだが、さすがに編集していくと

 これでは突っ込みがくるやろ・・・ (^^;;

 と思った。
 そこで調べた事を補遺という形で説明したいと思います。


まずは赤く囲んだ部分の説明
赤く囲んだ部分は、ディスクの容量の指定と
何かの印の有無の指定だ。
この印が何を意味するのか説明する事にします。

 まずは上図の赤く囲んだ部分に印をつけた場合を説明します。

 印をつけた場合、先に進めるとディスク作成の画面が表示される。

ゲストOSのディスク作成の画面
8GB分のファイルを格納できる領域を作成している最中。
容量が多くなると、結構、時間がかかったりする。

 そしてゲストOSが格納されているフォルダーを見る。
  (フォルダーと書いているので、ホストOSをWindowsXPにしています)

ゲストOSが格納されるフォルダー
ゲストOSのファイルが格納される領域がファイルとして確保されている
8GBという大きなファイルになっている。


 次に、印をつけなかった場合を試してみる。

印を外した設定
印を外した状態で進めてみる。
ゲストOSのディスク容量は8GBにしておく。

 すると、ゲストOSが格納されるディスクの作成画面がでなかった。

 そこからゲストOSのインストールは行わずに、
ゲストOSが格納されているフォルダーを見てみる。
 すると意外な事がわかった。

ゲストOSが格納されているフォルダー
なんと8GBと指定したはずのゲストOSのディスクなのだが、
ゲストOSが格納されるファイルの大きさが1MBぐらいしかない。

 もしかして、データ等が追加すればゲストOSが格納される
ファイルも大きくなるのでは?

 そこでゲストOSをインストールした。

ゲストOSをインストールした後
OpenSuSE11.0の画面です。
ギーコちゃんが動いています (^^)

 そしてゲストOSが格納されているフォルダーを見ると・・・

 ファイルが大きくなっているやん!

ゲストOSが格納されているフォルダー
ゲストOSを格納するファイルの大きさが1MBから3GBになっている。
最初は小さい状態で、データを追加するごとにファイルが大きくなるようだ。

 そこでゲストOSのディスクの設定画面に戻る。

まずは赤く囲んだ部分の英文
赤く囲んだ部分で、印の有無の設定箇所に書かれている英文を見てみる。

印の横には「今、全てディスク容量を配置する」と書かれている。
最初、設定を行う際、この意味が理解できなかった。

そして説明書きには次のように書かれている。

(説明書きのインチキ翻訳)
仮想ディスクの容量を全て配置する事で、仮想マシンは性能を発揮する。
しかし、これ以上仮想ディスクが作成できない時のために
ホストOS側の物理ディスクが十分足りている必要がある。

もし、仮想ディスクの容量を全て配置しない場合(印をつけない場合)
仮想ディスクは最初は小さい大きさで、アプリやデータがゲストOSに
追加されるごとに仮想ディスクが大きくなる

(要するに)

印をつけておけば、最初からゲストOSのディスク容量を指定した分だけ
ゲストOSの格納ファイルの大きさが確保される上、性能が良い。
でも、そのためにはホストOS側のディスク容量、つまり
ゲストOSが格納できるだけのディスクの空きが必要だ。

でも、印がなければ、最初は小さい状態で始められ
ゲストOSにアプリやデータが追加されるのに合わせて
どんどんゲストOSを格納するファイルが拡張される。
これだと、ホストOS側のディスクが指定した容量に満たしてなくても
とりあえずゲストOSをインストールが可能になったりする。

 最初、英文の説明を見てもピンとこなかったが
手を動かした後で英文を見ると納得できる。
 やはり手を動かすのは大事だと思う。


 ところで、なんでこの機能があるのか、私には

 理解できへんのらー!

 だった (^^;;



 ディスクの補遺の2つ目

 さて、ゲストOSのディスク容量の設定画面で、
もう1つ印の有無を選択する箇所があった。

ゲストOSのディスク容量の設定画面
赤く囲んだ部分の選択肢の説明がまだでした。
そこで初期設定の赤く囲んだ部分に印をつけなかった。

青く囲んだゲストOSのディスク容量の設定を8GBにした。

ちなみに赤く囲んだ部分の説明は「ディスク容量を2GBに分割する」
なのだが、これだけではピンとこない。

 ここでは、わかりやすくするためホストOSをLinuxにしました。

 そしてディスクを作成した後、ゲストOSが格納されている
ディレクトリを見てみた。

ゲストOSが格納されているディレクトリ
[root@non-sepa]# ls -l
合計 8396952
-rw-------  1 root root 8589934592 10月 31 17:13 non-sepa-flat.vmdk
-rw-------  1 root root        349 10月 31 16:29 non-sepa.vmdk
-rw-------  1 root root          0 10月 31 15:48 non-sepa.vmsd
-rwxr-xr-x  1 root root        851 10月 31 16:19 non-sepa.vmx
-rw-------  1 root root       8664 10月 31 17:13 nvram
-rw-r--r--  1 root root      92058 10月 31 17:13 vmware.log
[root@non-sepa]#
青い部分がゲストOSが格納されるファイルだ。
ゲストOSを8GBに指定した通り、ゲストOSが格納される
ファイルの大きさが8GBになっている。

 では、印をつけた場合を見てみる。

ゲストOSのディスク容量の設定画面
赤く囲んだ部分の選択肢の説明がまだでした。
そこで赤く囲んだ部分に印をつけた。

青く囲んだゲストOSのディスク容量の設定を8GBにした。

 そしてゲストOSが格納されているディレクトリーを見てみた。
 すると・・・

 ディスクが分割されてるやん!

ゲストOSが格納されているディレクトリ
[root@CentOS5.1]# ls -l
合計 8397024
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f001.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f002.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f003.vmdk
-rw-------  1 root root 2147221504 10月 31 14:50 CentOS5.1-f004.vmdk
-rw-------  1 root root    1048576 10月 31 10:39 CentOS5.1-f005.vmdk
-rw-------  1 root root        510 10月 31 10:51 CentOS5.1.vmdk
-rw-------  1 root root          0 10月 31 10:35 CentOS5.1.vmsd
-rwxr-xr-x  1 root root        853 10月 31 10:41 CentOS5.1.vmx
-rw-------  1 root root       8664 10月 31 14:50 nvram
-rw-r--r--  1 root root     140370 10月 31 14:50 vmware.log
[root@CentOS5.1]#
青い部分がゲストOSが格納されるファイルだ。
2GBづつ分割されている。

 やはり手を動かして、目で確かめて、英文の説明が理解できる。
 もし、日本語で書かれていても同じだと思ったりする。


 ところで、この設定がある理由はこうだと思う。
 ファイルシステムによっては、2GBしか認識できない物がある。

 もし、ホストOSのファイルシステムが2GBしか認識できなければ
ゲストOSは2GB以上の容量が確保できなくなる。
 それを防ぐための設定事項だと思う。


ネットワークの設定の補遺  ゲストOSのネットワークの形態の設定の部分を 説明していなかったため、ここで説明します。
ゲストOSのネットワーク形態の設定画面
ゲストOSをインストールする際、何も考えずに、
初期設定である「Use Bridge networking」を選んだ。

これはゲストOSに独自IPアドレスを持たせる形態だ。

 図式化すると以下の通りになる。

「Use Bridge networking」の場合
ホストOSだけでなく、ゲストOSも独自のIPを持つ。
そのため、ネットワーク上では独立したマシンが
接続されている形態をとっている。

 では、他のネットワーク形態は何だろうか。
 設定画面の説明を見ても、わかったような、
わからんような感じだったので、体験しながら覚えるため
ここでも手を動かしてみる事にした。

ゲストOSのネットワーク形態の設定画面
「NAT」を使う設定だという。
でも、これだけだとイマイチよくわからん。

 なので、設定してみる事にした。
 ゲストOSのIPはDHCP(自動IP取得)にしてみた。
 そして、次の実験を行ってみた。

実験の内容
ゲストOSから接続先のマシンに接続してみる事にした。
NATというからには、もしかしてホストOSのIPに
変換されるのではないかと思ったりする。

 論より証拠で実験開始。

実験の様子
[root@guestos ~]# hostname -a
guestos
[root@guestos ~]#
[root@guestos ~]# telnet 192.168.10.100
Trying 192.168.10.100
Connected to 192.168.10.100 (192.168.10.100).
Escape character is '^]'.
CentOS release 5 (Final)
Kernel 2.6.18-53.el5 on an i686
login: suga
Password:
Last login: Tue Nov  4 11:22:00 from hostos
[suga@centos5.1 ~]$ last
suga     pts/2        hostos           Tue Nov  4 11:22   still logged in
suga     pts/2        192.168.10.23    Sun Nov  2 10:28 - 10:31  (00:02)
suga     pts/2        192.168.10.23    Sun Nov  2 10:28 - 10:28  (00:00)

wtmp begins Sun Nov  2 10:28:19 2008
[suga@centos5.1 ~]$
ゲストOS上で赤色のコマンド(ホスト名出力)をやってみると
「guestos」と出る。

次に、telnetで接続先のマシンに接続してみた。
そして「last」コマンドで、どのマシンから接続されたのかを
確かめてみるとホストOSのホスト名の「hostos」が出た。

IP変換が行われているため、接続先では変換されたIPの
ホスト名(ホストOS)が出てくるのだ。

 つまり図式化すると以下のようになるのだ。

図式化すると
ゲストOSが接続先に接続する途中経路で、ホストOSが
NATの役割を果たし、IP変換が行われているのだ。

ホストOSが攻撃されても、ゲストOSは無事という
セキュリティー向上の方法にも使えそうだ。
まぁ、ホストOSが攻撃して陥落したら元も子もないが・・・。

 ゲストOSは複数作成できる。
 なので、複数のゲストOSがある場合で、全てNATの形態を取った時
以下のようなネットワーク形態になる。

複数のゲストOSが存在するネットワーク形態を図式
ゲストOS同士の通信は可能だ。
そして、どのゲストOSも接続先に接続した場合は、
ホストOSのNAT機能により、IPアドレスが変換される。

ゲストOSのIPはDHCPで自動取得でも良いし、
プライベートアドレスを割り振るのも良い。

 最後に「Use host-only networking」の説明

ゲストOSのネットワーク形態の設定画面
「Use host-only networking」の場合、ホストOS内の
プライベートアドレス同士なら接続可能だという。

 早速、実験をしてみると以下の事がわかった。

わかった事
ゲストOS同士の通信やゲストOSからホストOSへの通信は
可能だという事がわかった。
だが、ゲストOSが他のマシンに接続する事ができない事もわかった。

どうやらプライベートアドレスという閉じた範囲で
ゲストOS同士の通信を行うためにあるみたい。

でも、こんなのは、どういう用途があるのかなぁ・・・。



VMware Serverの問題点

 利点ばかり挙げたが問題点も存在する。  そこで問題点も挙げてみた。
VMware Serverの問題点
(1) ゲストOSの時間が狂いやすい
(2) サーバー利用の場合、複数のゲストOSを入れると
ゲストOSの性能が低下する。

 10数万円のパソコンをサーバー利用しているため、
ゲストOSを4つ、5つもインストールすると、メチャクチャ重たくなる。
 せいぜい3つが限度ぐらい。

  完全仮想型の場合、ホストOSの上にゲストOSが稼働しているため
それが重たくなる要因になると思ったりする。


最後におまけ:「かそうか」とは何か?  「かそうか」とは何か。改めて考えてみる。  すると、以下の事を連想してしまったのだ。
これが本当の「かそうか」なのだ
欽ちゃんの仮装大賞には遠く及ばない。
そして、Windowsのペイントで加工した画像で
一応、コンピューターで画像処理した物なのだが、
とても北京オリンピックの開幕式の花火のCG合成にも及ばない。

でも、私の仮装した姿なのだ (^^)

 山田く〜ん、座蒲団三枚取り上げ!

 のギャグになってしまった。

 パリの社交界で仮装して、パリジェンヌにモテモテになれば良いのだが
こんな不細工な仮装だと全くモテないなぁと思う今日この頃 (^^)


まとめ  VMware Serverを活用した仮想化には以下の利点があります。
導入利点
(1) 古いOSでしか動かないソフトの存続
(2) 仮想環境による実験が可能
(3) サーバー統合によるサーバーの置き場の問題解消
(4) サーバー統合による電気代節約
(5) サーバーの遠隔操作が容易

 無償のソフトで、ここまでできると非常にありがたい。

 もちろん問題点もある。

VMware Serverの問題点
(1) ゲストOSの時間が狂いやすい
(2) サーバー利用の場合、複数のゲストOSを入れると
ゲストOSの性能が低下する。

 利点と問題点の塩梅を考えながら導入するのが良いと思う。


 クライアント利用で古いOS上でしか動かないソフトを活用するには
非常にありがたい存在だと思う。

 既に、Windows95やWindows98などのOSがインストールできる
最新パソコンが存在しないからだ。
 無償のVMware Serverを活用して古い資産を継続して活用でき、
新規投資を抑制できるのは大きな利点だと思う。


 他の仮想化については以下の章でも書いています。

他の章の仮想化の話
その75 Xenのインストールに挑戦。でも断念・・・
その77 VMwareESXiのインストールと設定


次章:「仮想化ソフトXenに挑戦。でも断念・・・」を読む
前章:「北京旅行記:第二弾」を読む
目次:システム奮闘記に戻る

Tweet