2018-3-26 14周1次课 NFS服务端安装配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018-3-26 14周1次课 NFS服务端安装配置相关的知识,希望对你有一定的参考价值。

14.1 NFS介绍


·NFS是Network File System的缩写

·NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本

·NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。

·NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

技术分享图片

(A/B/C三台主机数据一致,仅仅将A上数据拷贝到B/C上的话,B/C上数据无法实现和A的实时同步)

技术分享图片

rpcbind服务产生的RPC协议进行通信(rpcbind服务默认监听111端口),NFS服务会在RPC注册一个端口,并告知RPC,PRC通过和用户PRC数据传输,告诉用户主机端口号,用户主机通过端口号访问

NFS服务需要借助RPC协议实现通信。





14.2 NFS服务端安装配置


·服务端安装nfs-utils和rpcbind

[[email protected] ~]# yum install -y nfs-utils rpcbind

(过程省略)


·客户端安装nfs-utils

(过程省略,其实只要安装了nfs-utils,就会自动装上rpcbind包)


·服务端上编辑 vim /etc/exports

写入/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

[[email protected] ~]# vim /etc/exports

技术分享图片


·创建/ home/nfstestdir 目录,更改777权限

[[email protected] ~]# mkdir /home/nfstestdir
[[email protected] ~]# chmod 777 /home/nfstestdir
[[email protected] ~]# netstat -lntp

技术分享图片

[[email protected] ~]# ps aux |grep rpc
root        395  0.0  0.0      0     0 ?        S<   22:29   0:00 [rpciod]
root       1200  0.0  0.0 112676   984 pts/0    R+   22:32   0:00 grep --color=auto rpc
[[email protected] ~]# systemctl start rpcbind
[[email protected] ~]# systemctl start nfs
[[email protected] ~]# ps aux |grep nfs

技术分享图片

[[email protected] ~]# ps aux |grep rpc

技术分享图片

(启动nfs服务的时候,会自动启动rpc相关服务)


·设置开机启动:

[[email protected] ~]# systemctl enable rpcbind
[[email protected] ~]# systemctl enable nfs
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.





14.3 NFS配置选项


·服务端上NFS配置选项:

rw //读写

ro //只读

sync //同步模式,内存数据实时写入磁盘

async //非同步模式

no_root_squash //客户端挂载NFS共享目录后,root用户不受约束,权限很大

root_squash //与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户

all_squash //客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户

anonuid/anongid //和上面几个选项搭配使用,定义被限定用户的uid和gid


showmount -e 查看对某台做了nfs服务的机器,有没有权限

mount -t 指定类型



[[email protected] ~]# showmount -e 192.168.65.128
Export list for 192.168.65.128:
/home/nfstestdir 192.168.65.0/24

技术分享图片


·挂载:mount -t 类型 远程ip:共享目录 挂载点

[[email protected] ~]# mount -t nfs 192.168.65.128:/home/nfstestdir /mnt
[email protected] ~]# df -h
文件系统                         容量  已用  可用 已用% 挂载点
/dev/sda3                         18G  3.8G   15G   21% /
devtmpfs                         479M     0  479M    0% /dev
tmpfs                            489M     0  489M    0% /dev/shm
tmpfs                            489M  6.7M  482M    2% /run
tmpfs                            489M     0  489M    0% /sys/fs/cgroup
192.168.65.128:/home/nfstestdir   18G  3.8G   15G   21% /mnt
/dev/sda1                        197M   97M  100M   50% /boot
tmpfs                             98M     0   98M    0% /run/user/0
[[email protected] ~]# touch /mnt/20180320.txt
[[email protected] ~]# ll /mnt/20180320.txt
-rw-r--r-- 1 mysql mysql 0 3月  20 21:27 /mnt/20180320.txt


客户端上创建一个新文件20180320.txt,再去服务端共享目录查看

[[email protected] ~]# ll /home/nfstestdir/
总用量 0
-rw-r--r-- 1 mysql mysql 0 3月  20 21:27 20180320.txt
[[email protected] ~]# id mysql
uid=1000(mysql) gid=1000(mysql) 组=1000(mysql)

(在NFS配置选项设置了anonuid和anongid为1000,所以一旦挂载了nfs共享目录,无论客户端上用什么用户去创建文件,在服务端上都显示为uid为1000,gid为1000,也就是mysql)


以上是关于2018-3-26 14周1次课 NFS服务端安装配置的主要内容,如果未能解决你的问题,请参考以下文章

2018-3-27 14周2次课 NFS(下)FTP(上)

十四周一次课

53次课( NFS介绍 NFS服务端安装配置NFS配置选项)

Linux学习笔记十四周一次课(5月9日)

linux十四周一次课(5月9日)笔记

linux十四周二次课(5月10日)笔记