目次
自作PCと組み込み開発が趣味。回路設計やFPGAについての話題が多めです。
NFS (Network File System) は SMB/CIFS,AFP と同様に NAS (Network Attached Storage) を実現するためのプロトコルです。NFS サーバのファイルシステムを NFS クライアントがマウントして利用します。設定例を紹介します。
サーバ側の設定 (192.168.50.1)
インストールされていなければ NFS を yum で導入します。
$ sudo yum install nfs-utils
共有ディレクトリを作成します。所有者は nfsnobody としておくと後々都合がよいです。
$ sudo mkdir -p /data/share
$ sudo chown nfsnobody: /data/share
設定ファイルを編集します。
$ sudo vi /etc/exports
/data/share 192.168.50.0/24(rw,sync,all_squash)
- 192.168.50.0/24 からのみアクセスを許可
- rw (読み込みと書き込み) を許可
- sync と設定して非同期 (async) ではなく即座に書き込み
- all_squash と設定してすべてのクライアントは nfsnobody としてアクセス
NFS サービスを自動起動に登録してサービス開始します。
$ sudo service nfs start
$ sudo chkconfig nfs on
$ sudo chkconfig --list | grep nfs
2049 番ポートをリッスンしていることが確認できます。
$ sudo netstat -ltunp | grep 2049
$ sudo netstat -ltup | grep nfs
クライアント側の設定 (192.168.50.2)
マウントポイントを作成します。
$ sudo mkdir -p /data/192.168.50.1
マウントします。少々時間がかかります。
$ sudo mount -t nfs 192.168.50.1:/data/share /data/192.168.50.1
処理が戻ってきたらマウントされていることを確認します。
$ df -h
Filesystem Size Used Avail Use% Mounted on
...
192.168.50.1:/data/share 38G 676M 36G 2% /data/192.168.50.1
ディレクトリおよびファイルを作成してみます。
$ mkdir /data/192.168.50.1/dir
$ touch /data/192.168.50.1/dir/file.txt
所有者 nfsnobody として作成されていることが確認できます。
192.168.50.1$ ls -l /data/share/
drwxrwxr-x. 2 nfsnobody nfsnobody 4096 Apr 21 16:00 dir
192.168.50.1$ ls -l /data/share/dir/
-rw-rw-r--. 1 nfsnobody nfsnobody 0 Apr 21 16:00 file.txt
サーバ側からは nfsnobody ユーザとならないため書き込みできません。
192.168.50.1$ touch /data/share/file2.txt
touch: cannot touch `/data/share/file2.txt': Permission denied
アンマウントするには以下のコマンドを発行します。
$ sudo umount /data/192.168.50.1
再起動後に自動でマウントする
ここまでの設定だけでは、再起動するとマウントが外れるため再度 mount コマンドを発行しなければなりません。再起動時に自動でマウントするためには /etc/fstab を編集します。
/etc/fstab
192.168.50.1:/data/share /data/192.168.50.1 nfs defaults 0 0
記事の執筆者にステッカーを贈る
有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。
さらに詳しく →Feedbacks
ログインするとコメントを投稿できます。
関連記事
- 使い所が難しいマイナーな運用コマンドコマンドのエイリアスを登録する (update-alternatives) mybin という名前のコマンドを登録 sudo update-alternatives --install /usr/local/bin/mybin mybin /usr/bin/echo 10 sudo update-alternatives --install /usr/local/bin/mybin mybin /...
- ipコマンドの基本的な使い方ネットワーク関連のコマンドはたくさんあります。しかしながら、その一部は ip コマンドに集約できます。 基本形 ("man ip" より抜粋) $ ip OBJECT COMMAND OBJECT: link, neigh, addr, route (等) COMMAND: show, add, delete (等) データリンク層のネットワークデバイス情報 (ifconfigコマンドの代用) M...
- プロセス関連のコマンドプロセスID関連 (ps, pgrep, pkill) 全プロセスを表示するためには $ ps ax とすればよく、その表示を見やすくするためには "u" と "w" を追加して $ ps auxw とすればよいです。表示件数自体は同じです。そのうち特定のコマンドのプロセスIDだけを表示したい場合は $ ps ax | grep 'my_script' | grep -v grep | awk '...
- rpmとyumのチートシートrpm (RedHat Package Manager または RPM Package Manager) はRedHat系のパッケージ管理ツールで、yum (Yellowdog Updater Modified) は内部的にrpmを実行するメタパッケージ管理ツールです。rpmには柔軟性がありyumには利便性があります。 rpmは "rpmパッケージファイル" があれば何でもインストールできますが、...
- メモリおよびディスクリソースを調査するために便利なコマンドおよび周辺知識メモリ使用量を表示 (free) 既定ではキロバイト単位で表示されます。オプション "-b", "-k", "-m", "-g" を付与して実行するとそれぞれバイト、キロ、メガ、ギガで表示されます。 $ free total used free shared buffers cached Mem: 510824 ...