博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NFS介绍、NFS服务端安装配置、NFS配置选项介绍
阅读量:6313 次
发布时间:2019-06-22

本文共 4214 字,大约阅读时间需要 14 分钟。

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上的一致,NFS服务需要借助RPC服务去通信。

NFS介绍、NFS服务端安装配置、NFS配置选项介绍

NFS介绍、NFS服务端安装配置、NFS配置选项介绍

NFS服务端安装配置

1.安装应用包

服务端

[root@gary-tao ~]# yum install -y nfs-utils rpcbind

客户端

[root@gary-tao ~]# yum install -y nfs-utils
2.修改配置文件
[root@gary-tao ~]# vim /etc/exports增加如下配置内容:/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)//注解:第一部分是本地要共享出去的目录。第二部分是允许访问的主机(可以是一个IP,也可以是一个IP段)第三部分就是小括号里面的一些权限选项。
3.创建目录及更改权限
[root@gary-tao ~]# mkdir /home/nfstestdir[root@gary-tao ~]# chmod 777 /home/nfstestdir/
4.启动NFS服务
[root@gary-tao ~]# systemctl start nfs  //启动nfs服务[root@gary-tao ~]# ps aux |grep nfsroot      13990  0.0  0.0      0     0 ?        S<   21:40   0:00 [nfsd4_callbacks]root      13996  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      13997  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      13998  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      13999  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      14000  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      14001  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      14002  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      14003  0.0  0.0      0     0 ?        S    21:40   0:00 [nfsd]root      14007  0.0  0.0 112684   976 pts/1    S+   21:40   0:00 grep --color=auto nfs[root@gary-tao ~]# ps aux |grep rpcrpc       13799  0.0  0.1  64964  1412 ?        Ss   21:25   0:00 /sbin/rpcbind -wrpcuser   13963  0.0  0.1  42380  1748 ?        Ss   21:40   0:00 /usr/sbin/rpc.statdroot      13964  0.0  0.0      0     0 ?        S<   21:40   0:00 [rpciod]root      13969  0.0  0.0  42564   944 ?        Ss   21:40   0:00 /usr/sbin/rpc.mountdroot      13980  0.0  0.0  21404   536 ?        Ss   21:40   0:00 /usr/sbin/rpc.idmapdroot      14009  0.0  0.0 112680   976 pts/1    R+   21:41   0:00 grep --color=auto rpc[root@gary-tao ~]# systemctl enable nfs  //设置nfs开机启动Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.[root@gary-tao ~]# systemctl start rpcbind   //启动rpc服务[root@gary-tao ~]# systemctl enable rpcbind  //设置rpc开机启动

NFS配置选项

  • rw 读写;
  • ro 只读;
  • sync 同步模式,内存数据实时写入磁盘;
  • async 非同步模式,表示把内存中的数据定期写入磁盘;
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

客户端挂载NFS

[root@gary ~]# showmount -e 172.16.111.100  //查看NFS的共享情况 clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)//以上报错原因是由防火墙导致,按下面方法关闭服务端与客户端的防火墙[root@gary ~]# systemctl stop firewalld //关闭防火墙[root@gary ~]# getenforce     //关闭seLinuxEnforcing[root@gary ~]# setenforce 0[root@gary ~]# showmount -e 172.16.111.100Export list for 172.16.111.100:/home/nfstestdir 172.16.111.0/24[root@gary ~]# mount -t nfs 172.16.111.100:/home/nfstestdir /mnt/   //挂载服务端nfs[root@gary ~]# df -h  //查看磁盘挂载文件系统                         容量  已用  可用 已用% 挂载点/dev/sda3                         18G  1.1G   17G    7% /devtmpfs                         479M     0  479M    0% /devtmpfs                            489M     0  489M    0% /dev/shmtmpfs                            489M   19M  470M    4% /runtmpfs                            489M     0  489M    0% /sys/fs/cgroup/dev/sda1                        197M  109M   88M   56% /boottmpfs                             98M     0   98M    0% /run/user/0172.16.111.100:/home/nfstestdir   18G  6.9G   11G   39% /mnt

客户端建立文件测试:

[root@gary ~]# cd /mnt/[root@gary mnt]# ls[root@gary mnt]# touch aminglinux.111[root@gary mnt]# ls -l总用量 0-rw-r--r--. 1 xietao xietao 0 1月  16 14:19 aminglinux.111[root@gary mnt]# id xietaouid=1000(xietao) gid=1000(xietao) 组=1000(xietao)

服务端查询建立文件是否同步:

[root@gary-tao ~]# ls -l /home/nfstestdir/总用量 0-rw-r--r-- 1 mysql mysql 0 1月  16 14:19 aminglinux.111[root@gary-tao ~]# id mysqluid=1000(mysql) gid=1000(mysql) 组=1000(mysql)
说明:在客户端建立文件时会发现文件用户属主与属组是xietao,而且在服务端查询文件时用户却是mysql,这是因为nfs限定了用户,所以最终显示成这样。

转载于:https://blog.51cto.com/taoxie/2061758

你可能感兴趣的文章
android 获得View的高度
查看>>
从上到下打印二叉树——层序遍历二叉树
查看>>
菜鸟学SSH(二)——Struts2国际化手动切换版
查看>>
ECMAScript新特性【一】--Object.create
查看>>
Tomcat 映射虚拟目录
查看>>
Android开发EditText属性
查看>>
关于操作系统的进程调度问题
查看>>
POJ 1243 One Person
查看>>
Bash: about .bashrc, .bash_profile, .profile, /etc/profile, etc/bash.bashrc and others
查看>>
hibernate 映射实例 学生 课程 成绩
查看>>
【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境
查看>>
自适应网页布局经验
查看>>
Ubuntu apache 禁止目录浏览
查看>>
常用脚本--归档ERRORLOG
查看>>
js网页倒计时精确到秒级
查看>>
常用CSS缩写语法总结
查看>>
TDD:什么是桩(stub)和模拟(mock)?
查看>>
C# 模拟POST提交文件
查看>>
PAT 解题报告 1004. Counting Leaves (30)
查看>>
Android开发之蓝牙 --修改本机蓝牙设备的可见性,并扫描周围可用的蓝牙设备
查看>>