当前位置:   article > 正文

NFS文件共享服务_nfslock

nfslock

NFS文件共享服务

简介:

NFS是网络文件系统,network file system

由sun公司开发的一种通过网络方式共享文件系统的通用共享解决方案;

NFS监听的端口是tcp 2049端口;

RPC服务记录端口信息、ip地址等等

RPC:远程过程调用协议;

使用nfs文件共享、启用rpcbind服务;

NFS配置讲解

/etc/exports文件的编写规则

  • 空白行可以忽略
  • #是注释内容
  • 可以使用\转义字符
  • 共享的文件目录需要换行编写
  • 主机列表需要空格隔开
  • 支持通配符

格式如下:

共享路径 客户端主机(选项)
共享路径 客户端主机1(选项) 客户端主机2(选项)
[root@master ~]# vim /etc/exports 
/ks     192.168.75.0/255.255.255.0(ro)
/mnt/cdrom      192.168.75.0/255.255.255.0)(ro)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

选项的类型:

  • ro:只读
  • rw:可写
  • sync:同步写操作
  • async:异步写操作;这个选项代表,客户端写入操作的时候可以提示用户已成功,但是实际上数据在服务器的内存中
  • wdelay:延迟写操作;把所有的信息优先放入内存中,然后再同一放到硬盘,减少对硬盘的I/O次数;
  • root_squash:屏蔽远程root权限
  • no_root_squash:不屏蔽远程root权限
  • all_squash:屏蔽所有的远程用户权限

NFS文件共享搭建

规划:

192.168.75.40是服务器nfs

192.168.75.41是客户端

nfs部署

#安装
[root@master ~]# yum -y install nfs-utils rpcbind
[root@master ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-12.el6.x86_64
nfs-utils-1.2.3-70.el6.x86_64

#准备两个共享目录
[root@master ~]# mkdir /data/nfs
[root@master ~]# mkdir /data/read
[root@master ~]# chmod a+w /data/nfs/ /data/read/

#添加用户
[root@master ~]# useradd liangjiawei
useradd:用户“liangjiawei”已存在

#编写共享信息
[root@master ~]# vim /etc/exports
/data/nfs       192.168.75.41(rw,async,no_root_squash)
/data/read      192.168.75.41(ro,sync)

#启动nfs服务
#启动前必须启动rpcbind
[root@master ~]# service rpcbind start
[root@master ~]# service nfs start
启动 NFS 服务: exportfs: Invalid netmask `255.255.255.0)' for 192.168.75.0/255.255.255.0)
exportfs: Invalid netmask `255.255.255.0)' for 192.168.75.0/255.255.255.0)
                                                           [确定]
启动 NFS mountd:                                          [确定]
启动 NFS 守护进程:                                        [确定]
正在启动 RPC idmapd:                                      [确定]

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

客户端认证

#首先查看一下nfs客户端的共享文件
[root@Node1 ~]# showmount -e 192.168.75.140
Export list for 192.168.75.140:
/data/read 192.168.75.141/24
/data/nfs  192.168.75.140/24


#创建挂载点
[root@Node1 ~]# mkdir -p /data/nfs-client
[root@Node1 ~]# mkdir -p /data/nfs-read

#挂载测试
[root@Node1 ~]# mount 192.168.75.140:/data/nfs /data/nfs-client/
[root@Node1 ~]# mount 192.168.75.140:/data/read /data/nfs-read/

#写入内容
[root@Node1 ~]# cd /data/nfs-client/
[root@Node1 nfs-client]# touch node1.txt
[root@Node1 nfs-client]# ls
node1.txt

[root@Node1 nfs-client]# cd ../nfs-read/
[root@Node1 nfs-read]# touch haha
touch: 无法创建"haha": 只读文件系统


#如果客户端有个普通用户刚好nfs服务器端也有,那么挂载创建的权限也会一样
[root@Node1 nfs-read]# useradd liangjiawei
[root@Node1 nfs-read]# passwd  liangjiawei
更改用户 liangjiawei 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@Node1 nfs-read]# su - liangjiawei
[liangjiawei@Node1 ~]$ cd /data/nfs-client/
[liangjiawei@Node1 nfs-client]$ touch liangjiawei.txt
[liangjiawei@Node1 nfs-client]$ ll
总用量 0
-rw-rw-r-- 1 liangjiawei liangjiawei 0 94 22:47 liangjiawei.txt
-rw-r--r-- 1 root        root        0 94 22:45 node1.txt

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41

nfs所需要的服务

  • nfs:这个是主程序
  • nfslock:提供锁机制
  • rpcbind:提供地址与端口注册服务
  • rpc.mountd:处理其他的NFSv2和NFSv3的请求
  • bockd:内核线程
  • rpc.statd:实现网络监控NSM协议
  • rpc.rquotad:与配额相关
  • rpc.idmapd:提供NFSv4名称映射,/etc/idmapd.conf必须被配置;

nfs客户端配置

Linux中一切皆是文件,那么nfs客户端配置命令如下:

mount -t nfs -o 选项 服务器主机:共享目录 本地挂载目录

挂载的选项如下:

  • intr:当服务器当及时允许终端NFS的请求
  • nfsvers=version:指定nfs使用的协议
  • noacl:关闭ACL
  • nolock:关闭文件锁机制
  • noexec:在挂载的文件系统中,屏蔽可执行的二进制文件
  • port=num:指定NFS的端口号
  • rsize=num:指定nfs的读取数据的速度
  • wsize=num:设置最大的数据块大小,调整NFS的写入速度
  • tcp:使用的是tcp协议挂载
  • UDP:使用的UDP协议挂载

exportfs命令

作用:查看局域网内的NFS开放的挂载信息

语法:exportfs+选项

选项:

  • -r:重新读取/etc/exports文件
  • -a:全部的共享或者全部取消共享
  • -u:取消共享,通常是与-a使用
  • -v:显示nfs的版本信息
[root@Node0 /]# exportfs -r
exportfs: No options for /data *: suggest *(sync) to avoid warning

  • 1
  • 2
  • 3

rpcinfo命令

作用:生成RPC信息报表

语法:rpcinfo+选项

选项:

  • -m:显示指定主机rpcbind操作信息表
  • -p:显示指定主机RPC注册信息
  • -s:显示指定主机所有注册RPC的信息程序,不指定主机显示本机的信息
[root@Node0 /]# rpcinfo  -p 127.0.0.1
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
............
  • 1
  • 2
  • 3
  • 4
  • 5

nfsstat命令

作用:查看NFS共享的装填

语法:nfsstat+选项

选项

  • -s:显示服务器状态
  • -n:仅显示nfs的状态
  • -c:显示客户端状态
  • -n:n为数字,234,查看nfs的版本状态信息
  • -m:显示挂载信息
  • -l:显示指定主机素有注册的RPC的信息程序
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/224868
推荐阅读