kubernetesのビルドkubesphereへの準備ができて最近、アリクラウド・マシン、NFSの上に構築する方法をNFSは、バックエンド・ストレージ、ucloudマシン上に構築されたK8Sクラスタとして使用し、コンフィギュレーションが高くない、州があまりにも多くのディスクマシンucloudを占めていますスペース。
環境この例では、以下のことを示しています。
名前 | IP ADDR | Descprition |
---|---|---|
NFSサーバー | 47.1.1.100 | サーバーのパブリックIP、サーバーアリクラウドサーバー |
NFSクライアント | 36.1.1.100 | クライアントのパブリックネットワークIPは、このサーバは、サーバ、クラウドucloudです |
サーバーのインストール
NFSは、マウントパッケージはyumをを搭載します。
$ sudo yum install nfs-utils
注意:只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上。
yum install nfs-utils -y
サーバーの構成
最大NFSサービスの起動を設定します
[root@47 nfs]# systemctl enable rpcbind
[root@47 nfs]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
configureは、ディレクトリを共有しました
サービスが開始した後、我々は、サーバー上の共有ディレクトリを設定します
mkdir /data
chmod 755 /data
ディレクトリによると、対応するコンフィギュレーションのエクスポートディレクトリ
vim /etc/exports
次の設定を追加します。
/data/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)
/データ:共有ディレクトリの場所。
192.168.0.0/24
:クライアントIPアドレス範囲は、*
すべてを代表して、制限がないことを(私は実験設定されますでよ*
)。
rw
:アクセス権は、読み取りおよび書き込み。
sync
:同期は、ディレクトリを共有しました。
no_root_squash
:あなたは、ルート権限を使用することができます。
no_all_squash
:あなたは、通常のユーザ認証を使用することができます。
:wq
設定を保存します。
NFSサービスを開始
[root@47 nfs]# systemctl start rpcbind
[root@47 nfs]# systemctl start nfs
オープンRPCバインドとNFSサービスにファイアウォールのニーズ
$ sudo firewall-cmd --zone=public --permanent --add-service={rpc-bind,mountd,nfs}
success
$ sudo firewall-cmd --reload
success
検査
あなたは、ローカル共有ディレクトリを確認することができます
$ showmount -e localhost
Export list for localhost:
/data *
このように、サーバはそれが設定されています。
ビューポート
[root@47 ~]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 40535 status
100024 1 tcp 48227 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 53325 nlockmgr
100021 3 udp 53325 nlockmgr
100021 4 udp 53325 nlockmgr
100021 1 tcp 37953 nlockmgr
100021 3 tcp 37953 nlockmgr
100021 4 tcp 37953 nlockmgr
張は、あなたはNFSは、トラブルのビットになるポートを制限するためにiptablesの使用もしそうであれば、複数のポートがランダムにNFSが起動し、登録したRPCが開始されますときに、見ることができるマップは、NFSポート関連のサービスを固定プロファイルを変更することができます。
割り当てポート、編集、構成ファイル:
vi /etc/sysconfig/nfs
追加:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004
再起動NFS:
systemctl restart nfs
今すぐ開始ポートを見てみましょう。
[root@47 data]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 40535 status
100024 1 tcp 48227 status
100005 1 udp 9903 mountd
100005 1 tcp 9903 mountd
100005 2 udp 9903 mountd
100005 2 tcp 9903 mountd
100005 3 udp 9903 mountd
100005 3 tcp 9903 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 9902 nlockmgr
100021 3 udp 9902 nlockmgr
100021 4 udp 9902 nlockmgr
100021 1 tcp 9901 nlockmgr
100021 3 tcp 9901 nlockmgr
100021 4 tcp 9901 nlockmgr
iptables设置,或者在阿里云控制台设置放行入出端口
。
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
iptables -A INPUT -p tcp --dport 9902 -j ACCEPT
iptables -A INPUT -p tcp --dport 9901 -j ACCEPT
iptables -A INPUT -p tcp --dport 9900 -j ACCEPT
iptables -A INPUT -p tcp --dport 9903 -j ACCEPT
iptables -A INPUT -p tcp --dport 9904 -j ACCEPT
iptables -A INPUT -p tcp --dport 9905 -j ACCEPT
iptables -A INPUT -p tcp --dport 40535 -j ACCEPT
iptables -A INPUT -p tcp --dport 48227 -j ACCEPT
NFSクライアント接続
まず、サーバの共有ディレクトリを確認し、2つのサーバーのクラウド・ベンダー、我々はパブリックIPを使用する必要があります。
$ showmount -e 47.1.1.100
:上記のエラーの実装では、として報告することができるclnt_create: RPC: Port mapper failure - Timed out
、オンライン情報の多くは、まだ解決されていない検索します。しかし、直接的にはmount
問題ではありません、お読みください。
クライアント上のディレクトリを作成します。
$ mkdir -p /mny/nfs-data
マウンティング
$ mount -t nfs 47.1.1.100:/data /mnt/nfs-data
マウントした後、あなたがチェックにマウントコマンドを使用することができます
$ mount
47.1.1.100:/data on /mnt/nfs-data type nfs4 (rw,relatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.0.2.175,local_lock=none,addr=47.1.1.100)
成功マウントしているこの番組。
テストNFS
テストは、クライアント上の共有ディレクトリにファイルを作成します
$ cd /mnt/nfs-data
$ mkdir test-nfs
NFSサーバーを見てとった後
$ cd /data
$ ll
drwxr-xr-x 2 root root 4096 Dec 15 15:51 test-nfs
あなたは、共有ディレクトリが書き込まれている見ることができます。
クライアントが自動的にマウント
自動的に非常に一般的なマウント、クライアントの設定をクリックしてください。
$ vim /etc/fstab
同様にの終わりを次の
#
# /etc/fstab
# Created by anaconda on Sun Oct 15 15:19:00 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
#....
47.1.1.100:/data /mnt/nfs-data nfs defaults 0 0
変更の/ etc / fstabに、リロードsystemctlする必要があるため。
$ systemctl daemon-reload
参照
RPCを解決する方法:ポートマッパーの失敗-タイムアウトエラー
固定NFSポートをiptablesの配置された起動容易にするために、
CentOSのyumのNFSのインストールおよび構成7