サーバとは
サーバとは、クライアントからのリクエストに対して何かしらのサービスを提供するコンピュータやシステムのことである。
主なサーバ
サーバの代表的なものには、Webサーバがあげられる。これは、各PCのブラウザがクライアントとなり、Webサーバに通信して、サービス(Webページ)を結果として受け取り、ブラウザが表示するというサーバ/クライアントモデルの代表的なものである。同じようにコンピュータからのリクエストを処理するサーバには、データベースサーバ、メールサーバ、ファイルサーバ、DNSサーバ、FTPサーバなどがある。
サーバのハードウェア
サーバは、主に多数のクライアントからのリクエストを処理するサービスを行う。一般的には高性能なハードウェアを利用する。CPUやメモリだけではなく、電源が冗長化されていたり、ハードディスクでRAIDを組み、データ保全を図れるものを利用することが多い。
サーバの運用
サーバは、主に多数のクライアントからのリクエストに応答するサービスを行う。こういったサービスの代表的なもので、WWW検索、SNS、ショッピング、ゲーム、動画配信、ネットバンク、ネットワークストレージなど無料、有料のコンテンツが多数存在している。こういったサービスは、多数の人が利用し、停止できないサービスである場合が多い。インターネットサービスだけではなく、社内で利用しているサーバでも、メールサーバやワークフロー、グループウェアなどは、故障などで停止すると業務が止まってしまう可能性がある。
こういったサーバは、故障などの障害に対して強い設計にし、サービス稼働率を高めることが重要である。同時にストレスなく快適に使えるようにしていくことも求められる。
サービスの種類によっては、1台のサーバでは処理が間に合わないケースも存在し、その場合には、同等の機能をもったサーバを複数台用意して負荷分散を行う場合がある。
また、常にサービス提供を求められるようなサービスを提供するサーバでは、冗長化をしてハードウェア故障などが発生しても運用を継続できるような構成にする場合がある。
VMWareと耐障害性
VMWareなどの仮想環境でサーバを構築し、障害発生時はVMの機能による再起動などに期待することがあるが、OSの停止などではうまくいく可能性があるものの、Apacheなどのサービスが停止したことを監視できないため、再起動は行われない。これでは不完全であるため、仮想環境であっても従来の冗長化手法やサービス監視の仕組みは必要である。
Linuxでのサーバ技術を支える実装
Linuxでは、サーバの運用に不可欠な様々な機能がOSSで提供されている。負荷分散のための技術としてLVSがある。また、冗長化の技術として、PacemakerやHeartbeat、ストレージのミラーリング技術としてDRBDがある。こういったものを活用すれば、Linuxのみでロードバランサや冗長化されたファイルサーバを構築できる。
また、ミドルウェアであるデータベースについても、postgreSQLではマスタースレーブ構成が9.0以降で取れるようになったほか、pgpoolとの組み合わせでのデータの保全や、古いpostgreSQLではSlony-Iなどでのレプリケーションができる。MySQLでもMySQLクラスタでの冗長構成が可能である。
デージーネットでの提案
デージーネットでは、DRBD上にデータベースを構成する提案をすることがある。特徴としては、DBの構成はマスターだけでシンプルであり、開発するアプリケーションは単純化することが可能である。
【カテゴリ】:ネットワーク  
【Webセミナー】Rocket.Chatだけじゃない!OSSビジネスチャットの最新情報
日程: | 12月19日(木)Webセミナー「BigBlueButton」を使用します。 |
内容: | Rocket.Chatの機能制限でお困りの方も必見!ライセンスフリーで利用できるOSSのビジネスチャットを紹介します。 |
ご興味のあるかたはぜひご参加ください。 |