![低負荷時にクラスター ノードをシャットダウン (電源オフ) するにはどうすればよいですか?](https://rvso.com/image/488044/%E4%BD%8E%E8%B2%A0%E8%8D%B7%E6%99%82%E3%81%AB%E3%82%AF%E3%83%A9%E3%82%B9%E3%82%BF%E3%83%BC%20%E3%83%8E%E3%83%BC%E3%83%89%E3%82%92%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%20(%E9%9B%BB%E6%BA%90%E3%82%AA%E3%83%95)%20%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
私はエネルギー コンサルティング ビジネス用のソフトウェアを開発しており、データセンターのエネルギー使用を監視する中で、データセンターの典型的な電気負荷「パターン」は、すべての機器が 24 時間 365 日稼働しているため、単なる平坦な線であることに気付きました。これを実際の使用パターン (ネットワーク負荷、CPU 使用率など) と比較すると (私たちが行ったように)、使用量は少ないものの、フル容量が利用できる長い期間が定期的に発生します。
これらのパターンは多くの場合非常に予測可能であり、エネルギーを節約するためには、機器の一部(サーバー、スイッチ、ストレージ)を定期的に、または低負荷状態でオフにするのがよいでしょう。ただし、検討する必要があるいくつかの側面が考えられます。
- ピーク負荷や突然の急増への対応
- ノード間のデータの一貫性
- ノードの平均稼働時間と比較して起動時間(および場合によっては同期時間)が長い
他にもあるかもしれません。このようなシナリオを処理するソフトウェアはありますか? また、他に注意すべきことは何ですか? これは実行可能な提案でしょうか?
私の目的にとって、クラスタは必ずしも OS レベルでマシンをクラスタ化することを意味するわけではなく、ロード バランサ経由でリクエストを受信する同一のホスト (つまり、アプリケーション レベルのクラスタリング) もカウントされます。MySQL クラスタや類似のものがどのように機能するかはわかりませんが、おそらくそれらもカウントされるでしょう。
あらゆるオペレーティング システムに関するアドバイスを求めています。
こちらもご覧くださいエネルギー効率に関する投稿この質問を持ち出した Stack Overflow で。
答え1
力
使用スイッチPDUこれにより、帯域外でサーバーやスイッチのオン/オフを切り替えることができます。これは OS やデバイスに依存しないため、電源のオン/オフを切り替える構成とロジックが大幅に簡素化されます。すべてのサーバーにネットワーク対応の IPMI インターフェイスがある場合は、代わりにそれらを使用できます。Wake-on-LAN などの高レベルの機能を使用して電源のオン/オフを切り替えることはお勧めしません。
電源オン/オフロジック
これにはさまざまな形態があります。クラスタリングソフトウェア(モアブ) には、この問題に対する解決策が組み込まれています。それ以外の場合は、次の疑似コードを使用してスクリプトを作成することもできます。
- クラスタ全体の負荷を確認する
- クラスタ負荷が閾値1を超える場合は、一部のノードをオンにする
- クラスタ負荷が閾値2未満の場合、一部のノードをオフにする
これを cron に入れて 30 分ごとに実行するようにします。
クラスタリング ソフトウェア スタック
当然ながら、クラスタリング ソフトウェア スタックが、これらのデバイスの常時起動と停止に対応できることを確認する必要があります。ここでは、多くのテストを行い、わかりにくいタイミングの問題 (起動に時間がかかる) や、使用する電源のオン/オフ ロジックで発生する競合状態を考慮してください。
答え2
ヴイエムウェア
同社のエンタープライズ製品の最新バージョンである VSphere 4 では、仮想マシンをリアルタイムで分散させることにより、容量を満たすために必要のないホストの電源をオフにし、必要なときに起動することができます。これを、仮想化プラットフォーム上でハードウェアを統合することで得られる電力/エネルギーの節約と組み合わせると、大幅な電力節約を実現できます。
答え3
これは今日Planet Ubuntuで言及されました。投稿はここクラウド上でオンデマンドでマシンの電源をオン/オフする実用的なソリューションの開発について説明します。パワーナップ。
答え4
そうですね、サーバーの場合は、SHUTDOWN.EXE コマンドを使用して Windows ボックスをリモートでシャットダウンできます。同じことは、telnet/ssh スクリプトを使用して Unix でも簡単に実行できます。
より大きな問題は、どうやって再び起動するかです。ウェイクオンLANまたはそれに類似するもの。
これを実行する上で難しいのは、シャットダウンするマシンが実際に重要な処理を実行していないかどうかを確認することです。たとえば、どこに配置すべきか誰も確信が持てなかった cron ジョブを、クラスター化された Web サーバーの 1 つに配置したとします。そのマシンをシャットダウンすると、ジョブは本来どおりには実行されなくなります。
ただし、環境が厳密に制御され、各マシンが何をしているかを正確に把握している場合は、非常に意味があります。