前のトピック: RedHat/CentOS Linux ディストリビューション用アプライアンス キットのインストール

次のトピック: IIS03W/IIS03S/IIS03E/IIS03DC: インストール リファレンス


Windows 用のアプライアンス キットのインストール

Windows 2003 Server(32 ビットと 64 ビット)および Windows 2008 Server(32 ビットと 64 ビット)の場合。

ファイル
互換性

apk-*-windows バージョンは以下の OS distro と互換性があります。

APK をインストールするには、以下が必要です。

イメージの準備

以下の手順は、OS が最初にどのようにインストールされたかに応じて変わります。 APK セットアップ スクリプトでは、これらの手順は実行されません。実行は、オペレータの裁量に任されます。 これらの手順の一部は GUI アクセスを必要とします。また、自動スクリプトでは実行できない場合があります。 その他の手順は、有害あるいは破壊的な影響を及ぼす可能性があります。 そのため、これらの手順を自動スクリプトで実行することは不適切な場合があります。

適切でない手順はスキップしてください。

  1. VNC またはリモート デスクトップ上で最適な操作を行うために、デスクトップの視覚的要素(アニメーション メニュー、影、フルウィンドウ ドラッグなど)をすべて無効にします。
  2. スクリーン セーバおよび画面ロックアウトを無効にします。
  3. Administrator アカウントに強力なパスワードを設定します。
  4. 使用されない OS サービス(ブラウザ サービスやサーバ サービスなど)をすべてアンインストールまたは無効化します。
  5. Windows Update ホットフィックスをすべてインストールします(各ホットフィックスは個別に再起動が必要です)。

    注: Windows 2008 に更新をインストールしないと、APK が失敗する場合があります。

  6. リモート管理を有効にします(ターミナル サービスを使用)。

    注: リモート管理を有効にすることは、OS をターミナル サーバとして設定することとは異なります。 OS をターミナル サーバとして設定するには、各クライアントに購入済みのライセンスが必要です。 これがインストールで意図されている使用方法である場合にのみ、リモート管理を有効にします。

  7. パブリック アクセスが可能な IP アドレスでネットワークを設定します。 残りの手順はリモート デスクトップを使用して実行できます。
  8. CygWin(www.cygwin.com)をインストールします。 Administrator としてインストールを実行し、すべてのユーザに対するインストールをクリックします。 少なくとも ssh サーバをパッケージのベース セットに追加します。 sshd サーバは自身で設定しないでください。sshd サーバは APK で設定します。
  9. bash、wget、gzip および tar の GNU ユーティリティがインストールされていることを確認します(通常はベース パッケージ内にありますが、再確認し、存在しない場合は追加します)。
  10. 必要に応じて、Xen 対応の(準仮想化(PV))デバイス ドライバをインストールします。 PV ドライバを使用する場合は、PV ドライバをインストールした後、APK をインストールする前に Windows を再起動することを推奨します。 PV ドライバが正常に動作することを確認します。

注: Windows 2003 の最小インストールでは 1 GB を超えるディスク空き容量が必要です。 Windows 2008 のフル インストールには 8 GB 近くが必要です(サーバ コアに必要な容量は少なくなります)。 CygWin および Windows Update ホットフィックスのインストール用に十分な容量を残します(Windows はホットフィックスで置換されたバイナリ ファイルの旧バージョンをすべて保持することに注意してください)。 APK をインストールするスペースを確保するため、またログ ファイルや一時ファイルなどに使用するスペースを確保するために、少なくとも 5 ~ 10 MB の空き容量が残されていることを確認します。

APK のインストール

APK をライブ システムにインストールします。 Windows 用の APK は、実際に実行されていないマウントされた OS ディスク イメージにはインストールできません。 最適な結果を得るために、外部ネットワーク アクセスが設定された OS イメージを使用し、任意の OS(rdesktop など)からリモート デスクトップ クライアントを使用してログインします。 これにより、HVM でエミュレートされたビデオ画面を参照するために VNC を使用するよりも、優れた対話型操作が実現されます。

  1. Administrator としてログインし、CygWin シェルを開きます。
  2. APK ファイルを /tmp ディレクトリにコピーします。
  3. CygWin ルート ディレクトリ(/)に変更し、以下の例のように APK バイナリ アーカイブをルート ディレクトリに解凍します。
    cd / gtar -zxf tmp/apk-2.0.10-windows.tar.gz 
    
  4. インストール スクリプトを実行します。
    bash tmp/apk-install 
    

これはエラー メッセージなしで完了する必要があります。 エラー メッセージが表示される場合は、前述の準備手順を確認し、手順を再試行します。

注: インストール スクリプトを複数回再実行しても問題はなく、インストールは損傷しません。

セットアップ スクリプトおよび APK tar ファイルは、以下の手順に従って削除できます。

  1. 次のコマンドを実行します。
    rm tmp/apk-install  tmp/apk-*.tar.gz 
    
  2. OS をシャットダウンします。

