ラベル Windows Server 2003 の投稿を表示しています。 すべての投稿を表示
ラベル Windows Server 2003 の投稿を表示しています。 すべての投稿を表示

2012-03-21

Hyper-V のゲスト OS の BIOS 不良で泣かされる

Hyper-V てはゲスト OS を複数運用できるため、今となっては弊社の業務に欠かせない存在ですが、当方のブログでもたびたび記事を書いているとおり、過去にも色々とトラブルに泣かされていることも確かです。

 さて、今回も月曜日の朝からゲスト OS が起動して来ないというトラブルに見舞われました。
 Hyper-V マネージャ画面を見ると、「仮想マシンの構成記憶域に接続できません」というエラーメッセージが表示されています。しかも状況は「重大」のようです。



 試しに起動してみると、以下のようなエラーメッセージが返されました。



 
 ゲスト OS の設定を確認してみると、BIOS の読み込みに失敗したとあります。
 BIOS 設定に何らかの障害が発生し、起動不能になった模様です。



 ネットを調べ回ったところ、仮想マシンを削除(仮想ディスクはそのまま残すこと)し、再度追加することで解決するとあったので試したところ、復活しました。

 ただし、システムの状態によっては Windows ライセンス認証がもう一度必要になったり、IP アドレス設定が丸々飛んだりしたりするので、その辺の微調整は必要になるかもしれません。

 ただ、今回のように突然ゲスト OS が起動しなくなる可能性がありますので、同じように BIOS による起動トラブルが発生した場合は、今回の方法をダメ元で試してみるのも一つの方法かもしれません(ただし、自己責任ということでお願いします)

2010-09-03

Panda のせい?複数のサーバで障害多発

 最近になってやたらとサーバ機の不具合が多発するため、試しに Panda をアンインストールしてみたら突然快調に動き出したので、どうやら Panda が障害を引き起こしている可能性が高いと思い始めています。

 弊社が遭遇したトラブルを以下にまとめてみました。
 ちなみに、Windows Server 2008 で使用している Hyper-V は OS に付属のものを使用しています。

Windows Server 2008 32bit
現象:Blue Screen 障害の後、勝手にサーバ機が再起動するという現象が二ヶ月ほど前から断続的に発生。
サーバ機の診断を行うと、NIC がユーザによって無効になっているというメッセージが表示される(実際は NIC は動作しており、ネットワーク接続も可能となっている)。

Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000
現象:起動に 5 分以上かかり、ネットワーク関連のイベントエラーが大量に記録される。
常時起動させたままにしている FileMaker 5.5 Unlimited で開いているネットワーク共有データベースが切断されることがある。

* ちなみに、別サーバ機の Windows Server 2008 64 ビット R2 の Hyper-V のゲスト OS Windows Server 2000 の Panda は問題なく動作しているようです。

Windows Server 2003
現象:自動バックアップを実行する時間になると、ネットワークが一時的に遮断される。

 上記いずれも Panda をアンインストールした途端に快調に動き出します。

 また、以下の環境ではまだ Panda のアンインストールはしていなのですが、現象が現象だけにどうしても Panda の影響を疑いたくなってきています。

Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2003
現象:起動が若干遅い。FileMaker Server 10 の起動に時間がかかる。また、FMS 10 の管理ツールの起動にも時間がかかるだけでなく、データベースが自動公開されない。
(仕方なくいつも手動で公開するが、すぐに公開された試しがない。)

 今まで Hyper-V 搭載機で Panda エンジンの自動更新後の不具合で散々泣かされてきていますが、今度は通常の OS インストールで使用中のサーバ機にも影響が出てきているため頭が痛いところです。

 本記事はまだ記述中ですが、今後解決策が見えてきたところで情報を更新したいと思います。

2010/09/13追記:
 Windows Server 2008 32bit のBlue Screen 障害は、NIC の再インストール、Panda の再インストールを行った後に診断ツールでのエラーが解消しました。こればかりでは Blue Screen 現象自体が解決したとは言い切れませんが、診断ツールが警告を出さなくなったという点では、Panda 絡みの問題が発生していたと考えても良いと思います。

 Windows Server 2008 64 ビット環境の Hyper-V のゲスト OS としてインストールされている Windows Server 2000 でのイベントエラー大量発生については、Windows Server 2008 を R2 にアップグレードしてから Panda を再インストールしたらエラーイベント記録が治まりました。

 結論としては、Panda 導入によるマシン環境の不具合は、どうやら OS のバージョンや構成に依るところが大きいようです。
 当方で検証したエラー発生条件については改めて投稿します。

2010-04-28

Hyper-V のゲスト OS として bkf アーカイブを復元してみる(2/2)

 さて、前回の ASR バックアップセットによる自動復旧の失敗を踏まえ、今回は Hyper-V のゲスト OS 環境に Windows Server 2003 をインストールした後で、手動でシステム情報を復旧する方法について記述します。

