NFS共有ストレージサービス(詳細な図の説明)
記事ディレクトリ
I.概要
(1)NFS(ネットワークファイルシステム)ネットワークファイルシステム
NFSは、TCP / IP送信に基づくネットワークファイルシステムプロトコルです。NFSプロトコルを使用することにより、クライアントは、ローカルディレクトリにアクセスしているかのように、リモートサーバーの共有リソースにアクセスできます。
ほとんどの負荷分散クラスターでは、NFSプロトコルを使用してデータストレージを共有するのが一般的な方法です。NFSは、NASストレージデバイスがサポートする必要のあるプロトコルでもあります。ただし、NFSにはユーザー認証メカニズムがなく、データはネットワーク上でプレーンテキストで送信されるため、セキュリティは非常に低く、通常はローカルエリアネットワークでのみ使用できます。
NFSサービスの実現は、RPC(Remote Process Call)メカニズムに依存して、リモートからローカルへのマッピングプロセスを完了します。
したがって、NFS共有サービスを提供するには、nfs-utilsおよびrpcbindソフトウェアパッケージをインストールする必要があります。前者はNFS共有の公開とアクセスに使用され、後者はRPCサポートに使用されます。
NFS構成ファイルは/ etc / exportsであり、形式は次のとおりです。共有ディレクトリの場所クライアントアドレス(許可オプション)
(2)NFSファイル共有サービスの構築
サーバー(仮想マシン1 ip:192.168.126.10)
クライアント(仮想マシン2 ip:192.168.126.20)
全体的なステッププロセス:
-
対応するソフトウェアパッケージをサーバーにインストールします。yum-yinstallrpcbind nfs-utils
-
サーバー側でSElinuxとファイアウォールをオフにします:setenforce 0; systemctl stop Firewalld
-
共有ディレクトリを作成し(既存のディレクトリを作成せずに直接共有することもできます)、アクセス許可を付与します:mkdir / gongxiang; chmod 777 / gonginag
-
共有構成ファイル/ etc / exportsを変更します
-
このマシンによって公開されたNFS共有ディレクトリを表示します:exportfs -rv
-
rpcbindサービスとnfsサービスを開始します。systemctlstartrpcbind; systemctl start nfs
-
クライアントはSelinuxとファイアウォールを閉じます:setenforce 0; service iptables stop
-
クライアントはrpcbindをインストールして開始します:yum -y install rpcbind; service rpcbind start
-
マウントポイント、ビュー、およびマウントを作成します。mkdir/ mygongxiang; showmount -e 192.168.126.10; mount -t nfs192.168…126.10:/ gongxiang / mygongxiang
10.テスト結果を確認します
1.特定の手順
サーバーでの操作:
1、安装 nfs-utils、rpcbind 软件包
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
2.サーバー側でSElinuxとファイアウォールをオフにします。
`systemctl stop Firewalld
setenforce 0 ;
3.共有ディレクトリを設定します
mkdir -p /opt/gongxiang
chmod 777 /opt/gongxiang #新建共享目录,名字自取,并且设置权限为777
`4、共有構成ファイル/ etc / exportsを変更してから、エクスポートファイルをリロードします。exportfs-a
vim /etc/exports
#编辑nfs配置文件
/opt/gongxiang 192.168.126.0/24(rw,sync,no_root_squash)
クライアントアドレスは、ホスト名、IPアドレス、またはネットワークセグメントアドレスにすることができ、ワイルドカード文字「*」および「?」を使用できます。
「Rw」は読み取りと書き込みが許可されていることを意味し、「ro」は読み取り専用を意味します。
sync:メモリとハードディスクへの同期書き込みを意味します。
no_root_squash:クライアントがrootとしてアクセスされたときにローカルroot権限が付与されることを示します(デフォルトはroot_squashです)。
root_squash:クライアントがrootユーザーを使用して共有ディレクトリにアクセスすると、rootユーザーが匿名ユーザーにマップされることを意味します。
その他の一般的に使用されるオプション
all_squash:すべてのアクセスユーザーは、匿名ユーザーまたはユーザーグループにマップされます。
async:最初にデータをメモリバッファに保存してから、必要に応じてディスクに書き込みます。
subtree_check(デフォルト):出力ディレクトリがサブディレクトリの場合、nfsサーバーはその親ディレクトリの権限をチェックします。
no_subtree_check:出力ディレクトリがサブディレクトリであっても、nfsサーバーは親ディレクトリの権限をチェックしないため、効率が向上します。
5.rpcbindサービスとnfsサービスを開始します。
NFS共有サービスを手動でロードする場合は、最初にrpcbindを起動してから、nfsを起動する必要があります。
systemctl start rpcbind ;
systemctl start nfs
systemctl enable rpcbind
#可以直接设置成开机自启
systemctl enable nfs
6.このマシンによって公開されたNFS共有ディレクトリを表示します
exportfs -rv #发布共享
showmount -e
7.クライアントはSElinuxとファイアウォールを閉じます。
systemctl stop firewalldc
setenforce 0 ;
クライアントでの操作:
8.クライアントのNFS共有リソースにアクセスします
nfs-utils、rpcbindパッケージをインストールします
rpm -q rpcbind nfs-utils
yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
NFSサーバーで共有されているディレクトリを表示する
showmount-e 192.168.126.10
9.nfs共有ディレクトリをマウントします
NFS共有ディレクトリを手動でマウントする
mkdir /mygongxiang
mount 192.168.80.10:/opt/gongxiang /mygongxiang
mount#マウント結果を確認します。df-Thを使用することもできます
自動マウントを設定する
vim /etc/fstab
192.168.80.10:/opt/gongxiang /mygongxiang nfs defaults,_netdev 0 0
_netdev:マウントデバイスにネットワークが必要であることを示します
10.最後に共有結果を確認します
注:NFSの強制アンインストール
クライアントのマウントおよび使用中にサーバー側のNFSサービスが突然停止した場合、df-hコマンドの実行時にクライアントがスタックします。現時点では、umountコマンドを直接使用して直接アンインストールすることはできません。アンインストールするには、-lfオプションを追加する必要があります。
umount -lf /mygongxiang