Local YUM REPO on CentOS 7 / RHEL 7 using DVD ISO
目次:
- 前提条件
- NFSサーバーをセットアップする
- NFSサーバーのインストール
- ファイルシステムの作成
- ファイルシステムのエクスポート
- ファイアウォール構成
- NFSクライアントをセットアップする
- NFSクライアントのインストール
- ファイルシステムのマウント
- NFSアクセスのテスト
- NFSファイルシステムのアンマウント
- 結論
ネットワークファイルシステム(NFS)は、ネットワーク経由でリモートディレクトリを共有できる分散ファイルシステムプロトコルです。 NFSを使用すると、システムにリモートディレクトリをマウントし、リモートファイルをローカルファイルであるかのように操作できます。
NFSプロトコルはデフォルトでは暗号化されておらず、Sambaとは異なり、ユーザー認証を提供しません。 サーバーへのアクセスは、クライアントのIPアドレスまたはホスト名によって制限されます。
このチュートリアルでは、CentOS 8でNFSv4サーバーをセットアップするために必要な手順を実行します。クライアントでNFSファイルシステムをマウントする方法も示します。
前提条件
NFSサーバーとNFSクライアントとして機能する他のマシンをセットアップするCentOS 8を実行しているサーバーがあると想定しています。 サーバーとクライアントは、プライベートネットワークを介して相互に通信できる必要があります。 ホスティングプロバイダーがプライベートIPアドレスを提供していない場合、パブリックIPアドレスを使用し、サーバーファイアウォールを構成して、ポート
2049
トラフィックを信頼できるソースからのみ許可することができます。
この例のマシンには、次のIPがあります。
NFS Server IP: 192.168.33.148 NFS Clients IPs: From the 192.168.33.0/24 range
NFSサーバーをセットアップする
このセクションでは、必要なパッケージのインストール、NFSディレクトリの作成とエクスポート、およびファイアウォールの構成方法について説明します。
NFSサーバーのインストール
「nfs-utils」パッケージは、NFSサーバー用のNFSユーティリティとデーモンを提供します。 それをインストールするには、次のコマンドを実行します。
sudo dnf install nfs-utils
インストールが完了したら、次を入力してNFSサービスを有効にして開始します。
sudo systemctl enable --now nfs-server
デフォルトでは、CentOS 8 NFSバージョン3および4.xが有効になっている場合、バージョン2は無効になっています。 NFSv2は現在かなり古く、有効にする理由はありません。 確認するには、次の
cat
コマンドを実行します。
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
NFSサーバーの構成オプションは、
/etc/nfsmount.conf
/
/etc/nfs.conf
および
/etc/nfs.conf
ファイルで設定されます。 チュートリアルにはデフォルト設定で十分です。
ファイルシステムの作成
NFSv4サーバーを構成する場合、グローバルNFSルートディレクトリを使用し、実際のディレクトリを共有マウントポイントにバインドマウントすることをお勧めします。 この例では、NFSルートとして
/srv/nfs4
ディレクターを使用します。
NFSマウントをどのように構成できるかをより詳しく説明するために、異なる構成設定で2つのディレクトリ(
/var/www
および
/opt/backups
)を共有します。
/var/www/
はユーザーおよびグループ
apache
によって所有され、
/opt/backups
は
root
によって所有されます。
mkdir
コマンドを使用してエクスポートファイルシステムを作成します。
sudo mkdir -p /srv/nfs4/{backups, www}
実際のディレクトリをマウントします。
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
バインドマウントを永続的にするには、
/etc/fstab
ファイルに次のエントリを追加します。
sudo nano /etc/fstab
/ etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
ファイルシステムのエクスポート
次の手順では、NFSサーバーによってエクスポートされるファイルシステム、共有オプション、およびそれらのファイルシステムへのアクセスを許可するクライアントを定義します。 これを行うには、
/etc/exports
ファイルを開きます。
sudo nano /etc/exports
www
および
backups
ディレクトリをエクスポートし、
192.168.33.0/24
ネットワーク上のクライアントからのみアクセスを許可します。
/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)
最初の行には、NFSルートディレクトリ
/srv/nfs
を定義する
fsid=0
が含まれています。 このNFSボリュームへのアクセスは、
192.168.33.0/24
サブネットからのクライアントにのみ許可されます。
crossmnt
オプションは、エクスポートされたディレクトリのサブディレクトリであるディレクトリを共有するために必要です。
2行目は、1つのファイルシステムに複数のエクスポートルールを指定する方法を示しています。
/srv/nfs4/backups
ディレクトリをエクスポートし、
192.168.33.0/24
範囲全体への読み取りアクセスのみ、および
192.168.33.0/24
への読み取りアクセスと書き込みアクセスの両方を許可します。
sync
オプションは、応答する前にディスクに変更を書き込むようNFSに指示します。
最後の行は一目瞭然です。 使用可能なすべてのオプションの詳細については、ターミナルで
man exports
してください。
ファイルを保存して共有をエクスポートします。
sudo exportfs -ra
/etc/exports
ファイルを変更するたびに、上記のコマンドを実行する必要があります。 エラーまたは警告がある場合、それらは端末に表示されます。
現在アクティブなエクスポートとその状態を表示するには、次を使用します。
sudo exportfs -v
出力には、すべての共有とそのオプションが含まれます。 ご覧のとおり、
/etc/exports
ファイルで定義していないオプションもあります。 これらはデフォルトのオプションであり、変更する場合は、これらのオプションを明示的に設定する必要があります。
/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
root_squash
は、NFSセキュリティに関する最も重要なオプションの1つです。 クライアントから接続されたrootユーザーが、マウントされた共有に対するroot権限を持つことを防ぎます。 ルート
UID
と
GID
を
nobody
/
nogroup
UID
/
GID
マップします。
クライアントマシン上のユーザーがアクセスできるようにするために、NFSはクライアントのユーザーIDとグループIDがサーバー上のユーザーと一致することを期待しています。 別のオプションは、ユーザーIDとグループIDを名前に変換するNFSv4 idmapping機能を使用することです。
それでおしまい。 この時点で、CentOSサーバーにNFSサーバーをセットアップしました。 これで、次のステップに進み、クライアントを構成してNFSサーバーに接続できます。
ファイアウォール構成
FirewallDは、Centos 8のデフォルトのファイアウォールソリューションです。
NFSサービスには、NFSサーバーへのアクセスを許可するための事前定義されたルールが含まれています。
次のコマンドは、
192.168.33.0/24
サブネットからのアクセスを永続的に許可します。
sudo firewall-cmd --new-zone=nfs --permanent
sudo firewall-cmd --zone=nfs --add-service=nfs --permanent
sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent
sudo firewall-cmd --reload
NFSクライアントをセットアップする
NFSサーバーがセットアップされ、共有がエクスポートされたので、次のステップでクライアントを構成し、リモートファイルシステムをマウントします。
NFS共有をmacOSおよびWindowsマシンにマウントすることもできますが、Linuxシステムに焦点を当てます。
NFSクライアントのインストール
クライアントのマシンに、リモートNFSファイルシステムのマウントに必要なツールをインストールします。
-
DebianおよびUbuntuにNFSクライアントをインストールする
DebianベースのディストリビューションにNFSファイルシステムをマウントするためのプログラムを含むパッケージの名前は
nfs-common
です。 インストールするには、次を実行します。sudo apt update
sudo apt install nfs-common
CentOSおよびFedoraにNFSクライアントをインストールする
Red Hatおよびその派生製品では、
nfs-utils
パッケージをインストールします。sudo yum install nfs-utils
ファイルシステムのマウント
/srv/nfs4/www
ファイルシステムへの読み取りおよび書き込みアクセスと、
/srv/nfs4/backups
ファイルシステムへの読み取り専用アクセスを持つIP
192.168.33.110
クライアントマシンで作業します。
マウントポイント用に2つの新しいディレクトリを作成します。 これらのディレクトリは、任意の場所に作成できます。
sudo mkdir -p /backups
sudo mkdir -p /srv/www
mount
コマンドを使用して、エクスポートされたファイルシステムを
mount
ます。
sudo mount -t nfs -o vers=4 192.168.33.148:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www
ここで、
192.168.33.148
はNFSサーバーのIPです。 IPアドレスの代わりにホスト名を使用することもできますが、クライアントマシンで解決できる必要があります。 これは通常、ホスト名を
/etc/hosts
ファイルのIPにマッピングすることにより行われます。
NFSv4ファイルシステムをマウントするときは、NFSルートディレクトリを省略する必要があるため、
/srv/nfs4/backups
代わりに
/srv/nfs4/backups
を使用する必要があります。
mountまたは
df
コマンドを使用して、リモートファイルシステムが正常にマウントされていることを確認します。
df -h
このコマンドは、マウントされているすべてのファイルシステムを印刷します。 最後の2行はマウントされた共有です。
… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/www 9.7G 1.2G 8.5G 13% /srv/www
再起動時にマウントを永続的にするには、
/etc/fstab
ファイルを開きます。
sudo nano /etc/fstab
次の行を追加します。
/ etc / fstab
192.168.33.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0
NFSファイルシステムをマウントするときに使用可能なオプションに関する詳細を検索するには、ターミナルで
man nfs
します。
リモートファイルシステムをマウントする別のオプションは、
autofs
ツールを使用するか、systemdユニットを作成することです。
NFSアクセスのテスト
各共有に新しいファイルを作成して、共有へのアクセスをテストしましょう。
まず、
touch
コマンドを使用して
/backups
ディレクトリにテストファイルを作成してみます。
sudo touch /backups/test.txt
/backup
ファイルシステムは読み取り専用としてエクスポートされ、予想どおり、
Permission denied
エラーメッセージが表示
Permission denied
ます。
touch: cannot touch '/backups/test': Permission denied
次に、
sudo
コマンドを使用して、ルートとして
/srv/www
ディレクトリにテストファイルを作成してみます。
sudo touch /srv/www/test.txt
再度、
Permission denied
メッセージが表示
Permission denied
ます。
touch: cannot touch '/srv/www': Permission denied
/var/www
ディレクトリは
apache
ユーザーが所有し、この共有には
root_squash
オプションが設定されて
root_squash
ます。これは、rootユーザーを、リモート共有への書き込み権限のない
nobody
ユーザーと
nogroup
グループにマップします。
リモートサーバーと同じ
UID
と
GID
を持つクライアントマシンにユーザー
apache
が存在すると仮定すると(たとえば、両方のマシンにApacheをインストールした場合に
apache
ます)、ユーザー
apache
としてファイルを作成するためにテストできますで:
sudo -u apache touch /srv/www/test.txt
コマンドは出力を表示しません。つまり、ファイルは正常に作成されました。
これを確認するには、
/srv/www
ディレクトリー内のファイルをリストします。
ls -la /srv/www
出力には、新しく作成されたファイルが表示されます。
drwxr-xr-x 3 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 0 Jun 23 22:18 test.txt
NFSファイルシステムのアンマウント
sudo umount /backups
マウントポイントが
/etc/fstab
ファイルで定義されている場合は、行を削除するか、行の先頭に
#
を追加してコメント化してください。
結論
このチュートリアルでは、NFSサーバーをセットアップする方法と、クライアントマシンにリモートファイルシステムをマウントする方法を示しました。 実稼働環境でNFSを実装し、賢明なデータを共有している場合、Kerberos認証を有効にすることをお勧めします。
NFSの代わりに、SSHFSを使用して、SSH接続を介してリモートディレクトリをマウントできます。 SSHFSはデフォルトで暗号化されており、設定と使用がはるかに簡単です。
ご質問がある場合は、コメントをお気軽にお寄せください。
centos nfsマウントターミナルCentOS 7でワニスを使用するようにmagento 2を構成する

ページの速度は、オンラインストアの成功に不可欠です。 このチュートリアルでは、Magento 2を設定してVarnishをフルページキャッシュソリューションとして使用する手順を説明します。
CentOS 7でユーザーを追加および削除する方法

ユーザーを追加および削除する方法を知ることは、Linuxユーザーが知っておくべき基本的なスキルの1つです。 このチュートリアルでは、CentOS 7システムでユーザーを追加および削除する方法を説明します。
CentOS 7でスワップスペースを追加する方法

スワップは、物理RAMメモリの容量がいっぱいになったときに使用されるディスク上のスペースです。 このチュートリアルでは、CentOS 7システムにスワップファイルを追加する方法について説明します。