【操作方法】
1. ゲスト OS に Windows Server 2003 をインストールする。
 Hyper-V の仮想マシン設定については割愛します。
 Windows Server 2003 の仮想マシンへのインストールについては、過去記事(Hyper-V にゲスト OS をインストール(覚え書き))で紹介しているとおり、SP2 以降のインストールディスクを使用しなければブルースクリーンが出てクラッシュするので注意が必要です。

2. 1. でインストールした Windows Server 2003 をネットワークに参加させる。
 既存ドメインや既存ワークグループへ参加させるようにゲスト OS の Windows Server 2003 の設定を変更して、ネットワーク経由でバックアップアーカイブ(.bkf) にアクセスできるようにしておきます。

3. バックアップツールを起動し、復旧コマンドでシステム状態を復旧する。
 ゲスト OS より「スタート」→「すべてのプログラム」→「アクセサリ」→「システムツール」→「バックアップ」の順に選択してバックアップツールを起動し、「復元ウィザード(詳細)(R)」をクリックします。



 すると復元ウィザードが表示されますので、2. のネットワーク上に配置されているバックアップアーカイブを指定し、左ペインの[System State]項目にチェックを付けます。
(バックアップアーカイブは DVD-R に焼いたものをゲスト OS に認識させても構いません。)



 “次へ”をクリックすると、以下のような警告メッセージが出ますので、本当にシステム状態がバックアップのもので上書きされても良ければ“OK”をクリックして復元を実行します。



【システム状態復元によって発生する不具合】
 前述の操作によってシステム状態を復元すると、旧環境のシステム状態が引き継がれた形となりますので、次のような問題が起こります。

1) コンピュータ名の重複
 同一ネットワーク上に同じコンピュータ名のマシンが複数台存在すると、警告メッセージがデスクトップに表示されます。
 新環境の方のコンピュータ名を適切なものに変更するか、旧環境のコンピュータをネットワークから切り外してください。

2) IP アドレスの重複
 コンピュータ名と同様に、同一ネットワーク上に複数の同一 IP アドレスを割り当てることはできませんので、新環境または旧環境の IP アドレスを適切なものに変更してください。

3) Windows のライセンス認証の不具合(特に注意)
 上記 1)、2) を行う前に、Windows ライセンス認証を促すメッセージが表示された場合、その時点で仮想ネットワークカードが動作停止状態となるため、インターネット経由でのライセンス認証はできなくなります。
 このため、認証手続きはライセンス認証ウィザードの電話認証の手続きを選択し、音声ガイダンスに従って認証を行う必要があります。

4) アンチウィルスソフトを始めとする、システム関連ソフトウェアの再インストール
 システム状態復旧ではソフトウェアまでは復旧されないため、Windows Server 2003 起動時にソフトウェアがインストールされていないという旨のエラーメッセージが表示されることがあります。必要に応じてインストールし直してください。

5) 旧環境で発生していたイベントエラー
 旧環境のシステム状態を復旧した場合、旧環境で発生していたイベントエラーの一部がそのまま継承されることがあります。
 イベントビューアで発生しているエラーを調べ、必要に応じて修正する必要があります。

 その他の不具合や問題点などは見つけ次第こちらに記述していく予定です。

 今後の課題としては以下のものがありますが、また機会ができたときに対応したいと思います。

1. 複数ボリュームを持つ BKF の Hyper-V ゲスト OS への復旧
2. VHD の復旧

2010-04-27

Hyper-V のゲスト OS として bkf アーカイブを復元してみる(1/2)

 既存の Windows Server 2003 サーバ機の環境を Hyper-V のゲスト OS にごっそり移行してみようということになり、試してみたのですが Hyper-V では自動システム回復 (ASR) セットからの復旧はやはり無理があることがわかりました。

 今回は失敗談を踏まえて、手動によるシステム状態の復旧までをまとめることにします。

 操作にあたり、以下のMicrosoft 社の技術情報ページを参考にしました。
 ハード的に独立したマシンを準備して、ページの記載どおりに操作すれば復旧はそれほど難しくないのではないかと思います。
Windows Server 2003 のデータをバックアップおよび復元する

 今回は Hyper-V のゲスト OS 環境で復旧作業をするということで、以下の問題がネックとなりました。

