NFS共有ストレージを使用すると、システム管理者はネットワーク上の集中サーバーにリソースを統合できます。 ファイルは、同じネットワーク上の複数のシステム間で簡単に共有されます。 クライアントシステムはリモート共有に(読み取り、書き込み)権限でアクセスでき、基になるブロックストレージにはアクセスできません。Ubuntu/Debianの場合は、以下を確認してください。UbuntuにNFSサーバーをインストールして設定する&Debian Linux
サポートされているNFSバージョン
以下はRHEL8でサポートされているNFSのバージョンです。
NFSバージョン3(Nfsv3)
- は安全な非同期書き込みをサポートしており、以前のNfsv2よりもエラー処理において堅牢です
- は64ビットのファ
NFSバージョン4(Nfsv4)
- ファイアウォールを介して、インターネット上で動作します
- もはやrpcbindサービスを必要としません
- アクセスコントロールリスト(Acl)をサポートしています
- ステートフル操作を利用します。このガイドでは、RHEL/CentOSシステムにNfsv4.2を設定します。 これが私の設定デザインです。
Server Type OS IP Hostname NFS Server RHEL/CentOS 8 172.16.54.136 server.example.com NFS Client 1 RHEL/CentOS 8 172.16.54.136 client1.example.com NFS Client 2 RHEL/CentOS 8 172.16.54.131 client2.example.com サーバーセットアップテーブル しかし、NFSクライアントの設定は別のガイドでカバーされます。 CentOS8/RHEL8LinuxシステムにNFSサーバーをインストールするには、以下の手順に従います。ステップ1:サーバーの更新とホスト名の設定
サーバーには、再起動を持続する静的IPアドレスと静的ホスト名が必要です。 RHEL/CentOS8で静的IPを設定する方法についてのガイドを確認してください。p>
sudo yum -y updatesudo hostnamectl set-hostname server.example.com --static
ステップ2: CentOS8/RHEL8へのNFSサーバーのインストール
次は、RHEL/CentOS8システムへのNFSサーバーパッケージのインストールです。p>
sudo yum -y install nfs-utils
インストール後、nfs-serverサービスを起動して有効にします。P>
sudo systemctl enable --now nfs-server rpcbind
ステータスは”実行中”を表示する必要があります。
ステップ3:RHEL8/CentOS8でNFS共有をエクスポートする
NFSサーバーでエクスポートを設定するには、2つの方法があります。
- コマンドラインで
/etc/exports
設定ファイルを手動で編集する - コマンドラインで
exportfs
ユーティリティを使用する
/etc/exports
ファイルは、リモートホストにエクスポートされるファイルシステムを制御し、オプションを指定します。 次の構文規則に従います。- 空白行は無視されます。
- コメントを追加するには、ハッシュマーク(#)で行を開始します。
- 長い行を円記号(\)で囲むことができます。
- エクスポートされた各ファイルシステムは、それぞれ個別の行にある必要があります。
- エクスポートされたファイルシステムの後に配置された許可されたホストのリストは、スペース文字で区切る必要があります。
- 各ホストのオプションは、ホスト識別子の直後に括弧で囲まれ、ホストと最初の括弧を区切るスペースはなく、括弧で囲む必要があります。この設定では、20GBの容量のセカンダリディスクをサーバーに追加しました。 このディスクを分割し、NFS共有として使用するためにファイルシステムを作成します。p>
$ lsblk | grep sdbsdb 8:16 0 20G 0 disk # Create partition and file systemsudo parted -s -a optimal -- /dev/sdb mklabel gptsudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%sudo parted -s -- /dev/sdb align-check optimal 1sudo mkfs.xfs /dev/sdb1
/dataディレクトリにマウントします。p>
sudo mkdir /dataecho "/dev/sdb1 /data xfs defaults 0 0" | sudo tee -a /etc/fstabsudo mount -a
確認するために設定を確認してみましょう。P>
$ df -hT | grep /data/dev/sdb1 xfs 20G 176M 20G 1% /data
NFSクライアントにエクスポートされる/data/nfshareにディレクトリを作成します。ここで、/etc/exportsを変更してNFS共有を設定する必要があります。 構造は次のとおりです。
export host(options)
以下のように、複数のホストと各ホストの特定のオプションを指定することもできます。
export host1(options1) host2(options2) host3(options3)
ここで:
- exportはエクスポートされるディレクトリです
- hostはエクスポートが共有されているホストまたはネットワークです
- optionsホストに使用されるオプショ 私のホストはネットワーク172.16.54.0/24になります。だから、/etc/exportsファイルの私の行は次のようになります。
/data/nfshare 172.16.54.0/24(rw,no_root_squash)
no_root_squashオプションはroot squashingを無効にします–リモートrootユーザーがroot権限を持つことを可能にします。 これは通常、NFS共有にVMをインストールする場合に必要です。
使用可能なオプションの詳細については、以下を使用します。
$ man exports
設定が完了したら、exportfsユーティリティを使用して、NFSサービスを再起動せずにディ
$ sudo exportfs -ravexporting 172.16.54.0/24:/data/nfshare
- r–/etc/exportsにリストされているすべてのディレクトリを/etc/lib/nfs/xtabに新しいエクスポートリストを構築することによってエクスポートさせます
- a–NFSサービス。P>
sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service={nfs3,mountd,rpc-bind} --permanent sudo firewall-cmd --reload
SELinux booleanを有効にする必要があるかもしれません。P>
sudo setsebool -P nfs_export_all_rw 1
ステップ4: クライアントマシンへのNFS共有のマウント
NFSサーバーの構成が完了したので、残りの部分はクライアントシステムへのNFS共有のマウントです。 クライアントは、リモートシステム、同じサーバー上の仮想マシン、またはサーバー自体にすることができます。
次のガイドを参照してください:CentOS/RHEL8でNFSクライアントを設定する方法
その他のストレージ関連ガイド:
CentOS8/RHEL8でiSCSIイニシエータを設定する方法
CentOS8/RHEL8でiSCSIターゲットとイニシエータを設定する方法
以下のリンクからPDFとしてこの記事をダウンロードすることで、私たちをサポートすることができます。 ガイドをPDFとしてダウンロード
- コマンドラインで