autofsの設定
2010/02/23
NFSサーバの公開領域を自動的にマウントさせる仕組みを実装したときのメモ。
環境
- Debian GNU/Linux 4.0/i386
実装手順
1. autofsパッケージのインストール
# apt-get install autofs Reading package lists... Done Building dependency tree... Done The following NEW packages will be installed: autofs 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 113kB of archives. After unpacking 483kB of additional disk space will be used. Get:1 http://ftp.jp.debian.org etch/main autofs 4.1.4-13 [113kB] Fetched 113kB in 0s (202kB/s) Selecting previously deselected package autofs. (Reading database ... 35294 files and directories currently installed.) Unpacking autofs (from .../autofs_4.1.4-13_i386.deb) ... Setting up autofs (4.1.4-13) ... Creating config file /etc/auto.master with new version Creating config file /etc/auto.misc with new version Creating config file /etc/auto.net with new version Creating config file /etc/auto.smb with new version Creating config file /etc/default/autofs with new version Starting automounter: loading autofs4 kernel module, no automount maps defined.
2. マスタマップファイルの編集
/etc/auto.master に、最終行を追加。
# # $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $ # # Sample auto.master file # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # For details of the format look at autofs(5). #/misc /etc/auto.misc --timeout=60 #/smb /etc/auto.smb #/misc /etc/auto.misc #/net /etc/auto.net /mnt/nfs /etc/auto.nfs --timeout=300
上記の例では、以下のように設定しています。
- マウントベース(NFSサーバのマウントポイントが格納されるディレクトリ): /mnt/nfs
- マウントベース毎のマップファイル*1: /etc/auto.nfs
- automountデーモンに渡すオプション: --timeout=300 (5分後に自動的にアンマウントされる)
3. NFS用のマップファイルの作成
/etc/auto.nfs を新規作成します。
nfs-srv -fstype=nfs,rw,hard,intr,rsize=32768,wsize=32768 192.168.0.1:/data
上記の例では、以下のように設定しています
- NFSサーバ192.168.0.1の/dataディレクトリをマウントする
- マウントポイントは/mnt/nfs/nfs-srvとする
- マウントオプションはrw,hard,intr,rsize=32768,wsize=32768とする *2
- fstypeでは、ファイルシステムタイプ(nfs)を指定しています
4. automountデーモンの起動
auto.masterを変更後は、automountデーモンに再読み込みさせなければなりません。
手っ取り早く再起動させます。
# /etc/init.d/autofs restart Stopping automounter: done. Starting automounter: done.
5. 動作確認
/mnt ディレクトリ内を確認します。
# ls /mnt nfs
自動的にマウントベースが作成されています。
続けて、/mnt/nfs ディレクトリ内を確認します。
# ls /mnt/nfs
現時点では何もありません。
続けて、カレントディレクトリを/mnt/nfs/nfs-srvに移動してみます。
# cd/mnt/nfs/nfs-srv /mnt/nfs/nfs-srv#
上記の時点では何もないので、"No such file or directory"と通常であれば怒られるところですが、正常に移動できています。この時点でlsを実行してみればNFSサーバで公開しているファイル類が表示されるはずです。
最後に、mountコマンド等の実行結果で確認してみます。
# mount 中略 automount(pid24357) on /mnt/nfs type autofs (rw,fd=4,pgrp=24357,minproto=2,maxproto=4) 192.168.0.1:/data on /mnt/nfs/nfs-srv type nfs (rw,hard,intr,rsize=32768,wsize=32768,addr=192.168.0.1) # cat /etc/mtab 中略 automount(pid24357) /mnt/nfs autofs rw,fd=4,pgrp=24357,minproto=2,maxproto=4 0 0 192.168.0.1:/data /mnt/nfs/nfs-srv nfs rw,hard,intr,rsize=32768,wsize=32768,addr=192.168.0.1 0 0 # cat /proc/mounts 中略 automount(pid24357) /mnt/nfs autofs rw,fd=4,pgrp=24357,timeout=300,minproto=2,maxproto=4,indirect 0 0 192.168.0.1:/data /mnt/nfs/nfs-srv nfs rw,vers=3,rsize=32768,wsize=32768,hard,intr,proto=tcp,timeo=600,retrans=2,sec=sys,addr=192.168.0.1 0 0