1 台のサーバーで多数の Windows サービスとスケジュールされたタスクを実行しています。これらのサービスの一部は外部リソースをプールするため、帯域幅を節約するためにバックアップ サーバーでは無効のままにしておきます。次のシナリオでメイン サーバーがダウンしたときに自動的にアクティブ化する方法:
- Windows サービス
- スケジュールされたタスク
答え1
これは典型的なフェールオーバー クラスタリング シナリオなので、この方法を採用すべきですが、すべてのアプリケーションが MSCS をサポートしているわけではないことは承知しています。
私が思いつく唯一の解決策は、バックアップ サーバーで実行される「コントローラー」サービスです。このサービスは、メイン サーバーを定期的にポーリングし、しばらく応答がない場合はすべてを開始します。
しかし、これは実際よりも単純に見え、私は「冗長」ソフトウェア(非常に高価なものも含む)がこれを試して惨めに失敗するのを見たことがあります。
答え2
Windows Server Enterprise または Datacenter を使用している場合は、クラスターをインストールして、クラスター化されたリソースとしてサービスを構成できます。アクティブ ノードがダウンした場合、サービスは非アクティブ ノードで開始されます。
私の経験とヘルプ ファイルを読んだ限りでは、スケジュールされたタスクはクラスター化できるものではないようです。サードパーティのエンタープライズ レベルのスケジュールおよび BPA (ビジネス プロセス自動化) パッケージがあり、障害を処理して他のノードのジョブを再スケジュールできます。また、スケジュールされたタスク内に、ノードに障害が発生したかどうかを判断できる何らかの通信を実装し、残りのノードでジョブの実行を開始することもできます。
Windows Cluster Services には他にも多くの要件があるため、必ずしも最適なソリューションではない可能性があります。希望する最終状態についてより詳しい説明がなければ、現時点ではこれがすべてです。