質問

複数のチームで仕事をしているうちに、毎週サーバーを再起動するというポリシーを制定した複数のインフラストラクチャマネージャーに会いました。開発者として、私は常にポリシーに反対でした-これは、ソフトウェアのバグとハードウェアの不安定性を修正するのではなく、回避するハックのようです。

政策に関する人々の意見、肯定的および否定的な点は何ですか?

役に立ちましたか?

解決

サーバーをときどき再起動すると、確実にサーバーが再起動します。毎週のように深刻なやり過ぎのように聞こえますが、稼働時間が長いLinuxマシンでこの問題が発生しています。

誰かが、起動時に自動的に開始するように重要なサービスをセットアップすることに煩わされませんでした。または、サービスの順序が間違っています。または、誰かがライブラリをアップグレードしたり、ソフトウェアを追加/削除したりして、実行可能ファイルが機能しなくなった(古いライブラリで起動され、それらを使用し続けた;今では動的リンカエラーが発生する)。または、サービスAはサービスBに依存し、サービスBはサービスAに依存します(oops)。

ある時点で、最低したいときに、再起動します。コロはあなたの力を落とします。サーバーの電源が故障します。誰かがコードを引っ張ったり、間違ったサーバーのリセットボタンを押したりします。これで、ダウンタイムを最小限に抑えることができる場合、血まみれのサーバーは復旧しません。

ソフトウェアと同様に、システム構成のテストが必要です。このテストを行う必要がある頻度は、ボックスの管理方法によって異なります。

他のヒント

これは愚かなポリシーです。

理由は次のとおりです。

  • サーバーを毎週再起動する必要がある場合(および何らかの形でインフラストラクチャの安定性が向上する場合)、サーバーまたはそのソフトウェアの実際の問題を隠蔽します。メモリリーク?悪いドライバーですか?これらの問題の解決策は、それらを遅延ポリシーでカバーするのではなく、修正することです。

  • 多くの場合、少なくともWindowsの世界では、更新のためにサーバーが再起動されます。とにかく、重要なカーネル更新のリブートが発生します。

  • データベースサーバーは、RAMに多くの情報をキャッシュします。サーバーを再起動すると、このキャッシュは空になり、非常に低温になります。典型的な使用パターンがあると仮定すると、コールドで空のキャッシュは、ユーザーが再起動後にクエリを試みるときにパフォーマンスが低下します。また、ディスクへのアクセスが必要になる可能性があるため、バックアップなどのいくつかの種類のメンテナンスを実行するのに必要な時間を 増やす可能性があります。

  • サーバーがダウンします!サーバーがゼロ以外の期間オフになっているため、バックアップなどのメンテナンスウィンドウが短くなります。また、システムのアーキテクチャによっては、ダウンタイムが発生することをユーザーに伝える必要が生じる場合があります。

  • アラートのための何らかの通知システムがある場合、ダウンタイムウィンドウを無視するように構成する必要があります。これにより、サーバーの再起動時に発生する問題を隠すことができ、サーバーで行う必要がある構成の量が増えます。

とはいえ、再起動は、必ずしも完全に制御できないリソースの最後の手段として有益な場合があります(古いベンダー製のソフトウェア、ベンダーによって明示的に規定されている「ブラックボックス」デバイスなど)。 。)。ただし、これは、素朴な包括的ポリシーではなく、ケースバイケースで処理する必要があります。

古いスレッドのダスティングに対する謝罪。

誰もがポイントを逃していると思います、特に頑固な「リブート?」コモドールを売りたい!」 Nix管理者。

ポイントは、毎週のウィンドウをスケジュールする必要があるということです。使用しなければならないという意味ではありません。実際、使用するのは避けなければならないので、実際には朝の見捨てられた時間に使用するほうが好みです。

ただし、存在する場合は使用できます。

個人的には、四半期ごとの再起動は非常に良い考えだと思います-それは問題(ハードウェアとソフトウェア)に注意を喚起することができ、他のポスターが指摘した最も前向きな考えとして、スムーズを妨げる変更を認識します再起動後にのみ明らかになるスタートアップ。 4時間の停電の後、さらに2時間かけて箱を持ち上げるような状況が発生するのではなく、非常に恥ずかしくなります。...

その他の利点もあります。

  • 再起動に使用される管理を取得し、実際に再起動が必要な場合(物理的に移動する場合など)に自信があります。ボックスを一度もリブートしないと、マネージャーは4年後にダウンタイムなしでリブートする必要があると言って、かなり神経質になります。

  • あなたはリブートに慣れて、オフラインのときに何がうまくいかないかを知っています。

  • 再起動にかかる時間はわかっているので、再起動して通常より10分長くかかると、ログにすぐにアクセスできます。

  • 明日バスに倒れた場合、リブートが行われたときに何が起こるかについての最新(4年前ではない)のドキュメントがあります(あなたが素晴らしい管理者であり、書き留めている場合)

  • 四半期ごとに30分間の再起動は、稼働率99.9%のSLAに収まります。

  • 最後に、ことわざのクモの巣を取り除きます。

