トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

NFSを使う

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/367usenfs.html

 Linuxが動作する別のPCのディレクトリを共有するときは、NFS(Network File System)を使うといい。NFSを利用するには、共有するディレクトリを持っているLinux(NFSサーバ)の設定と、共有ディレクトリにアクセスするLinux(NFSクライアント)の設定が必要になる。

 最初にNFSサーバの設定を行う。NFSの設定は、/etc/exportsというファイルで行う。初期設定では、/etc/exportsには何も記述されていない。書式は、以下のようになる。

共有するディレクトリ    公開先(書き込みの可否)

 例えば、同一のLAN(192.168.0.0〜192.168.0.255)に接続されたPCに、/home/projectというディレクトリに対するアクセスを読み書き可で許可する場合は、以下のようにする。

/home/project    192.168.0.0/255.255.255.0 (rw)

 公開先は、ドメイン名やホスト名も指定できる。また、書き込みを禁止する場合は「(rw)」を「(ro)」に変えればいい。

/home/project    *.foo.co.jp (rw) ←*.foo.co.jpに読み書きを許可
/home/project    host-a (ro) ←host-aに読み込みのみを許可

 設定が終わったら、NFSを再起動する(起動していない場合は起動する)。また、システム起動時にNFSが実行されない場合は、実行するように設定変更を行う。

# service nfs restart
Stopping NFS mountd:                                       [  OK  ]
Stopping NFS daemon:                                       [  OK  ]
Stopping NFS services:                                     [  OK  ]
Stopping NFS quotas:                                       [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
# chkconfig nfs on

 次に、NFSクライアントの設定を行う。設定といっても、共有ディレクトリをマウントする作業だ。NFSサーバの/home/projectをNFSクライアントの/projectにマウントするには、以下のコマンドを実行する。もし、マウントポイント(この場合は/project)がない場合は、あらかじめ作成しておく。

# mount -t nfs 192.168.0.7:/home/project /project ←NFSサーバが192.168.0.7の場合
# cd /project/
# ls
psyche-i386-disc1.iso

 システム起動時に自動的に/home/projectをマウントしたい場合は、NFSクライアントの/etc/fstabに次の設定を追加する。

192.168.0.7:/home/project     /project      nfs    defaults        0 0

全てのホストを許可する場合

 /home/project   * (rw)

exports の設定を反映させる

# exportfs -ra

ファイヤーウォール等を使用している場合

/etc/sysconfig/nfs 

にあるポートをコメントインする。

RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=662
STATD_OUTGOING_PORT=2020

下記ポートの通信を許可する

tcp/111
udp/111
tcp/662
udp/662
tcp/875
udp/875
tcp/892
udp/892
tcp/2049
udp/2049
tcp/32803
udp/32769

サービスの起動に失敗する

ときどき、そんなことがある。状況にもよるが

/etc/init.d/avahi-daemon restart

あたりで直ることもがある

exports のオプション

■一般的なオプション
オプション名 説明
ro 読み込み専用でマウント
rw 読み書きを許可してマウント
async ディレクトリ内のファイルは非同期に反映される(デフォルト)
sync asyncと反対。ファイル更新が直ちに行われる
wdelay 複数の書き込み処理を1度に行う。NFSサーバ側での更新を一括して行う
no_wdelay wdelayとは反対。syncオプションと併用する
noaccess 指定したディレクトリを共有しない

■ユーザIDのマッピングに関するオプション
オプション 説明
all_squash すべてのUID、GIDを匿名アカウントへマッピング(nfsnobody)
anonuid すべてのUIDを匿名アカウントへマッピング
anongid すべてのGIDを匿名グループへマッピング(nfsnobody)
squash_uids 指定したUIDのユーザをすべて匿名アカウントへマッピング
squash_gids 指定したGIDユーザをすべて匿名グループへマッピング
map_identity UID、GIDに関する変換を行わない。
map_static UID、GIDに関する変換を定義するマップファイルを指定する
root_squash rootアカウントをnfsnobodyへ変換する(デフォルト)
no_root_squah root_squashの反対。rootアカウントをroot(サーバ側)へマッピング
map_identity か no_root_squah にすれば手っ取り早く使える。
map_identity は、 root の uid を変換しようとするので注意

[カテゴリ: OS > Linux]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2011年08月04日 23時49分21秒