イメージ準備が CA AppLogic グリッドの外部で行われた場合は、イメージをグリッドにコピーし、アプライアンスの作成に使用できます。

イメージが新規 OS インストールとしてグリッド上に作成された場合は、[フィールド エンジニアリング コード]チェック ボックスをオフにして、管理対象外アプライアンス オプションを無効にします。

デバイス スキーマが、IDE ディスク ドライブの場合 hda/hdb/hdc/hdd に、SCSI ディスク ドライブの場合 sda/sdb/sdc/sdd に設定されていることを確認してください(Editor 内の場所: [境界の変更]、[一般]、[仮想化モード]、[詳細])。

重要な Windows 固有情報

ファイル名

明記されていない限り、このドキュメント内の名前は、Posix システムをエミュレートする CygWin ファイル ネームスペース内にあります。

注: これらの名前は、Cygwin 以外のユーティリティでは使用できません。 これには、APK バイナリ自体(vme と udlparse)、およびすべてのネイティブ Windows コマンド ライン ツールが含まれます。 ほとんどの Cygwin ユーティリティは CygWin 名(posix スタイル)または Windows 名(C:\path\ など)を受け入れますが、例外的に「:」を含む文字列が computername:filename を意味すると見なすものがあります(たとえば scp、rsync、および特に tar)。 後者の場合、--force-local オプションを使用して強制的に Windows 名を受け入れることができます。

Windows と Cygwin のネームスペース間でファイル名を変換するには、cygpath を使用します。

windowspath=`cygpath -w /var/applogic/appliance.desc`

ディスクのマウント

ディスクのマウント ポイントを指定するときは、必要に応じて以下の名前を使用します。

X - 単一の文字(A、B、D ~ Z)はディスクを X:\ としてアクセス可能にします。

X:\ - X と同じ

C:\dir1\[dir2\...] - ディスクをブート ファイル システムの指定されたサブディレクトリ内でアクセス可能にします。 ディレクトリが存在しない場合は作成されます。

注: デフォルトのディレクトリ権限が期待どおりはでない場合があるため、APK でディレクトリを作成することは推奨されません。

ディスクをクラス記述子で指定されたマウント ポイントのない状態にしておくと、APK はディスクを無視し、Windows でのマウント割り当てがそのまま残ります。 この場合、Windows 自体からそのディスクに対して手動で実行されたマウント ポイント割り当ては永続的で、クラス記述子を介して別のディスクに行われた同じマウント ポイントの割り当てよりも優先されます(後者の割り当ては効果がなく、ディスクはマウントされないままになります)。 たとえば、クラス エディタ/変更ダイアログ ボックスで以下のように指定したとします。

disk 0 -> (ブート)
disk 1 -> (マウント割り当てなし)
disk 2 -> Z:\ 

また、アプライアンスにログインし、disk2 から Z を削除して disk1 に割り当てたとします。この場合、Z は再起動後も disk1 に割り当てられたままになり、クラス記述子内の「disk2 -> Z」の割り当ては効果がありません。 Z が disk1 から削除されるか、disk2 に Z 以外が設定されるまで、disk2 はどこにもマウントされません。

C:\ は予約済みで、どのディスクのマウント ポイントとしても割り当てることができません。 ブート ディスクの割り当てはすべて無視され、アプライアンス インスタンス記述子内の C:\ にマウントされたものとしてレポートされます。

C: 以外のどのドライブ上でもサブディレクトリのあるマウント パスは使用しないでください。 サブディレクトリのあるマウント パスを使用すると、ディスクのマウント順序に依存するため、マウントを使用できなくなることがあります。

フォーマットされていないディスク(または Windows によって認識されないファイル システムでフォーマットされたディスク)のマウントは Windows によって拒否されないことに注意してください。 マウントが APK によって割り当てられるときに、エラーや警告はまったく発生しませんが、マウント ポイントまたはそのサブパスへのアクセス試行は失敗します。

ユーザ名

APK インストール スクリプトは Administrator 用の CygWin エイリアスを root にします。 そのため、root は任意の CygWin バイナリによって参照されるユーザ名になり、CygWin シェル、およびディレクトリ リストに現在のユーザ名として表示されます。 この設定により、リモート シェル コマンド(3t ssh component-name)を使用してアプライアンスにアクセスできます。

CygWin ユーザ名と Windows ユーザ名の間のマッピングは自動的には行われず、/etc/passwd ファイルと /etc/group ファイルに記述され、Windows ユーザを追加/削除したときに自動では更新されません。 CygWin には、/etc/passwd ファイルと /etc/group ファイルをメンテナンスするためのユーティリティが含まれます。 これらのユーティリティを使用するときは、APK によって作成されたルート用の特別なマッピングを保持してください。そうしないと、グリッドからの ssh ログインの動作が停止します。

アプライアンス動作のカスタマイズ - クイック リファレンス

アプライアンス Init 設定

ファイル /etc/sysconfig/applogic_init が存在する場合、APK init スクリプトはシェル インクルード スクリプトと解釈します(「.」コマンド)。 以下のパラメータは /etc/sysconfig/applogic_init に定義できます。