定期的な再起動に対していくつかのポイントに答えるには..

  • 悪いドライバ\メモリリークなどをカバーすることに関するものは陽気です。サーバーを再起動しない限り、メモリリーク\不良ドライバーであることをどのように確認しますか?それだけでなく、計画的なダウンタイムでそれを修正できなかった場合はどうなりますか?毎週スケジュールされたウィンドウがある場合、それは問題ありません!来週もう一度お試しください。...

  • 通知システム-計画されたウィンドウがある場合、計画された例外を設定できます。ソフトウェア\スクリプトがこれを実行しない場合、最新のソフトウェア\スクリプトの改善をお勧めします。

  • 「計画された例外ウィンドウ中に発生する可能性がある」問題を隠す、計画された例外ウィンドウについては、ただ笑ってしまいます。他のサーバーの統計情報を確認すると、この問題がすぐに表示されます。

もちろん、包括的なポリシーは推奨されません。例外の基準(たとえば、特定のサイズを超えるディスク容量など)が必要です

とはいえ、一番下の行は、サーバーを再起動する必要がないという理由だけで、再起動するべきではないと考えるのは信じられないほど単純です...

編集:

これを十分に明確にしたかどうかはわかりませんが、問題を塗りつぶすために再起動を使用すべきではありません。このウィンドウは、「それと一緒に生きる」のではなく、問題を解決しようと繰り返し試行するように、毎週する必要があります。

サーバー上の問題に対処する方法としてのリブートは、システム管理者にとって不十分です。何も学ばず、人々の貴重な時間を無駄にし、(当然)経営者のあなたの意見を低下させます。

私のポイントは

  • 受け入れられた、スケジュールされた、毎週のメンテナンスウィンドウが設定されていない場合、問題を確実に解決することは困難です。
  • 毎週のウィンドウを使用すると、物事を適切に整理する継続的な機会が得られ、多くの異なるサーバーで半ダースのジェリーリギングの回避策がある状況を回避できます。

自分の質問に答える:ポリシーから得られる利点の1つは、サーバークラスターに適用され、プロセスがノード間でフェールオーバーされることです。そうすることで、すべてのノードが常に正しいソフトウェアのインストールについてテストされます。

私たちのサーバーはすべて仕事中のLinuxサーバーであり、再起動することも問題もありません。私はそれがせいぜいハックであることに同意します。また、Windowsの問題をサポートする際にいつも人々がいつも使っていた最初の対応と関係があると思います:"コンピューターを再起動しましたか?

これがなぜ有益なのかについて、奇妙な状態に陥ったり、再起動によって解決されるメモリリークが発生したりするアプリケーションがあるかもしれません。

私にとって大きなマイナスは、サーバーのダウンタイムを毎週スケジュールする必要があることです。問題ではないものもあれば、大きな問題であるものもあります。

明らかに、問題の原因をタイムリーに修正できない場合は、回避する必要があります。修正するために再起動をスケジュールすることは、それが機能する場合にビジネスを節約する簡単な方法です。

確かに、それは精神的に痛いので、必要ではありません。特に問題のあるソフトウェアを管理している場合や、プロデューサーを修正または単純にビリヤードする立場にある場合は、そのようなソリューションに取り組むのが最善です交換してください。しかしそうでない場合..?

Citrixファーム内のサーバーに対して実行したことを覚えています。最終的には、ユーザーがログオフするのを待っている半分複雑なスクリプトで毎晩再起動され、特定のサーバーへのログインをロックしてから無料のサーバーを再起動しました。その理由は、古い16ビット4GLクライアントアプリケーションであり、これを取り除くことができなかったため、数日間の稼働時間後に全体的なユーザーの応答性が失われました。

私は同意しますが、大部分は原因を突き止めてそれを修正するほど頭が良くないことに基づいているようです-誰もが私たちが望むほど保守に精通していないか、やる気があるわけではありません。

これは本当にハックですが、最も効率的なハックかもしれません。これは80:20タイプの問題であり、20%の努力で問題の80%を解決できます。ダウンタイムに耐えることができる場合、またはダウンタイムのコストが実際に根本的な原因を修正するよりも少ない場合、これは良い解決策です。個人的には好きではありませんが、それはきれいなソリューションではないからです。

考慮すべきもう1つの可能性は、1日24時間営業している小売店などの一部の環境では、「閉店」することです。サーバーを更新、バックアップなどができるようにするイベント

サーバーは「24時間365日」実行する必要がありますが、毎日少なくとも数分間は本当にオフラインになっています。

これにより、ストアが発生したときにまだ動作している場合でも、サーバーが毎日再起動されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top