利用者:Vanilla.ice
サーバあるいはサーバー(英:Server)とは、クライアントからの要求(リクエスト)に対して、何らかのサービスを提供するシステムのことであり、コンピュータネットワークにおける、分散処理の片側である。
「ソフトウェアとしてのサーバ」、「ハードウェアとしてのサーバ」、及び、これら両方をあわせた「システムとしてのサーバ」がある。
「ソフトウェアのサーバ」は、サーバ機能を持ったソフトウェアの総称だが、独自開発の他、用途に応じ各種のソフトウェア・パッケージが存在する。ただし、サーバとクライアントは必ずしも違うコンピュータにあるとは限らず、同一のコンピュータにサーバプロセス(機能)とクライアントプロセス(機能)が稼動することもある。
「ハードウェアのサーバ」は、サーバ機能を搭載できるコンピュータの総称だが、実際には専用ハードウェア機器もあり、また主にUNIXやWindowsを搭載した、業務用の高性能・高信頼性のコンピュータを総称している場合が多い。
なおサーバとサーバーの表記揺れに関しては#名称についても参照。
概要
[編集]サーバ(サーバー)とは、本来はソフトウェアまたはコンピュータ間の役割分担の片側の名称である。
クライアント側(ソフトウェアまたはコンピュータ)からの要求(リクエスト)を受けて、何らかのサービスを提供する側(ソフトウェアまたはコンピュータ)がサーバである。
何らかのサービスとは、ファイルサーバのように保管している情報を提供するもの、プリンタサーバのようにプリンタへの印刷経路やスプール機能を提供するもの、インターネット販売のように在庫管理や配送手配や代金引き落としなど(提携している別会社を含め)他のシステムと連携するものなど、さまざまである。
古典的なメインフレーム(汎用機)やオフィスコンピュータに代表される集中処理では、処理の大半は中央の「ホスト」側で行われ、「端末」(ターミナル)側では最低限の画面制御(入力チェック、描画等)しか担当しなかった。
1990年台より、ワークステーションやパーソナルコンピュータの性能向上・低価格化に伴い、分散処理の一形態として、処理の多くを「クライアント」で行い、「サーバはクライアントからの要求を処理する(のみ)」という役割分担が広く普及した。クライアントサーバモデル全盛期には「集中処理は時代遅れであり、今後は全てクライアントサーバになる」との論調が多かったが、クライアント側の運用管理(バージョン管理、トラブル対応、容量管理、バックアップなど)の手間・コストの増大と、2000年台にはインターネットの普及による集中処理の再評価が発生した。
ソフトウェアおよびコンピュータとしてのサーバーは、集中処理における各種サーバ機能側(クライアントはブラウザ程度)も兼ねて、今後も進化していくと思われる。
ソフトウェアとしてのサーバ
[編集]クライアントサーバモデル
[編集]サーバ(情報提供者)とは、クライアント(情報利用者)と対で使用される名称である。
複数のコンピュータがネットワーク接続された環境、すなわちコンピュータネットワーク上で、各々のコンピュータが同じ内容の情報資源(データ)を参照したいことがある。このような場合、そのデータを各コンピュータにコピーしていては、記憶領域や保守などの面で多大な無駄が生じる。
クライアント・サーバ・モデルはこれを解決する手段で、特定のコンピュータ(サーバ)が情報やその処理作業を集中的に管理することで、ネットワーク全体での記憶領域を最小限にとどめると共に、共有される情報の同期等の手間を省き、情報伝達や保守の効率を高めるものである。他のコンピュータはクライアントとして稼動し、必要に応じてサーバーからサービスを受けとる。
クライアント・サーバ・モデルは、コンピュータを単位としたものだけではなく、アプリケーションやプロセスを単位として捉えられることもある。
クライアント・サーバ・モデル/型/システム/コンピューティングなどとも言う。
ホスト・ターミナルシステムとクライアント・サーバシステムの違いについてはクライアントの項目を参照。
サーバアプリケーション
[編集]サーバには、クライアントに提供するサービスにより様々な種類があり、必要に応じてネットワーク上に複数のサーバを設置し組み合わせて使用する。例えばWebサービスとメールサービスのサーバアプリケーションを1台で同時に実行して、ウェブサーバとメールサーバを兼ねることもできるが、負荷や管理(ライセンス、セキュリティ、障害対策、起動停止運用)などの都合から1台ずつのサーバに分けて運用することもある。
また、同じサーバアプリケーションを複数台のサーバで実行しながら負荷を分散し、耐障害性を向上させることができる(スケールアウト)。
ウェブサーバなどで、アクセスが集中して負荷が増大することにより、処理が追いつかなくなって見かけ上サーバが機能を停止したようになる、いわゆる「飛ぶ」あるいは「クラッシュする」状態に陥ることがある。また「飛ぶ」まではいかなくても、極端に転送量が小さくなって、ウェブサイトのページを開くにもとても長い時間がかかることがある。
オンラインゲームなどでは膨大な量のデータやユーザーによるトラフィックのため、常にサーバはクラッシュの危機にさらされている。さらにイベント時期やパッチファイル配布のタイミングには天文学的な量のデータの転送があるため、特にクラッシュしやすい。このような事例を避けるため、有名なオンラインゲームでは多数のサーバを共通のソフトウエア構成にして運用し、1台当たりにかかる負荷を分散している。
現在の一般的なパソコン用OS(Windows XPやMacintoshなど)では、上記サーバー機能をOSの機能の一つとして持っているため、サーバ的な利用を行なうことが出来る。
サーバ用ソフトウェアの特徴
[編集]サーバー用途として提供されているソフトウェアでは、個人が利用するソフトウェアと比べ下記のような特徴がある。
- アカウントコントロール - 利用者と利用者ごとの権限の設定を行なうことが出来る。
- 同時アクセス - 単一の情報に対して、複数のユーザーが同時にアクセスすることを前提としている。
- セキュリティー - 多数のユーザーに解放されるため、クライアント向け製品と比べ強固である。
- 安定性 - 電源を切ることなく連続で動き続けるために、安定度が高い。
サーバ用OSの例
[編集]主に開発元からサーバ用として発売・配布されているOSには下記のようなものがある
サーバ機能を提供するソフトウェアの例
[編集]主に開発元からサーバ機能を提供するとして販売・配布されているソフトウェアには下記のようなものがある
- データベースサーバ:データベース処理
- トランザクションサーバ:トランザクション処理
- アプリケーションサーバ:アプリケーション処理(特にJavaアプリケーションサーバ)
- Webサーバ(HTTPサーバ):Webアプリケーション処理(Apacheなど)
- メールサーバ:メールサービス(Sendmailなど)
- FTPサーバ:ファイル転送
- ファイルサーバ:ファイル共有
- プリンタサーバ:プリンタ共有
- DNSサーバ、DHCPサーバ、プロキシーサーバ
これらソフトウェアは、1台のコンピュータに複数搭載する事もあり、またクライアント・コンピュータ内に搭載することもある(専用端末内の特定業務用データベース、家庭のPCでのプリンタサーバー兼用など)。
ハードウェアとしてのサーバ
[編集]種類
[編集]コンピュータ(ハードウェア)としてのサーバには、大型サーバから小型まで多種多様の物が存在する。主にハードウェアで重視されるのは、耐障害性、処理能力、拡張性などであり、この点、低コスト重視の個人向けパソコンとは大きく異なる。
主な種類には以下がある。
- Windowsサーバ(x86サーバ、IAサーバ)
- UNIXサーバ(Linuxサーバ、Mac OS X)
- メインフレームサーバ、ミッドレンジサーバ(後述のように「サーバ」とは呼ばない場合も多い)
- 専用機器(アプライアンスなど)
一般的には、これらサーバは以下の特徴がある。
- 多数のクライアントからの処理を確実に実行するため、高性能・高信頼性・高価格である
- サーバー用OS(WindowsならばWindows Server)をメーカーが正式サポートしている
- サーバーに求められる高速・大容量の周辺機器(SANなど)をメーカーが正式サポートしている
なおサーバとして販売されているコンピュータが、実際にソフトウェアとしてのサーバ機能を搭載する(役割分担としてサーバ側となる)かどうかは別問題であり、実際には「業務用の高性能コンピュータ」を総称して「サーバ」と呼んでいる場合が多い。逆にソフトウェアとしてのサーバ機能を搭載する場合でも、用途(規模、信頼性など)次第では、一般的で低価格なパーソナルコンピュータや専用機器(アプライアンス)で十分な場合もある。
なおサーバという呼称はオープンシステムと同時期に広まったため、オープン系(UNIX、Linux、Windowsサーバ)のみを指す場合が多い。(ただしメインフレームであれ、DBサーバやWebサーバなどを搭載し、高性能・高信頼性で、サーバとして機能できるコンピュータならば、サーバと呼ぶことはできる。)
個人向けコンピュータと比較した場合の主な相違点
[編集]- 安定性重視 - 設計は安定性を重視して行われ、特別に試験をして合格したものを使用する事が多い。ハードディスクは、新品ではなく中古で検査確認されたものを使用することもある。また、その性質上、継続的に仕事がこなせないと意味がなく、瞬間最大性能はあまり問われない。そのため、それ自体が技術開発も兼ねたシステム、例えばスーパーコンピュータのような例外を除けば、アーキテクチャ的に最新の技術を追求することはあまりなく、個人向け最新PCより安定稼動が確認された1世代前の技術を使う事が多い。
- 稼働性を重視 - ハードディスク、電源装置やネットワークカードといった、他の部品と比べて故障が発生しやすい装置を複数台搭載しておくことで、ひとつが故障しても稼動し続けるよう冗長化されている。また、電源を入れたままで故障した部品を交換出来るようになっている事が多い。
- 運用性が良い - 複数のサーバーを同時に運用することが多いため、サーバーの故障や利用頻度などを集中管理できる仕組みが備わっている場合がある。(例: HPインサイトマネージャ)
- 稼働中の騒音が大きい - 安定性のために冷却が重視され、高速で多数のファンを稼動させている場合が多い。通常、作業者のそばに置かれることが少ないため、個人向けパソコンと比べて、静音対策はあまり行なわれていない。
- グラフィックス機能が貧弱 - 最初のOSインストール時以外は直接画面を見て操作することは少ないため、グラフィックス性能は廉価な場合が多い。リモートインストールを前提とする場合、そもそもグラフィック機能がない場合もある。
- 集中収納 - タワー型とラック型とよれる筐体の形があり、ラック型では、複数のサーバーをひとつのラックに収納しやすいようになっている。
- 保守が容易 - 保守性を上げるため、多くの部分が簡単に交換出来るように設計されている。また、どのような部品が使用されているか記録したり資料が用意されていたり、保守用部品も長期用意されている。
用途・設計方式による違い
[編集]- エンタープライズサーバ
- 搭載される主なOSはUNIX、Linux、またはWindowsである。エンタープライズサーバでも特に無停止をうたう最上級のハイエンド製品には、VOS、HP Nonstop Kernel、HP Nonstop-Ux、Micsrosoft Windows Data Center Server (Windowsのデータセンター向けエディション)と呼ばれる一般になじみのないOSが搭載されている。
- 主要基板、CPUはサーバ専用の物を使用する。また、その要求される処理能力に応じてCPUを二重化、四重化など拡張できる物が多い。
- ハードディスクはデータの耐障害性を優先させRAID化されている物が殆ど。また、ハードディスクにはホットスワップ機能を盛り込んだ製品も多い。
- 大規模なデータを取り扱うシステムに多く用いられる。特に無停止の機構を厳重にしたものはフォールトトレラントコンピュータと呼ばれ、鉄道の座席予約システム、金融機関、携帯電話の中継局のようなインフラの主要箇所などに設置される。コンビニなどのバックヤードシステム、スーパーコンピュータの入出力系など、インフラに直接影響のない用途の耐障害性の要求は、それらに比べると多少緩和される傾向にある。
- PCサーバ
- 搭載される主なOSはLinux、FreeBSD、Intel版SolarisなどのPC-UNIX、またはWindowsである。
- 筐体や主要基板は専用設計されるが、CPUはパーソナルコンピュータと同一または、互換性のある物を使用する(x86)。
- 多くのメーカーは「IAサーバ」「x86サーバ」の名前で販売しており、インターネット上でのWebサービスや、社内部門向けサービス(ファイル共有やプリンタ共有)を展開する場合によく利用される。
- エンタープライズ用途でも利用されるようになりつつあり、インターネットでの大規模システムや科学技術計算システムなども利用されることがある。
- GoogleはこのPCサーバを1万台以上も繋いでシステムを構築している。
筐体の形状による違い
[編集]- タワー型(ペディスタル型)
- 床置きするタイプのサーバであり、タワー型PCと同様な形。大きさはPC/AT互換機のミニタワーサイズから冷蔵庫大サイズまで様々。
- ラックマウント型
- 一般的にはラックサーバと呼ばれるサーバ。インターネットデータセンター等に設置されているサーバ用のラック(19インチラック)にマウントするのに適した形状のサーバ。詳しくはラックマウント型サーバを参照。
- ブレード型
- シャーシと呼ばれる筐体にブレードと呼ばれる薄いサーバを複数差し込む形態のサーバ。詳しくはブレードサーバを参照。
名称について
[編集]現在の日本国内においては「サーバ」と「サーバー」は表記揺れが発生している。
参考に日本国内においてシステムを提供するメーカー、システムインテグレータ等は、ホームページにおいて下記のような呼称を用いている。一社内でも混在している例が多くみられる。
関連項目
[編集]- クライアントサーバモデル
- データセンタ
- ホスティングサーバ(もしくはレンタルサーバ)
- ウェブサーバ
- ファイルサーバ
- ブレードサーバ
- データベースサーバ
- バーチャル・プライベート・サーバ
- 自宅サーバ