LinuxNFS服务器的安装与配置方法(图文详解)

更新时间:2023-06-23 08:32:04 阅读: 评论:0

LinuxNFS服务器的安装与配置⽅法(图⽂详解)
⼀、NFS服务简介
  NFS 是Network File System的缩写,即⽹络⽂件系统。⼀种使⽤于分散式⽂件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过⽹络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应⽤程序在客户端通过⽹络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘⽂件共享的⼀种⽅法。
  NFS 的基本原则是“容许不同的客户端及服务端通过⼀组RPC分享相同的⽂件系统”,它是独⽴于操作系统,容许不同硬件及操作系统的系统共同进⾏⽂件的分享。
  NFS在⽂件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调⽤ (Remote Procedure Call) 是能使客户端执⾏其他系统中程序的⼀种机制。NFS本⾝是没有提供信息传输的协议和功能的,但NFS却能让我们通过⽹络进⾏资料的分享,这是因为NFS使⽤了⼀些其它的传输协议。⽽这些传输协议⽤到这个RPC功能的。可以说NFS本⾝就是使⽤RPC的⼀个程序。或者说NFS也是⼀个RPC SERVER。所以只要⽤到NFS的地⽅都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是⼀个⽂件系统,⽽RPC是负责负责信息的传输。
⼆、系统环境
女人领地系统平台:CentOS relea 5.6 (Final)
NFS Server IP:192.168.1.108
防⽕墙已关闭/iptables: Firewall is not running.
SELINUX=disabled
三、安装NFS服务
NFS的安装是⾮常简单的,只需要两个软件包即可,⽽且在通常情况下,是作为系统的默认包安装的。codebreaker
•nfs-utils-* :包括基本的NFS命令与监控程序
•portmap-* :⽀持安全NFS RPC服务的连接
1、查看系统是否已安装NFS
系统默认已安装了nfs-utils portmap 两个软件包。
2、如果当前系统中没有安装NFS所需的软件包,需要⼿⼯进⾏安装。nfs-utils 和portmap 两个包的安装⽂件在系统光盘中都会有。
复制代码代码如下:
# mount /dev/cdrom /mnt/cdrom/
# cd /mnt/cdrom/CentOS/
# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
# rpm -ivh nfs-utils-1.0.9-50.el5.i386.rpm
# rpm -q nfs-utils portmap
四、NFS系统守护进程
nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;mountd:它是RPC安装守护进程,主要功能是管理NFS的⽂件系统。当客户端顺利通过nfsd登录NFS服务器后,在使⽤NFS服务所提供的⽂件前,还必须通过⽂件使⽤权限
的验证。它会读取NFS的配置⽂件/etc/exports来对⽐客户端权限。portmap:主要功能是进⾏端⼝映射⼯作。当客户端尝试连接并使⽤RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端⼝提供给客户端,从⽽使客户可以通过该端⼝向服务器请求服务。
五、NFS服务器的配置
NFS服务器的配置相对⽐较简单,只需要在相应的配置⽂件中进⾏设置,然后启动NFS服务器即可。
NFS的常⽤⽬录
/etc/exports                          NFS服务的主要配置⽂件
/usr/sbin/exportfs                  NFS服务的管理命令
/usr/sbin/showmount              客户端的查看命令
/var/lib/nfs/etab                      记录NFS分享出来的⽬录的完整权限设定值
/var/lib/nfs/xtab                      记录曾经登录过的客户端信息
NFS服务的配置⽂件为 /etc/exports,这个⽂件是NFS的主要配置⽂件,不过系统并没有默认值,所以这个⽂件不⼀定会存在,可能要使⽤vim⼿动建⽴,然后在⽂件⾥⾯写⼊配置内容。
/etc/exports⽂件内容格式:
复制代码代码如下:
<;输出⽬录> [客户端1 选项(访问权限,⽤户映射,其他)] [客户端2 选项(访问权限,⽤户映射,其他)]
a. 输出⽬录:
dwn输出⽬录是指NFS系统中需要共享给客户机使⽤的⽬录;
b. 客户端:
客户端是指⽹络中可以访问这个NFS输出⽬录的计算机
泰语翻译报价
客户端常⽤的指定⽅式
•指定ip地址的主机:192.168.0.200
•指定⼦⽹中的所有主机:192.168.0.0/24 192.168.0.0/255.255.255.0
•指定域名的主机:david.bsmart
morals•指定域中的所有主机:*.bsmart解析法
•所有主机:*
c. 选项:
选项⽤来设置输出⽬录的访问权限、⽤户映射等。disgui
NFS主要有3类选项:
访问权限选项
•设置输出⽬录只读:ro
•设置输出⽬录读写:rw
⽤户映射选项
•all_squash:将远程访问的所有普通⽤户及所属组都映射为匿名⽤户或⽤户组(nfsnobody);
•no_all_squash:与all_squash取反(默认设置);
•root_squash:将root⽤户及所属组都映射为匿名⽤户或⽤户组(默认设置);
•no_root_squash:与rootsquash取反;
•anonuid=xxx:将远程访问的所有⽤户都映射为匿名⽤户,并指定该⽤户为本地⽤户(UID=xxx);
•anongid=xxx:将远程访问的所有⽤户组都映射为匿名⽤户组账户,并指定该匿名⽤户组账户为本地⽤户组账户
(GID=xxx);
其它选项
•cure:限制客户端只能从⼩于1024的tcp/ip端⼝连接nfs服务器(默认设置);
•incure:允许客户端从⼤于1024的tcp/ip端⼝连接服务器;
•sync:将数据同步写⼊内存缓冲区与磁盘中,效率低,但可以保证数据的⼀致性;
•async:将数据先保存在内存缓冲区中,必要时才写⼊磁盘;
•wdelay:检查是否有相关的写操作,如果有则将这些写操作⼀起执⾏,这样可以提⾼效率(默认设置);
•no_wdelay:若有写操作则⽴即执⾏,应与sync配合使⽤;
•subtree:若输出⽬录是⼀个⼦⽬录,则nfs服务器将检查其⽗⽬录的权限(默认设置);
•no_subtree:即使输出⽬录是⼀个⼦⽬录,nfs服务器也不检查其⽗⽬录的权限,这样可以提⾼效率;
六、NFS服务器的启动与停⽌
讲师英文在对exports⽂件进⾏了正确的配置后,就可以启动NFS服务器了。
1、启动NFS服务器
为了使NFS服务器能正常⼯作,需要启动portmap和nfs两个服务,并且portmap⼀定要先于nfs启动。
复制代码代码如下:
# rvice portmap start
# rvice nfs start
2、查询NFS服务器状态
复制代码代码如下:
# rvice portmap status
# rvice nfs status
3、停⽌NFS服务器
要停⽌NFS运⾏时,需要先停⽌nfs服务再停⽌portmap服务,对于系统中有其他服务(如NIS)需要使⽤时,不需要停⽌portmap 服务
复制代码代码如下:
# rvice nfs stop
# rvice portmap stop
4、设置NFS服务器的⾃动启动状态
对于实际的应⽤系统,每次启动LINUX系统后都⼿⼯启动nfs服务器是不现实的,需要设置系统在指定的运⾏级别⾃动启动portmap和nfs服务。
复制代码代码如下:
# chkconfig --list portmap
# chkconfig --list nfs
设置portmap和nfs服务在系统运⾏级别3和5⾃动启动。
复制代码代码如下:
# chkconfig --level 35 portmap on
# chkconfig --level 35 nfs on
七、实例
1、将NFS Server 的/home/david/ 共享给192.168.1.0/24⽹段,权限读写。
服务器端⽂件详细如下:
# vi /etc/exports
/home/david 192.168.1.0/24(rw)
2、重启portmap 和nfs 服务
复制代码代码如下:
# rvice portmap restart
# rvice nfs restart
# exportfs
芭堤雅海滩
3、服务器端使⽤showmount命令查询NFS的共享状态
# showmount -e    //默认查看⾃⼰共享的服务,前提是要DNS能解析⾃⼰,不然容易报错
# showmount -a    //显⽰已经与客户端连接上的⽬录信息
四年级家长会发言稿
4、客户端使⽤showmount命令查询NFS的共享状态
# showmount -e NFS服务器IP
5、客户端挂载NFS服务器中的共享⽬录
命令格式
# mount NFS服务器IP:共享⽬录本地挂载点⽬录
# mount 192.168.1.108:/home/david/ /tmp/david/
# mount |grep nfs
挂载成功。
查看⽂件是否和服务器端⼀致。
6、NFS的共享权限和访问控制
现在我们在/tmp/david/ ⾥⾯建⽴⼀个⽂件,看看权限是什么
# touch 20130103
这⾥出现Permission denied,是因为NFS 服务器端共享的⽬录本⾝的写权限没有开放给其他⽤户,在服务器端打开该权限。# chmod 777 -R /home/david/
再次在客户端/tmp/david/ ⾥⾯建⽴⼀个⽂件
我⽤root ⽤户建⽴的⽂件,变成了nfsnobody ⽤户。
NFS有很多默认的参数,打开/var/lib/nfs/etab 查看分享出来的/home/david/ 完整权限设定值。
# cat /var/lib/nfs/etab

本文发布于:2023-06-23 08:32:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/154659.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   服务器   客户端   服务   权限   共享   命令
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图