A. フロッピーディスクをどうやってゲスト OS に認識させるか。
 自動システム回復 (ASR) を行う場合は、元環境のパーティション情報はフロッピーディスクに記録されているため、フロッピーディスクを読み込ませる仕組みが必要となります。
 しかし Hyper-V のゲスト OS 環境では、物理的なフロッピーディスクを認識できないため、フロッピーディスクのイメージファイルを仮想フロッピーディスクファイル(.vfd)として保存し、それを読み込ませる必要があります。

 .vfd ファイル(イメージファイル)を作成するツールは Microsoft 社では提供されていないため、適当なツールをどこからか調達する必要があります。

 今回は K.Takata さんが公開している Read/Write FD というツールを使いました。
  Read/Write FD の仕様およびダウンロードページはこちら

 使い方は仕様のページに書かれているとおりですが、フロッピードライブを丸ごとイメージファイル化するには次のように指定します(.vfd 拡張子前のファイル名は任意です)。

 rwfd a: c:\fdimageW2003.vfd

 この操作で作成した .vfd ファイルをゲスト OS に認識させるための設定を行います。
 この .vfd ファイルは Hyper-V のホスト OS の適当な場所に保存しておきます(今回は f:\に入れることにします)。
 Hyper-V マネージャを開き、Windows 2003 用の仮想ハードディスクを割り当てた後で、設定を開き、以下の図のように仮想フロッピーディスクを割り当てて適用させます。
 


 この操作を行うことによって、ゲスト OS からフロッピーディスクを仮想的に読み込ませることが可能となります。

B. バックアップアーカイブ(.bkf)をどうやってゲスト OS に認識させるか。

 ASR による自動システム回復を行うにあたり、途中で .bkf の指定を求められるわけですが、Windows 2003 のインストーラでは、このファイルの配置場所として物理的に接続されている HDD デバイスを想定しているようで、ここで躓いてしまいました。
 この時点で自動システム復旧操作は断念せざるを得なかったわけですが、操作としてはなかなか面白いものでしたので、掲載することにします。

【操作手順】
1. ASR バックアップセットを作成する。
「スタート」→「すべてのプログラム」→「アクセサリ」→「システムツール」→「バックアップ」の順に選択すると、次のような画面が表示されるので、[常にウィザードモードで開始する]のチェックボックスを外して一度“キャンセル”をクリックしてプログラムを終了させます。



 もう一度バックアップツールを開くと、今度はバックアップウィザードが開きますので、画面一番下の「自動システム回復ウィザード(A)」を選択します。



 すると自動システム回復の準備ウィザードが開きますので、図のようにバックアップアーカイブ名を指定します(.bkf 前のファイル名は任意です)。
 “次へ”をクリックすると、バックアップが始まります。



注意:この操作を行うにあたり、パーティション情報がフロッピーディスクに書き込まれます(前述の仮想フロッピーの記述参照)。このため、フォーマット済のフロッピーディスクをフロッピーディスクドライブに入れておいてください。

 フロッピーディスクを作り忘れてしまった場合は、手動でも作成できます。
 フォーマット済のフロッピーディスクを用意し、C:\WINDOWS\repair\ 配下の asr.sif および asrpnp.sif をこのフロッピーディスクにコピーしてください。

2. Hyper-V 環境を準備する。
 Hyper-V 環境にゲスト OS 用の領域を割り当てておきます。
 このとき、システムドライブとなる vhd の容量は移行元のシステムドライブの容量と同じか、それ以上になるように設定します。
 この時点で前述にあったとおり、仮想フロッピーの設定も行います。

3. Windows Server 2003 インストーラーディスクを入れてゲスト OS を起動し、途中で ASR による復旧モードに入る。

 インストーラーディスクを入れてゲスト OS を起動するとインストールが始まります。
 程なくして Press F2 to run Automated System Recovery (ASR) というメッセージが画面下に表示されますので、ここで F2 キーを押すと、次の画面に切り替わります。



 フロッピーディスクを入れてくださいというメッセージですが、すでに仮想フロッピーディスクを設定してありますので、任意のキーを押すことによって、次のような画面が表示されます。



 C キーを押してパーティションの削除、修復を行うと、システムが一旦インストールされます。

 ある程度までインストールが進むと、インストーラがシステム状態のバックアップアーカイブを読み込もうとして以下のエラーが発生します。



 ローカル環境にバックアップアーカイブが無いのでこのようなエラーが発生するのは当然と言えば当然ですが、上記 1. の手順で作成した .bkf ファイルを DVD-R に焼いて読み込ませようとしても、この段階では Windows Server 2003 のインストーラが DVD ドライブの認識を行っていないようで、このバックアップアーカイブを読み込ませることができなかったため、この時点で自動復旧操作は断念しました。

 もし、同じような方法で ASR 操作がうまく行った方がいらっしゃったら、情報をいただけると幸いです。

 次回は手動システム復旧と、復旧後の注意事項についてまとめます。

2009-12-22

IIS の php から FileMaker Pro ファイルをオープンするのに四苦八苦

 Windows Server 2003 の IIS で php ファイルから FileMaker Pro ファイルを開くという操作を試しているのですが、どうもうまくいきません。

