NFS服务搭建
NFS.NETwork File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
要设定好 NFS 服务器我们必须要有两个软件才行,分别是:
就如同刚刚提的到,我们的 NFS 其实可以被视为一个 RPC 服务,而要启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mApping) 的工作才行,这个工作其实就是 rpcbind这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行!
就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS Daemons 与其他相关 Documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件啦!
查看系统是否已安装NFS
[15:48:53 root@192.168.81.183 ~]#rpm -qa|grep nfs
[15:58:06 root@192.168.81.183 ~]#rpm -qa|grep rpcbind
[15:58:14 root@192.168.81.183 ~]#
安装NFS服务
[15:58:14 root@192.168.81.183 ~]#yum -y install nfs-utils rpcbind
[15:59:05 root@192.168.81.183 ~]#rpm -qa|grep nfs
nfs-utils-1.3.0-0.68.el7.x86_64
libnfsidmap-0.25-19.el7.x86_64
[15:59:48 root@192.168.81.183 ~]#rpm -qa|grep rpcbind
rpcbind-0.2.0-49.el7.x86_64
编辑配置文件 /etc/exports
[16:12:59 root@192.168.81.183 /data/k8s_nfs]#pwd
/data/k8s_nfs
[16:13:00 root@192.168.81.183 /data/k8s_nfs]#vim /etc/exports
/data/k8s_nfs 192.168.82.0/24(rw,no_root_squash,no_all_squash,sync)
配置介绍
参数 |
内容说明 |
rw/ro |
该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关 |
sync/async |
|
no_root_squash/ root_squash |
客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行! |
all_squash |
不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦! |
使配置生效
[16:14:57 root@192.168.81.183 /data/k8s_nfs]#exportfs -r
[16:24:05 root@192.168.81.183 /data/k8s_nfs]#systemctl start rpcbind
[16:24:12 root@192.168.81.183 /data/k8s_nfs]#systemctl start nfs
[16:24:19 root@192.168.81.183 /data/k8s_nfs]#systemctl enable rpcbind
[16:24:29 root@192.168.81.183 /data/k8s_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.
[16:25:12 root@192.168.81.183 /data/k8s_nfs]#showmount -e localhost
Export list for localhost:
/data/k8s_nfs 192.168.82.0/24
[16:08:43 root@mq1 ~]#mkdir /sharenfs
[16:08:54 root@mq1 ~]#mount -t nfs 192.168.81.183:/data/k8s_nfs /sharenfs/
mount: 文件系统类型错误、选项错误、192.168.81.183:/data/k8s_nfs 上有坏超级块、
缺少代码页或助手程序,或其他错误
(对某些文件系统(如 nfs、cifs) 您可能需要
一款 /sbin/mount.<类型> 助手程序)
有些情况下在 syslog 中可以找到一些有用信息- 请尝试
dmesg | tAIl 这样的命令看看。
遇到这个问题说明客户端服务器上没有安装nfs-utils
[16:08:13 root@mq1 ~]#rpm -qa|grep nfs
[16:09:23 root@mq1 ~]#yum -y install nfs-utils
[16:13:38 root@mq1 ~]#mount -t nfs 192.168.81.183:/data/k8s_nfs /sharenfs/
[16:13:41 root@mq1 ~]#df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root 46G 26G 20G 58% /
/dev/sda3 50G 15G 32G 32% /data
192.168.81.183:/data/k8s_nfs 443G 8.8G 412G 3% /sharenfs