システムはなぜダウンするのか
https://images-na.ssl-images-amazon.com/images/I/51yv-ajt3QL._SX353_BO1,204,203,200_.jpg
---
システムダウンの事例を元にして、システムがダウンするメカニズムとそれを防ぐ手段について簡素にまとめてある。
ソフトウェアの不具合の話、冗長化など構成の話、トランザクションの話、テストの話、実運用の話など、システム運用に関するいろんなことが一通り網羅されているので、システム運用とダウンについて概要を掴むのによかった。
RAIDとかスイッチとか、冗長化、みたいなよく聞くキーワードを改めて確認できたのがよかった
スタンバイの方式がわかりやすくまとまっていた
システムダウンに繋がる故障点について様々な事例を参照しながら網羅できたのがよかった
ダウンの原因の分類
ソフトウェアの不具合
アプリケーション・ソフトの不具合
OSやミドルウェアなどの不具合
性能・容量不足
ハードウェアやソフトウェア、ネットワーク性能や容量の不足
設定・操作ミス
システム環境の設定・変更ミス
運用・操作のミス
不慮の事故
ハード故障、電源断、被災
日付問題
桁あふれによる日付の巻もどり→2001年9月9日問題
UNIX系OSでは、1970年1月1日0時0分0秒からの経過秒数を数えているため、UNIXタイムのカウンタに32ビット(=4バイト)の符号付き整数を使っている場合、2038年1月19日午後0時14分8秒で先頭ビットが立つので、マイナスになるかも?
データベースのデッドロック
トランザクション処理プログラム上で更新ロックにより排他制御を行っている
2つのトランザクション処理のロック順序の逆転などによりロックし続ける状態が発生=デッドロック
ACID特性
Atomicity=原子性
Consistency=一貫性
Isolation=独立性
Durabillity=耐久性
ミドルウェアの役割
データの蓄積
トランザクション処理の制御
異常時のサーバーの切り替え
システム動作状況の監視
エラー処理の制御
アプリケーション・ソフトの命令をOSに伝達
冗長化構成の話
負荷分散クラスタ
いわゆるロードバランサ
https://gyazo.com/6bcd5af2dde24e77f6968bb245bd928e
デュプレックス構成
ホットスタンバイ(HAクラスタ)
本番系の故障時に待機系はアプリケーション・ソフトを起動した状態で待機しておりすぐに処理を引き継ぐ
コールドスタンバイ
本番系の故障時に待機系はOSから起動する。普段は開発環境として使ったり、複数の本番系で共用にしていたりすることが多い
ウォームスタンバイ
待機系はOSだけ起動した状態で、本番系の故障時にアプリケーション・ソフトを起動して処理を引き継ぐ
本番系から待機系に処理を引き継ぐことをフェイルオーバーという。正常にフェイルオーバーするために、ダイイング・メッセージを検知したり、ハート・ビートを監視したりする仕組みがある。
デュアル構成
2台が同じ処理を重複して実行し、同じ状態を常に保つ
メモリ・リーク
メモリは、コンピュータが演算するときに一時的にデータを保存する領域
この領域が不足するとコンピュータは演算ができない、つまり動かなくなってしまう
ソフトウェアは通常、メモリの領域を確保して処理を開始し、終了したらメモリを開放するようになっている
しかし使い終わったメモリ領域を開放せずに使用中のままにしてしまうメモリの解放漏れが続くと、メモリの使える領域が少なくなってくる。これがメモリ・リーク
パラメータ設定
Apacheの設定ファイルの、max_clientなどまさにこれ
ハードウェアの性能とソフトウェアに割り当てる資源の塩梅は耐負荷性能に大きく関わる
経験も必要そう…