よくある質問・用語集

サーバー構築のデージーネットTOP > よくある質問・用語集 > 用語集 > NFSとは

  • もっと調べる
  • どうやって使う?

NFSとは

NFSとは、LinuxなどUNIX系のOSで利用されるファイル共有システムである。NFSでは、データの実体はNFSサーバと呼ばれるファイルサーバに存在する。NFSクライアントは、NFSサーバの公開されたディレクトリをネットワーク越しにマウントする。この機能を使うと、複数のホストから同じファイルを共有することができる。

NFSのバージョンと問題点

初期のNFSの通信はUDPのみがサポートされていたが、NFSv3以降はTCPもサポートされるようになった。2012年現在、NFSプロトコルの主流はNFSv3とNFSv4である。

NFSは、ロック機構を利用するとパフォーマンスがあまりよくない、NFSクライアントのキャッシュの持ち方によって正確な情報が保証されない、などといった問題を抱えている。

NFSは通信プロトコルが規定されており、このプロトコルに準拠していれば、UNIX系以外のプラットフォームでも利用することができる。NAS(Network Attached Storage)機器はNFSサーバ機能を持つものが多い。

NFS以外のネットワークファイル共有

NFS以外のネットワークファイル共有にはApple社のMacOSなどで利用されるAFP(Apple Filing Protocol)や、Microsoft社のWindowsなどで利用できるCIFS(Common Interner File System)が代表的である。LinuxなどのUNIX系OSでは、CIFSを利用するためにSambaという互換プロトコルが実装されている。

NFSとCIFS

特にNFSとCIFSの違いについて補足すると、CIFSはファイルシステム自体を利用するためにユーザ認証(ユーザ名とパスワード)を必要とするのに対し、NFSでは利用許可したホストがファイルシステムをマウントでき、ユーザ認証という概念が存在しない。

これはそれぞれのシステムの歴史的背景による。Windowsシステムの前身であるMS-DOSはシングルユーザOSであり、ネットワーク上のファイルシステムにアクセスするためにより個人を特定するのに重きを置いていた。これに対し、UNIX系のシステムでは当初からマルチユーザ環境のOSであったことから、ネットワーク上のファイルシステムも複数ユーザが同時利用することを前提としていた。NFSサーバからファイルシステムをマウントすること自体にはユーザ認証という概念を持たず、ファイルシステム上のファイルやディレクトリにUNIXファイルシステムと同様のユーザ権限を与えるといった設計思想になっている。

このことから分かるように、NFSは運用管理や仕組みが簡明になっているため、UNIX系のOSで作られたシステムでは、Windows系のOSがファイルシステムをマウントして利用することがない場合には、NFSを利用するほうが運用管理しやすく、またオーバヘッドも少ない。Windows系のOSがネットワークファイルシステムに直接アクセスするような環境では、CIFSを利用するのが望ましい。

例えばデージーネットでは、フロントエンドにメール受信サーバやPOPサーバなど複数のサーバを備えたメールシステムでのメールボックスの共有にはNFSを利用して構築しており、また社内のファイル共有(社内の個人端末にはWindows端末やLinux端末が混在している)にはCIFSを利用している。

デージーネットのNFSに対する取り組み

デージーネットでは、負荷分散の目的で複数のサーバでシステムを構成することが多い。ロードバランサーを使って、2台以上のサーバに処理を分散する。このような場合には、データ共有をNFSを使って行なうことが多い。

NFSサーバの用途

NFSサーバでデータを共有する用途としては、メールサーバやWWWサーバのストレージが多い。また、最近ではCloudStackなどの仮想基盤のストレージとしても頻繁に用いる。

ロック処理

NFS上でのロックの扱いについては、十分に考慮する必要がある。NFSのロック機構は問題を引き起こすことが多いためである。デージーネットでは、NFSのロックは基本的に使わない前提でシステム設計を行なうことが多い。
そのため、データベースのようなロック処理が必須のアプリケーションのデータストアとしてNFSを使うことは行なっていない。

冗長化

負荷分散の目的で利用している場合、データを配置するNFSサーバが停止すると、システム全体が停止してしまう。そのため、NFSサーバを使うときには、Pacemakerなどを使ってHAクラスタとして導入することが多い。デージーネットでは、2004年からNFSクラスタを構築してきた実績があり、多くの導入の実績もある。

専用機とLinuxサーバ

デージーネットでは、専用のNFSストレージを推奨することは少ない。ほとんどの場合には、LinuxサーバでNFSストレージを作成し、適切にチューニングすることで十分な機能、性能を得ることができるからである。専用機に比べて、バックアップなどの自由度も大きく、メリットも大きい。

NFSの専用機は、特に冗長化を行なう場合にはたいへん高価である。そのため、予算の範囲内でできるだけ高速なハードウェアを選択してLinuxサーバを用意し、冗長構成を取る。この方法であれば、ほとんどの欠点を補うことができる。

【カテゴリ】:ファイルシステム  Linux関連技術  ネットワークインフラ  システム管理  

  • もっと調べる
  • どうやって使う?

関連用語

NFSに関連するページ(事例など)


デージーネット用語集のページです。「NFS」という用語と関連情報について説明します。「NFS」について情報を収集する際、サービスをご検討いただく際などに用語集ページをお役立てください。

NFSとは先頭へ