Downtime
ダウンタイムとは、システムを利用できない期間のことです。これは、あらゆるコンピューターやネットワークに当てはまりますが、一般的にはサーバーについて使われます。特に、Webサーバーの信頼性は、ダウンタイムを基準に測定されることが多く、ダウンタイムがほとんどない、またはまったくない状態が理想です。
サーバーでダウンタイムが発生する理由はいくつかあります。
- サーバーの再起動 - サーバーを再起動すると、システムをシャットダウンして再起動し、受信したリクエストに応答するために必要なプロセスを再開する必要があるため、数分間のダウンタイムが発生することがあります。
- ソフトウェアの再起動 - Webサーバー上のApacheなどのプロセスを再起動すると、プロセスの再起動中に数秒間のダウンタイムが発生することがあります。
- ネットワークからの切断 - サーバーがネットワークから物理的に切断されると、ネットワーク上のシステムからそのサーバーに接続できなくなります。
- ネットワーク障害 - サーバーとクライアントの間にあるネットワークの一部(インターネットを含む)が機能していない場合、クライアントはサーバーと通信できません。
- トラフィックの過負荷 - サーバーが処理できる量を超えるトラフィックを受信すると、すべてのリクエストに応答できなくなります。トラフィックが減少するまで、ユーザーにダウンタイムが発生することがあります。これは、トラフィックの急増やDDoS攻撃によって起こる場合があります。
- ハードウェア障害 - HDDやSSDなど、重要なハードウェアコンポーネントが故障すると、サーバーが機能を停止することがあります。
- ソフトウェア障害 - サーバー上のプロセスhttpd((HTTP)サービスなど)が停止すると、プロセスが再起動されるまで、サーバーはリクエストに応答しなくなります。
- 停電 - 電力が停止し、バックアップ電源発電機や(UPSなど)が利用できない場合、影響を受けたシステムは電力が復旧するまでオフラインになります。
- ハッカーによる攻撃 - ハッカーがサーバーを制御すると、必要なサービスへのアクセスを妨げ、サーバーが応答を停止することがあります。
ダウンタイムを最小限に抑えるには、サーバー管理者が強固なセキュリティ対策と冗長化を実装する必要があります。ネットワークセキュリティは、不正なログインやDDoS攻撃などの悪意ある活動から保護するのに役立ちます。RAIDストレージシステムやバックアップ用の発電機などの冗長化は、ハードウェア障害によるダウンタイムの防止に役立ちます。場合によっては、複数のサーバーを設定し、プライマリサーバーに障害が発生したときにセカンダリサーバーが引き継げるようにすることもあります。
サーバー管理者はダウンタイムをできるだけ減らそうとしますが、ダウンタイムを避けられない場合もあります。たとえば、サーバーを移行するときには、数分間、場合によっては数時間のダウンタイムが必要になることがあります。このような「計画されたダウンタイム」は通常、トラフィックが最も少ない早朝や週末の時間帯に予定されます。
知識をテストする