【目標】
 IIS で公開されている test.php というファイルからサーバディスクに配置した dbopen.vbs を起動し、vbs から FileMaker Pro ファイル test.fp7 を開く。

dbopen.vbs の中身は次のとおりです。ここでは、FileMaker Pro アプリケーションのインスタンスを作成し、それからローカルコンピュータの test.fp7 を開いて showMSG というスクリプトを実行するという流れになっています。このファイルを作って単独で実行すると正常に動作することは確認済みです。


Dim FMApp
Dim FMDocs, myOpenFile

Set FMApp = CreateObject("FMPRO.Application")
FMApp.Visible = True
Set FMDocs = FMApp.Documents
Set myOpenFile = FMDocs.Open("c:\hoge\test.fp7" ,"Admin","somePwd")
myOpenFile.DoFMScript ("showMSG")

Set myOpenFile = Nothing
Set FMDocs = Nothing
Set FMApp = Nothing



【試した操作】
1. IIS 経由で php を実行すると、その実行者は IUSR もしくは NETWORK SERVICE になるため、実行権限を必要なファイル群に与える必要があります。dbopen.vbs は WScript.exe から起動させるため、System32 ディレクトリの中にある WScript.exe に IUSR の実行権限を付与しました。
2. これだと dbopen.vbs で CreateObject を使って FileMaker のインスタンスを作成する時に書き込みエラーが発生するため、IUSR ではなく、ログイン中のユーザアカウントで実行できるよう、PsTools の psexec.exe を使って vbs のみログインユーザ権限で実行するようにしました。

PsTools の紹介とダウンロードはこちら

以下のように test.php のソースに指定しました。


$retval = `C:\hoge\PsTools\psexec.exe -u Administrator -p somePassword1234 -d WScript.exe C:\hoge\dbopen.vbs`;


備考:
1. psexec.exe に IUSR アカウントを割り当て、実行権限を付与しておく必要があります。
2. ``で囲ったコマンドラインがシェルコマンドとして解釈されるため、ここでは exec()関数を使用していません。
3. -d はスクリプトの終了を待たずに psexec を終了させるためのスイッチです(異常終了時のプロセス残留回避)。
4. vbs ファイルは単体では認識されないため、WScript.exe を明示的に指定する必要があります。

 このように設定してから Web ブラウザより test.php を実行すると、ブラウザが読み込み中状態となってしまいます。そこでタスクマネージャを起動して確認してみると、実行者 NETWORK SERVICE のプロセスとして psexec.exe が残っていることがわかりました。

【現象】
 psexec の実行ユーザが NETWORK SERVICE になっていると、デスクトップにそのアプリケーションが表示されず、バックグランドプロセスとして残留してしまいます。
 二台の Windows Server 2003 環境で実行したところ、一台は test.fp7 がデスクトップに表示され、showMSG スクリプトまで表示されたのですが、もう一台のマシンがどうもうまくいきません。

 psexec に NETWORK SERVICE を割り当てて実行権限を付与したり、IIS マネージャのアプリケーションプールのセキュリティアカウントを NETWORK SERVICE 以外に設定するなど試したのですが、やはりプロセスがバックグランドで残留したままの状態となります。


 IIS で運用中の php スクリプトからシェルコマンドでアプリケーションを起動し、そのアプリケーションをデスクトップに表示させる方法をご存じの方は、情報をお待ちしております。

2009-07-07

Windows Server 2003 で Windows ファイアウォールを開こうとすると、Ipnat.sys 関連のエラーメッセージが表示される

 Windows Server 2003 で Windows ファイアウォールを開こうとすると、以下のようなメッセージが表示されてファイアウォール管理画面を開けないことがあります。

「ネットワークアドレス変換コンポーネント(Ipnat.sys)を使用している可能性がある、別のプログラムまたはサービスが実行中であるため、Windowsファイアウォールを実行できません。」

 これは環境に「ルーティングとリモートアクセス(RRAS)」サービスがインストールされている場合にプロセスの一部(Ipnat.sys)が Windows ファイアウォールのプロセスと競合を起こすために発生するエラーのようです。

同現象でお困りの方は、以下の手順で RRAS を完全に無効化することで対応できる可能性があります。

1. 「管理ツール」→「サービス」より、Routing and Remote Access を停止させ、無効にします。
2. 「管理ツール」→「コンピュータの管理」を選択し、左ペインより「サービスとアプリケーション」を選択します。
 右ペインで、「ルーティングとリモートアクセス」を右クリックし、そこに表示されるサブメニューより、「ルーティングとリモートアクセスの無効化」を選択します。

 上記 2. の手順は「サービス」からは無効化できないので、注意が必要です。