「サーバ - NFS」の版間の差分

提供:MochiuWiki - SUSE, Electronic Circuit, PCB
ナビゲーションに移動 検索に移動
(ページの作成:「== 概要 == NFS(Network File System)を使用することにより、<br> NFSサーバのディスクパーティションをクライアント端末のHDD /SSDのよう…」)
 
編集の要約なし
1行目: 1行目:
== 概要 ==
== 概要 ==
NFSプロトコルは、1983年にSun Microsystemsによって最初に開発された。<br>
これは、クライアントPCがネットワーク経由でファイルにアクセスできるようにするための方法として設計された。<br>
<br>
NFS(Network File System)を使用することにより、<br>
NFS(Network File System)を使用することにより、<br>
NFSサーバのディスクパーティションをクライアント端末のHDD /SSDのようにマウントすることができるようになる。<br>
NFSサーバのディスクパーティションをクライアント端末のHDD /SSDのようにマウントすることができるようになる。<br>
12行目: 15行目:


== NFSサーバのインストールと設定 ==
== NFSサーバのインストールと設定 ==
まず、全てのパッケージが最新であることを確認する。<br>
# CentOS
sudo yum update
# SUSE
sudo zypper update
# Raspberry Pi
sudo apt-get update
sudo apt-get upgrade
<br>
NFSサーバをインストールするため、以下のコマンドを実行する。<br>
NFSサーバをインストールするため、以下のコマンドを実行する。<br>
  # CentOS
  # CentOS
18行目: 32行目:
  # SUSE
  # SUSE
  sudo zypper install nfs-kernel-server
  sudo zypper install nfs-kernel-server
# Raspberry Pi
sudo apt-get install nfs-kernel-server
<br>
<br>
NFSサーバを設定するため、以下のコマンドを実行する。<br>
NFSサーバを設定するため、以下のコマンドを実行する。<br>

2020年7月26日 (日) 08:33時点における版

概要

NFSプロトコルは、1983年にSun Microsystemsによって最初に開発された。
これは、クライアントPCがネットワーク経由でファイルにアクセスできるようにするための方法として設計された。

NFS(Network File System)を使用することにより、
NFSサーバのディスクパーティションをクライアント端末のHDD /SSDのようにマウントすることができるようになる。

ここでは、以下のような環境を例に、NFSサーバを構築する。

+----------------------+             |             +----------------------+
| [    NFS Server    ] |192.168.1.10 | 192.168.1.11| [    NFS Client    ] |
|     www.suse.com     +-------------+-------------+   client.suse.com    |
|                      |                           |                      |
+----------------------+                           +----------------------+



NFSサーバのインストールと設定

まず、全てのパッケージが最新であることを確認する。

# CentOS
sudo yum update

# SUSE
sudo zypper update

# Raspberry Pi
sudo apt-get update
sudo apt-get upgrade


NFSサーバをインストールするため、以下のコマンドを実行する。

# CentOS
sudo yum install nfs-utils

# SUSE
sudo zypper install nfs-kernel-server

# Raspberry Pi
sudo apt-get install nfs-kernel-server


NFSサーバを設定するため、以下のコマンドを実行する。

sudo vi /etc/idmapd.conf


# /etc/idmapd.confファイル
# 5行目:自ドメイン名に変更
# CentOS
Domain = centos.com

# SUSE
Domain = suse.com


/etc/exportsファイルの設定を行う。
/etc/exportsファイルは、どのクライアント端末に、どのディレクトリを、どのような権限でアクセス許可するかを設定するファイルである。

sudo vi /etc/exports


# /etc/exportsファイル

# マウント設定を記述
/home 192.168.1.0/24(rw,no_root_squash)


exportsの主なオプションを下表に示す。

オプション 説明
rw 読み込みと書き込みの両方を許可する
ro 読み込みを許可する
sync 同期書き込みを有効にする(デフォルト)
async 非同期書き込みを有効にする
secure 1024番ポートより小さいポートからのリクエストのみ受け付ける (デフォルト)
insecure 1024番ポート以降のポートからのリクエストも受け付ける
wdelay 別の書き込み要求が実行中 / 発生予定の場合、書き込みを遅延させる(デフォルト)
no_wdelay wdelayを無効にする。
asyncと合わせて設定する
subtree_check サブツリーのチェックを行う。(デフォルト)
一般的な指針として、多くは読み込みのみでファイル名の変更があまり行われないようなディレクトリをエクスポートする場合は、
サブツリーチェックが有効の方が良い。
no_subtree_check サブツリーのチェックを無効にする。
一般的な指針として、ホームディレクトリのような細かなファイルが多く、変更も多いディレクトリをエクスポートする場合は、
サブツリーのチェックを無効にした方が良い。
root_squash root UID / GIDをanonymous UID / GIDにマッピングする。
エクスポートされたディレクトリに対して、root権限ではアクセスできないようにする。
no_root_squash rootをanonymous UID / GIDにマッピングしない。
エクスポートされたディレクトリに対して、root権限でアクセスできるようにする。
all_squash 全てのUID / GIDをanonymous UID / GIDにマッピングする。
no_all_squash 全てのUID / GIDをanonymous UID / GIDにマッピングしない。(デフォルト)
anonuid=UID 指定のUIDをanonymous UIDにマッピングする。
anongid=GID 指定のGIDをanonymous GIDにマッピングする。


/etc/exportsファイルの設定の変更を反映させる。

exportfs -ra



NFSサービスの自動起動

Linuxの起動時に、NFSサービスを自動起動するために、以下のコマンドを実行する。

# CentOS
sudo systemctl start rpcbind nfs-server
sudo systemctl enable rpcbind nfs-server

# SUSE
sudo systemctl start nfs-server
sudo systemctl enable nfs-server



ファイアーウォールの設定

Firewalldを有効にしている場合は、NFSサービスの許可が必要である。

# NFS v4の許可
sudo firewall-cmd --add-service=nfs --permanent

# NFS v3も許可する場合
sudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent
sudo firewall-cmd --reload