目录
前言
比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。
本文记录了centos 8系统部署nfs服务端的过程
一. 装系统 U启安装即可
二. 装驱动 联网 最好不要自己装 很费劲
三. 更换yum源
https://blog.51cto.com/zero01/2481030
https://developer.aliyun.com/mirror/centos
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
四. 安装所需要的服务
由于是新服务器,什么东西都没有,我们来做一些基础的软件安装和操作
yum -y install gcc gcc-c++ make autoconf readline readline-devel vim-enhanced openssh-clients epel-release
systemctl stop firewalld
systemctl disable firewalld
systemctl disable NetworkManager
systemctl stop NetworkManager
vim /etc/selinux/config
selinux改成disabled
yum -y install net-tools lrzsz
vim /etc/ssh/sshd_config #https://www.jianshu.com/p/a3d7a18c2be3 配置文件详解
79 PasswordAuthentication yes #使用密码认证
115 ChallengeResponseAuthentication 改成no #是否允许 质疑/应答 认证
五. 部署nfs服务
yum -y install nfs-utils rpcbind
六. 按需求调整配置文件/etc/exports
(我的nfs服务器有一份之前写好的该文件,此次部署需要和之前一致,所以直接使用了scp,将此文件的内容复制一份给新的机器即可)
共享目录的路径 主机名a(参数a) 主机名b(参数b)
ro 该主机对该共享目录有只读权限
rw 该主机对该共享目录有读写权限
root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
no_root_squash 客户机用root访问该共享文件夹时,不映射root用户
all_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
anonuid 将客户机上的用户映射成指定的本地用户ID的用户
anongid 将客户机上的用户映射成属于指定的本地用户组ID
sync 资料同步写入到内存与硬盘中
async 资料会先暂存于内存中,而非直接写入硬盘
insecure 允许从这台机器过来的非授权访问
eg:
/shared/CentOS-6.6/ *(rw,sync,no_subtree_check,no_root_squash,insecure)
如nfs服务启动后仍修改并调整了该文件内容
exportfs -a 即可生效,然后重启服务。
修改了/etc/exports文件后可以不用重启服务
用 exportfs 不用重启nfs服务,使改动立刻生效
sudo exportfs -arv
exportfs -au #卸载所有共享目录
exportfs -rv #重新共享所有目录并输出详细信息
-a:全部挂载(或卸载)/etc/exports文件内的设定。
-r:重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。
-u:卸载某一目录。
-v:在export时将共享的目录显示在屏幕上。
七. 启动服务(注意启动顺序!)
Centos 8 的是 nfs-server,Centos 7是 nfs.service
sudo systemctl start rpcbind.service
sudo systemctl start nfs-server
八. 固定端口
nfs端口随机分配端口号,无法得知申请端口权限应该是固定的哪一个,所以有此操作。centos8系统
mount 修改/etc/services 文件即可 1012
portmapper服务默认为 111
nfs服务默认为2049
status、nlockmgr这两个服务不固定也可以使用vpn连接nfs
8系统的nfs配置文件是/etc/nfs.conf
7系统的nfs配置文件是在/etc/sysconfig/nfs
centos 7系统
netstat -anp |grep 端口号 #查看端口号是否被使用
1)其中,给mountd、rquotad设置端口的方式很简单,在/etc/sysconfig/nfs中添加以下设置即可:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=1016
STATD_PORT=30004
2)重启rpc、nfs的配置与服务:
systemctl restart rpcbind.service
systemctl restart nfs.service
3)还需在/etc/modprobe.d/lockd.conf中添加以下设置:
options lockd nlm_tcpport=30002
options lockd nlm_udpport=30002
4)重新加载NFS配置和服务:
systemctl restart nfs-config
systemctl restart nfs-idmap
systemctl restart nfs-lock
5)查看端口使用情况:
rpcinfo -p
总结
一定要注意启动顺序!!!