》襲
3 NFSの運用・設定
3 . 1
運用NFS
を利用するには,ファイルシステムをその組織内でどのように運用していくかを決 める必要がある.最低限として考えられるのは,各ホストで共有するバイナリファイルを 置いておくディレクトリのファイルシステムと利用者のホームディレクトリのあるファイル システムである.この二つのファイルシステムには変更の頻度という本質的な違いがある.・各ホストで共有して使用するプログラムのバイナリファイルを置いておくファイルシ ステムは頻繁には変更されない.変更があるのは 新規にプログラムのインストール を行なったり,パージョンアップやプログラムの削除を行なう時である.このため,共 有するファイルシステムを全てのホストから変更できる必要はない.つまり,ほとん
どのホストからは読出しのみができれ ~;f ..良い.
・利用者のホームディレクトリは頻繁に変更が行なわれる.例えば,文書ファイルの新 規作成や修正,削除などは代表的な変更例である.このため,全てのホストはこのファ イルシステムに対し,書込みが可能でなく.てはならない.また,書込みが終る前にネッ
トワークの不調などにより書き込みの動作を中断することは危険である.
運用を行なうには,これらの違いを考慮に入れて設定しなければならない.
本稿では,説明のために
2
台のホスト( n e n e
,mayu)を例として使用する.これらのホ ストの関係は,nene NFS
サーバmayu NFS
クライアントとなっているものとする.このシステムにおける共有ファイルシステムを,次のようにする.
1.各ホストで共通に使用するプログラムのバイナリファイルを
lusr/localに入れてお
く.また,このディレクトリに対する書き込みの権限は,NFS
サーバであるnene
に しか与えない.2 . .
利用者のホームディレクトリは,/home/
マシン名/利用者名というディレクトリに持 つ.ホームディレクトリに対する書き込みの権限は,各ホストに対して与える.3 . 2
設定NFS
の設定は,NFS
サーバの設定とNFS
クライアントの設定に分けることができる.4 3
3 . 2 . 1 NFS
サーバの設定NFS
サーバは,他のホストに対し,あるディレクトリ以下のファイルシステムを「公開( e x p o r t ) J
しなければならない.公開するための設定は,/etc/exportsで行なう.この
ファイルの形式は,公開するディレクトリ ーオプション,[オプション,…]
となっている.従って,
NFS
サーバnene
での/etc/exports
設定例は,次のようになる./ u s r / l o c a l ‑ r o
,a c c e s s = m a y u : m i y o k o
/ e x p o r t / h o m e ‑ a c c e s s = m a y u : m i y o k o
,r o o t = m a y u
一行目は,
/usr/local
の公開についてである./etc/exportsのフイ}ルドは,ホワイ
トスペース( s p a c e
,TAB)で区切られる.第一フィールドは,公開するディレクトリを指定 する(この例では,/ u s r / l o c a l ) .
ここで気を付けなければいけないのは,公開するディレ クトリの入れ子はできないということである.あるディレクトリを公開すると,そのディ レクトリを親とする全てのディレクトリも親ディレクトリの権限と同様に公開される.つ まり,/usr/localを読出しのみで公開し, /usr/local/docをホスト A
のみに読み書き 可能で公開はできないということである.第二フィールドでは,公開の制限に関するオプションを指定する.この例では,読出し のみ
( r o )
で公開している.r oを指定しなければ,読み書き可能で公開をする.また, rw=
ホスト名[:ホスト名:...]というオプションをつ伐ると,リストとして挙げられたホストにの み読み書き可能で公開される.他のホストには,読出しのみの公開となる.
また,
a c c e s sというオプションは,この公開するディレクトリにアクセスできるホスト
を指定するものである.ホストのリストは ;"で区切られる.このオプションでリストに 挙げられなかったホストは,アクセスすることはできない.このオプション自体をつけな かった場合,全てのマシンにアクセスを許すことになる.セキュリティ上,必ずつけるべ きオプションである.二行自の設定では,ホームディレクトリの設定を行なっている.利用者のホームディレ クトリを置いておく実体のディレクトリとして
/home/neneではなく, /export/homeを
f
吏っている.つまり,実際に使うためのパスと実体のディレクトリは一致していなくても 良い(lhome/neneとして使用するから /home/nene
を公開するわけではない)・また,r o o t
というオプションを使っているが,これは
r o o t (
スーパユーザ)の権限アクセスできるホス トを指定するものである.このオプションをつけなければNFS
クライアントホストからr o o tでアクセスすることはできない.
以上の設定で,ディレクトリを公開することができる.
/etc/exportsは,ホストのブー
ト時に読み込まれ,実際にディレクトリの公聞が行なわれる.あるいは手動で,i .
exportfs ‑a
とすることで,リブートすることなく公開することができる.現在,そのホストで公開 しているディレクトリを知るには,
i .
exportfs
とするか,
/etc/xtab
の内容を見れば知ることができる.44
3.2.2 NFS
クライアントホストの設定NFS
サーバによって公開されたディレクトリをNFS
クライアント側で使用するには,クライアントホストのディレクトリの一部にサーバ側のディレクトリをくっつけてやると よい.このくつつける操作を「マウント
J
という.また,マウントを行なうクライアント 側のディレクトリを「マウントポイントj と呼ぶ.マウントの設定は,
/etc/fstab
で行なう.このファイルの書式は,次のようになって いる.file̲system mount̲point filesystem̲type option dump̲frequency fsck̲order
各フィールドは,ホワイトスペースで区切られる.行頭に#があった場合は,その行は コメントとなる.
この
/etc/fstab
は,NFS
の設定のみでなく,全てのファイルシステムの設定を行なう ための設定ファイルである.このため,記述するオプション等にはいろいろなものがある が,本稿ではNFS
に関連のあるものだけを説明する.NFS
クライアントのmayu
での設定例は次のようになる./dev/sdOa / /dev/sdOh /homel
4.2 rw 1 1 4.2 rw 1
3/dev/sdOg /usr 4.2 rw 1 2 /dev/sdOd /var 4.2 rw 1 4 /dev/sdOf /usr/applel 4.2 rw 1 5 /dev/sdlh /usr/apple2 4.2 rw 1 6 swap /tmp tmp rw 0 0
/dev/fdO /pcfs pcfs rw
,noauto 0 0 nene:/usr/local /usr/local nfs ro
,soft 0 0
nene:/export/home /home/nene nfs rw
,h
訂d
,intr0 0
上記の設定例では,下
2
行がNFS
に関する設定である.まず,9
行目の設定について説 明をする.第
l
フィールドは,NFS
サーバnene
の/usr/local
をマウントすることを示してい る.指定には,r
ホスト名:公開しているディレクトリ」という形式で行なう.第
2
フィールドは,マウントポイントの指定である.ここでは,/usr/local
を指定して いる.実際にマウントする前には,マウントポイントをディレクトリとして作っておく必 要がある.第
3
フィールドは,マウントするファイルシステムのタイプである.ここは,NFS
によ るファイルシステムであるからnfs
が指定される.第
4
フィールドはマウントする時のオプションの指定である.ここでは,読み込みのみ( r o )
,マウントを設定回数だけ失敗するとエラーとする( 8 0 f t :
これを8 0 f tmount
と呼ぶ)といったオプションを指定している.最初に述べたように
/usr/local
はサーバでしか変 更を行なわない.このため,読み出しのみの権限でマウントを行なっている.もし,読み 書き可能な権限でマウントしたとしてもサーバ側が読み書き可能で公開していない限り害‑ 45
き込むことはできない.また,読み書き可能な権限でマウントするには,
rw
を指定するこ とは当然だが,h a r d
も指定する.これは,マウントに成功するまでサーバに対しマウン ト要求を出し続けるためのものである.ファイル等の書き込みを行なう場合,その書き込 みの最中にネットワークの不調等でエラーとなって書き込みが途中で終ったりすると困る からである.また,h a r d
でマウントするとサーバが停止した場合,ずっとマウントを待ち 続ける.これをi n t r
を一緒に指定しておけば,c p
コマンド等であればキーボードから中 断することができる.第
5
フィールドはダンプの頻度であるがNFS
ではこのフィールドは常に0
となる.第
6
フィールドは,f s c k
コマンドを行なう際のファイルシステムチェックの順序を示す フィールドであるが,NFS
の場合は第5
フィールドと同様に常に0
とする.1 0
行自の設定例は,利用者のホームディレクトリに関するものである.この例では,n e n e
の je x p o r t jhome
を/home/nene
としてマウントしている.また,頻繁に変更されるファイルを含むディレクトリのために,読み書き可能
( r w )
でh a r dmount ( h a r d )
し,キーボー ドからの割り込みを許可している( i n t r ) .
以上の設定で,サーパの公開しているディレクトリをマウントするとができる.ただし,