linuxnfs服务安装与配置实践

目录

一.NFS服务

二.NFS和RPC的概念

三.什么是RPC

四.工具

五.安装配置NFS环境

1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包

2.安装nfs-utils 、rpcbind

3.环境配置

1.nfs配置文件需要遵守如下规则:

2.nfs语法参数解释:

3.nfs客户端地址形式

4.nfs客户端权限参数

七、nfs服务端的文件目录共享实践

1.前提

2.nfs服务端部署

3.修改nfs服务端的配置文件,进行客户端授权

4.挂载


一.NFS服务

专用于linux和linux之间的专门的文件共享服务(NFS)服务,network filesystem网络文件系统

NFS服务可以把远程linux机器上面的文件目录数据,通过挂载的形式,映射到用户本地机器

本地/mnt ------------- 远方的一台服务器/sharedir

二.NFS和RPC的概念

NFS通过port传输数据,NFS服务在传输数据的时候,端口是随机选择的(自己重启NFS服务,查看端口是否在变化)

但是因为NFS的端口是随机的,既然端口不确定,客户端是无法链接NFS服务的

所以我们就需要一个另外的服务,进行NFS的端口注册,并且告知客户端NFS的工作端口是哪一个,以此让客户端能连接到服务器的NFS服务

三.什么是RPC

RPC(远程过程调用)

linux使用NFS服务必须启动2个服务

  • NFS服务
  • RPC服务

NFS服务通过RPC注册自己的端口功能

RPC服务功能就是记录每个NFS服务对应的端口号,并且RPC保证了NFS客户端发出请求的时候,把该功能对应的端口信息告知NFS客户端,保证客户端能够正确连接到NFS服务端的端口,达到数据传输目的

linuxnfs服务安装与配置实践_第1张图片

四.工具

  • nfs-utils:NFS服务的主程序,包括了rpc.nfsd rpc.mountd这两个守护进程,相关配置文件信息
  • RPCBIND:

RPC在centos7系统平台下,实现的软件RPCBIND服务

NFS服务的配置,必须要先运行好RPCBIND服务才可以

如果RPCBIND服务重启了,原本注册的NFS服务端的信息也失效了,你还得再重启NFS服务端,重新注册信息才可以

如果仅仅修改了NFS配置文件,不需要重启NFS服务端,因为重启后,端口的信息就更新了,还得重新注册。

五.安装配置NFS环境

1.查看一下是否有nfs-utils和rpcbind软件包的安装rpm包

[root@localhost virtual_user_dir]# rpm -qa nfs-utils rpcbind
nfs-utils-1.3.0-0.68.el7.x86_64
rpcbind-0.2.0-49.el7.x86_64

66c9acac9d5b4a04b4ac38cd98b5a99a.png

2.安装nfs-utils 、rpcbind

yum install nfs-utils

linuxnfs服务安装与配置实践_第2张图片

yum install rpcbind

linuxnfs服务安装与配置实践_第3张图片

3.环境配置

NFS是c/s模式,准备一个nfs服务端,准备一个nfs客户端,两台linux机器

再nfsserver端创建一个 用于共享的文件夹,且设置相应的读写权限

mkdir /sharenfs
chmod -Rf 777 /sharenfs/

六、nfs的配置文件

vim /etc/exports

1.nfs配置文件需要遵守如下规则:

nfs共享目录 nfs客户端地址(参数1,参数2……) NFS客户端地址2(参数1,参数2……)

例如:

#把nfs服务端的根目录共享出去,且允许两个主机名为client1,client2的机器,可以进行rw读写权限 / client1(rw) client2(rw)

#允许任意的客户端,都能够挂载到此nfs /public *(rw)

#只允许指定的ip地址的服务器,能够挂载此NFS服务端的/home/nfsfile文件夹且是只读的 /home/nfsfile 101.1.16.61(ro)

2.nfs语法参数解释:

nfs共享目录是绝对路径

nfs客户端地址,也就是nfs服务器授权可以访问共享目录的地址,可以写主机名,可以写通配符,ip地址

权限参数对nfs授权的客户端,进行权限控制的参数

3.nfs客户端地址形式

单一客户端 10.1.1.1 ---用的很少

允许整个网段访问 10.1.1.0/24 ---局域网,用的较多

授权整个域名客户端 nfs.baidu.cn ---用的很少

授权子域名客户端 *.baidu.cn ---用的少

4.nfs客户端权限参数

ro ---只读

rw ---读写

root_squash ---当nfs客户端以root账号访问nfs服务端共享目录数据的时候,把该root映射为nfs服务端的一个匿名用户,该用户的uid,gid会变成nfsnobody的信息

no_root_squash ---几乎和上面一样,但是不安全,因为会映射成root账户

all_squash ---所有nfs客户端的用户都映射为匿名用户,很安全,生产环境常用

sync ---数据同步写入到内存和磁盘,有点是保证内存数据安全,但效率太低

async ---数据先写入内存,再写入到磁盘,但是内存是易失性存储,所以掉电可能会出问题

七、nfs服务端的文件目录共享实践

1.前提

nfs服务是基于rpc的111通信端口,必须要先确保已经启动了rpc服务

如果rpcbind服务停止了,111端口也不会挂掉,因为centos7还提供了rpcbind.socket服务运行着

其实也就是保证rpcbind服务正常运行

[root@localhost virtual_user_dir]# systemctl restart rpcbind
[root@localhost virtual_user_dir]# systemctl status rpcbind

linuxnfs服务安装与配置实践_第4张图片

[root@localhost virtual_user_dir]# netstat -tunlp|grep 111

92ad4806b7884f84bc673b969bfbe5ce.png

2.nfs服务端部署

前面已经确保了rpcbind服务正确启动

现在需要创建nfs服务端共享的目录

mkdir -p /sharenfs
chmod -Rf 777 /sharenfs/

我们再创建两个文件

touch /sharenfs/file1
touch /sharenfs/file2

linuxnfs服务安装与配置实践_第5张图片

防止出现权限问题,把目录所有人调整为nfsnobody

chown -R nfsnobody.nfsnobody /sharenfs/

3.修改nfs服务端的配置文件,进行客户端授权

vim /etc/exports
/sharenfs *(insecure,rw,sync:)

linuxnfs服务安装与配置实践_第6张图片

4.挂载

[root@localhost sharenfs]# mount -t nfs 127.0.0.1:/sharenfs /mnt
[root@localhost sharenfs]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 3.6G     0  3.6G   0% /dev
tmpfs                    3.6G   20M  3.6G   1% /dev/shm
tmpfs                    3.6G   13M  3.6G   1% /run
tmpfs                    3.6G     0  3.6G   0% /sys/fs/cgroup
/dev/mapper/centos-root   47G  8.0G   40G  17% /
/dev/sda1               1014M  185M  830M  19% /boot
tmpfs                    727M   36K  727M   1% /run/user/1000
/dev/sr0                 4.4G  4.4G     0 100% /run/media/o/CentOS 7 x86_64
127.0.0.1:/sharenfs       47G  8.0G   40G  17% /mnt
[root@localhost sharenfs]# cd /mnt/
[root@localhost mnt]# ls
file1  file2
[root@localhost mnt]# 

linuxnfs服务安装与配置实践_第7张图片

你可能感兴趣的:(服务器运维,Linux服务器方向,linux,服务器,运维,shell,自动化)