NFS服务器主配置文件名,NFS服务器的搭建与配置

948004228d995338a170b2862a7648a8.png

安装NFS服务,需要安装两个软件,分别是:

RPC主程序:rpcbind

NFS 其实可以被视为一个 RPC 服务,因为启动任何一个 RPC 服务之前,我们都需要做好 port 的对应 (mapping) 的工作才行,这个工作其实就是『 rpcbind 』这个服务所负责的!也就是说, 在启动任何一个 RPC 服务之前,我们都需要启动 rpcbind 才行! (在 CentOS 5.x 以前这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)

NFS主程序:nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他相关 documents 与说明文件、执行文件等的软件!这个就是 NFS 服务所需要的主要软件。

NFS的相关文件:

主要配置文件:/etc/exports

这是 NFS 的主要配置文件了。该文件是空白的,有的系统可能不存在这个文件,主要手动建立。NFS的配置一般只在这个文件中配置即可。

NFS 文件系统维护指令:/usr/sbin/exportfs

这个是维护 NFS 分享资源的指令,可以利用这个指令重新分享 /etc/exports 变更的目录资源、将 NFS Server 分享的目录卸除或重新分享。

分享资源的登录档:/var/lib/nfs/*tab 在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目录里面,在该目录下有两个比较重要的登录档, 一个是 etab ,主要记录了 NFS 所分享出来的目录的完整权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的相关客户端数据。

客户端查询服务器分享资源的指令:/usr/sbin/showmount 这是另一个重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则主要用在 Client 端。showmount 可以用来察看 NFS 分享出来的目录资源。

服务端安装NFS服务步骤:

第一步:安装NFS和rpc

#安装nfs服务

[root@localhost ~]# yum install -y nfs-utils

#安装rpc服务

[root@localhost ~]# yum install -y rpcbind

#其实安装yum install -y nfs-utils就会自动把rpcbind安装上 所以不用执行第二步

1

2

3

4

5

#安装nfs服务

[root@localhost~]# yum install -y  nfs-utils

#安装rpc服务

[root@localhost~]# yum install -y rpcbind

#其实安装yum install -y nfs-utils就会自动把rpcbind安装上 所以不用执行第二步

第二步:启动服务和设置开启启动:

[root@localhost~]# systemctl start rpcbind

[root@localhost~]# systemctl enable rpcbind

[root@localhost~]# systemctl start nfs-server

[root@localhost~]# systemctl start nfs-secure.service

[root@localhost~]# systemctl enable nfs-server

[root@localhost~]# systemctl enable nfs-secure.service

1

2

3

4

5

6

[root@localhost~]# systemctl start rpcbind

[root@localhost~]# systemctl enable rpcbind

[root@localhost~]# systemctl start nfs-server

[root@localhost~]# systemctl start nfs-secure.service

[root@localhost~]# systemctl enable nfs-server

[root@localhost~]# systemctl enable nfs-secure.service

如果你开启了防火墙,配置下放行nfs服务

firewall-cmd --permanent --add-service=nfs

firewall-cmd --reload

1

2

firewall-cmd--permanent--add-service=nfs

firewall-cmd--reload

第三步:配置共享文件目录,编辑配置文件:

#创建共享目录

mkdir /public

#配置文件

vim /etc/exports

/public 172.17.0.2(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public 172.17.0.3(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public 172.17.0.4(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

或者直接写这个网络段

vim /etc/exports

/public 172.17.0.2/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

1

2

3

4

5

6

7

8

9

10

11

#创建共享目录

mkdir/public

#配置文件

vim/etc/exports

/public172.17.0.2(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public172.17.0.3(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

/public172.17.0.4(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

或者直接写这个网络段

vim/etc/exports

/public172.17.0.2/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)

配置文件解析

格式: 共享目录的路径 允许访问的NFS客户端(共享权限参数)

如上:

/public #共享目录路径

172.17.0.2 #允许访问的客户端为172.17.0.2网络用户

(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501) #权限

#注意,nfs客户ip地址与权限之间没有空格

ro 只读

rw 读写

root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

no_all_squash 与all_squash取反(默认设置)

sync 同时将数据写入到内存与硬盘中,保证不丢失数据

async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

anonuid 将客户机上的用户映射成指定的本地用户ID的用户

anongid 将客户机上的用户映射成属于指定的本地用户组ID

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

格式:共享目录的路径允许访问的NFS客户端(共享权限参数)

如上:

/public#共享目录路径

172.17.0.2#允许访问的客户端为172.17.0.2网络用户

(rw,no_root_squash,no_all_squash,sync,anonuid=501,anongid=501)#权限

#注意,nfs客户ip地址与权限之间没有空格

ro只读

rw读写

root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

no_all_squash与all_squash取反(默认设置)

sync同时将数据写入到内存与硬盘中,保证不丢失数据

async优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

anonuid将客户机上的用户映射成指定的本地用户ID的用户

anongid将客户机上的用户映射成属于指定的本地用户组ID

showmount命令的用法

-e [本机ip]显示NFS服务器的共享列表

-a [本机ip]显示本机挂载的文件资源的情况NFS资源的情况

-v显示版本号

1

2

3

-e[本机ip]显示NFS服务器的共享列表

-a[本机ip]显示本机挂载的文件资源的情况NFS资源的情况

-v显示版本号

#显示已经mount到本机nfs目录的客户端机器

showmount -e localhost

#将配置文件中的目录全部重新export一次!无需重启服务。

exportfs -rv

#查看NFS的运行状态

nfsstat

#查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

#查看网络端口,NFS默认是使用111端口。

netstat -tu -4

#重启nfs服务

service nfs-kernel-server restart

1

2

3

4

5

6

7

8

9

10

11

12

#显示已经mount到本机nfs目录的客户端机器

showmount-elocalhost

#将配置文件中的目录全部重新export一次!无需重启服务。

exportfs-rv

#查看NFS的运行状态

nfsstat

#查看rpc执行信息,可以用于检测rpc运行情况

rpcinfo

#查看网络端口,NFS默认是使用111端口。

netstat-tu-4

#重启nfs服务

servicenfs-kernel-serverrestart

如果你安装了防火墙,需要配置nfs需要开放的端口

portmap 端口 111 udp/tcp

nfsd 端口 2049 udp/tcp

mountd 端口 “xxx” udp/tcp 负责客户端来源认证的进程,认证成功后接受客户端的挂载请求,工作在随机端口,即时向RPC注册。

系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768–65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:

#注意下面这个为mountd指定端口我试了下没有成功,一般情况下不需要指定,人家自己获取是多少就是多少。你可以通过 rpcinfo -p 查看当前随机指定的mountd端口是多少然后加入到你的防火墙中。

# vim /etc/services

在末尾添加

mountd 1011/udp

mountd 1011/tcp

保存该文件,重启rpc.mountd

rpcinfo -p Hostname

现在我们会发现 mountd已经和端口 1011绑定了。

1

2

3

4

5

6

7

8

9

10

#注意下面这个为mountd指定端口我试了下没有成功,一般情况下不需要指定,人家自己获取是多少就是多少。你可以通过 rpcinfo -p 查看当前随机指定的mountd端口是多少然后加入到你的防火墙中。

# vim /etc/services

在末尾添加

mountd1011/udp

mountd1011/tcp

保存该文件,重启rpc.mountd

rpcinfo-pHostname

现在我们会发现mountd已经和端口1011绑定了。

服务器本机测试

rpcinfo -p

#检测nfs的rpc注册状态

rpcinfo -u 10.0.2.15 nfs

#查看共享目录和参数设置

cat /var/lib/nfs/etab

#使用showmount命令查看共享目录发布及使用情况

showmount -e 10.0.2.15

1

2

3

4

5

6

7

rpcinfo-p

#检测nfs的rpc注册状态

rpcinfo-u10.0.2.15nfs

#查看共享目录和参数设置

cat/var/lib/nfs/etab

#使用showmount命令查看共享目录发布及使用情况

showmount-e10.0.2.15

二:配置客户端机器

1.安装nfs服务

yum install -y nfs-utils

如果是linux挂载windows的nfs需要安装 cifs-utils

yum install cifs-utils

1

yuminstallcifs-utils

2. 查看nfs服务器共享目录

ec1031fcbde2965d680381ec2741fc9f.png

3.临时挂载

mount -t nfs -o rw 10.0.2.15:/public /home/shooter/data

1

mount-tnfs-orw10.0.2.15:/public/home/shooter/data

其他挂载:

#linux挂载windows 本身共享(非nfs)

mount -t cifs //192.168.1.126/linux_nfs /mnt/linux_nfs/ -o username=linux,password=123asd,rw,file_mode=0777,dir_mode=0777,setuid=509,setgid=101

#挂载权限为0777

mount -t cifs //192.168.1.126/linux_nfs /mnt/linux_nfs/ -o username=linux,password=123asd

1

2

3

4

5

6

其他挂载:

#linux挂载windows 本身共享(非nfs)

mount-tcifs//192.168.1.126/linux_nfs/mnt/linux_nfs/-ousername=linux,password=123asd,rw,file_mode=0777,dir_mode=0777,setuid=509,setgid=101

#挂载权限为0777

mount-tcifs//192.168.1.126/linux_nfs/mnt/linux_nfs/-ousername=linux,password=123asd

4. 启动自动挂载nfs文件系统

#vim /etc/fstab

10.0.2.15:/mysqlbak /mnt/nfs nfs defaults

1

2

#vim /etc/fstab

10.0.2.15:/mysqlbak/mnt/nfsnfsdefaults

361f6b26804af66af201867866cbbe05.png

mount -a 刷新使挂载文件生效

查看挂载生效

eb5d4ea89c41f73e0f40de89401a813d.pnghello文件为我在宿主机新建的文件,这说明虚拟机已经成功挂载了

最后编辑:2020-03-25作者:shooter

cb9daae677fbcf9a9b0e39a252b93c86?s=96&d=monsterid&r=g

这个作者貌似有点懒,什么都没有留下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值