APK_AUTH_KEY_PATH

アプライアンスの SSH のアクセス公開キーを格納する場所。 3t comp ssh コマンドは、対応する秘密キーを使用して、アプライアンスに接続します。 デフォルトは /home/Administrator/.ssh です。 空の文字列に設定された場合、キーはどこにも格納されません。
指定された場所が既存のファイルの場合、その所有者と権限が保持されます。 そうでない場合は、ファイルは所有者のルートに作成されます。

APK_CONFIG_FILES

アプライアンスのプロパティを適用するファイルのスペース区切りリスト。 これは、(APK を使用していないアプライアンスの)GUI の[境界の変更]ダイアログ ボックスで指定した環境設定ファイル リストに取って代わります。 APK を使用したアプライアンスは、GUI で指定されたリストではなく、アプライアンス自体に置かれている APK_CONFIG_FILES リストを使用します。
重要: 既存のアプライアンスに APK をインストールする場合、エディタ GUI を使用してクラス記述子をチェックし、[View Class]/[境界の変更]ダイアログ ボックスの[環境設定ファイル]タブに設定ファイルが存在するかどうか調べてください。 ファイルのリストをアプライアンスの APK_CONFIG_FILES 設定に転送します。

APK_HOSTNAME_UPDATE

このパラメータを No に設定すると、ホスト名(Windows ではコンピュータ名とも呼びます)をアプライアンスのインスタンス名から派生した文字列に変更するデフォルト動作が無効になります。
アプライアンス所有者がホスト名などその設定のすべての側面をメンテナンスする「仮想プライベート/専用サーバ」アプライアンスでは、自動的なホスト名変更を無効にすることが望ましい場合があります。
注: APK_HOSTNAME_UPDATE が Yes に設定されている(またはまったく設定されていない)場合、ホスト名の変更は OS の再起動のトリガになります。 この状況は、初回起動時、またはアプライアンスのインスタンス名が変更されて再起動されるたびに発生します。 この再起動は APK が開始の成功をレポートする前に行われるため、アプライアンスの開始に 2 倍の時間がかかるように見えます。 再起動が APK によってトリガされた場合、スタートアップの進捗状況詳細に、メンテナンス モードが開始したことを示すメッセージが表示されます。

APK_AUTOMOUNT

アプライアンス クラスで指定されるように、このパラメータを No に設定すると、ドライブ文字またはマウント ポイントの自動割り当てが無効になります。 これにより、APK 内のボリューム状態確認もすべて無効になります。

重要: このオプションは、(ISO 形式のイメージをその仮想ディスクの 1 つとして割り当てることによって)アプライアンスに CD-ROM デバイスが設定されている場合に使用する必要があります。 APK 自動マウントは、この特定の組み合わせでは動作せず、アプライアンスの開始が失敗する原因になります。

重要: /etc/sysconfig/applogic_init ファイルは設定データが取得または適用される前に実行されるため、スクリプトはアプライアンスのいずれの設定ファイルの存在にも依存できません。 このファイルは、上記に定義した設定変数にのみ使用し、初期化コードを実行するためには使用しないでください。

/etc/sysconfig/applogic_init の例:

APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf
APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys 

アプライアンスの開始後チェック

ファイル /etc/sysconfig/applogic_appliance が存在する場合、APK late init スクリプトはアプライアンス上の他のすべてのサービスが開始した後で、(「.」コマンドで)それをシェルのインクルード スクリプトとして読み取ります。 スクリプトからのリターン ステータスは、アプライアンスが正常に開始されたか失敗したかを示します。 スクリプトによってメッセージが stderr に出力され、エラーが返される場合は、このメッセージの最後の行が、コントローラに送信されるエラー メッセージとして使用されます。

Web サーバ アプライアンス用の起動後チェック ファイルの例 - サーバが起動し、ホーム ページへの HTTP GET に応答することを確認します。

if ! wget -q -O /dev/null http://localhost/ ; then
echo "start failed - Web server is not responding" >&2
return 1
fi
return 0 

アプライアンス サービスを起動する起動スクリプトとして /etc/sysconfig/applogic_appliance を使用することは避けてください。 使用すると、APK がインストールされているアプライアンスの外部でセットアップ フォームを使用またはテストできません。

重要: Windows に固有の注:APK でサポートされる他のプラットフォームとは異なり、applogic_appliance 起動後チェックは、初期化を完了したときにではなく、Windows SCM(サービス コントロール マネージャ)がサービスをすべてロードした後に開始されます。 Windows 2003/2008 では、一部のサービスが明示的な依存関係としてではなく API コールを使用して他のサービスにより起動される(そのため、単に自動的なサービス ロードの完了イベントを待機することでは対応できない)という事実により、問題がさらに複雑になります。 そのため、/etc/sysconfig/applogic_appliance ファイルに追加された「スタートアップ確認」コードでこれを考慮し、まだ初期化されていない場合に監視する必要のあるサービスを待機する必要があります。