私の経験では、このような巨大なサーバーフリートを持つ企業は、大量管理ツールの作成を検討しています。これらのツールの名前は異なりますが、本質はほぼ同じです。rootとしてsshを介してログインし、コマンドを実行して、場合によっては、何らかの終了コードや結果を取得します。
特定の状況では、これがすばやく火を消す唯一の方法です。そのような瞬間には、ツールが存在することに感謝します。
しかし、何か他のものについてのメモ。誰かがこれらのツールの1つを使用して問題を引き起こしたときに、コインの反対側に焦点を当てます。たぶん彼は、ベストプラクティス(テスト、試運転、一部の聴衆への実装、段階的な展開など)を使用する代わりに、すべてのサーバーにいくつかの変更をすばやく展開することを決定しました。おそらく私はすぐに新しいバイナリを各マシンに送信することに決めたので、それらはすべて同時にクラッシュし、実際のサイトを起動する方法がありません。
特定の種類の災害を防ぐために、ツールに追加するように依頼したことが1つあります。これは、誰かが誤って多くのマシンでコマンドを実行している特定の状況を解決するためのものです。たぶん彼はテストホストのラック(約40)を使いたかったのですが、誤って選択しましたみんな。
このようなツールを使用すると、同様のエラーが発生します。
私の要求は非常に単純です。健全性チェックとして確認を求める場合は、* Y / Nタイプを使用しないでください。代わりに、画面から番号を読み取って入力し直すように依頼してください。
次のようになります。
<pre>-- 123456 . ?
:</pre>
次に、コマンドを実行するには、「123456」を正確に入力する必要があります。
アイデアは、人が通常の入力デバイス(「目」と言いますが、スクリーンリーダーなどを使用する人もいます)を介してこの番号を認識し、脳のプログラムで処理してから、何らかの方法でコンピューターに返すことです。このようないくつかの追加の手順は、巨大なレッグガンで足全体を撃ち落とす前に、人が停止するのに十分な灰色の物質を活性化するはずです。
もちろん、このような状況に頻繁に遭遇し、本当に多くのマシンを使用する必要がある場合は、図をコピーして貼り付けるだけです。この場合、このツールを頻繁に使用するので、このツールにあまり依存しないようにアクションのアルゴリズムを変更することを検討する必要があります。
しかし、実際の会社では、ツールの「使用をやめる」ことは簡単ではありません。このような状況では、オプションとして、単純に無意識にコピーして貼り付けることができないように、番号をスペースで分割します。
たとえば、123.456、123.456、123456など、言語の数値区切り文字の1つを使用して数値を出力します。秘訣は、これを入力として受け入れるのではなく、クライアントに区切り文字を削除して数字だけを挿入するように要求することです。
<pre>-- 123 456 . ?
: 123456
! .</pre>
私はこのテクニックが多くの場面で人々を救うのを見てきました、そしてそれが他の人を助けることを願ってここでそれを共有しています。十分に強力なものを開発している場合は、この方法でシステムを保護することを検討してください。
考えてみてください。数字が画面から飛び出し、人に飛び込み、頭の中で前後にジャンプし、コンピューターに戻ります。すべてが1つのネットワークの一部です。
レイチェル・クロール、Facebook sysadmin