NFS服务的配置与应用

 
NFS服务的配置与应用
 
nfs 服务是基于 rpc 来实现的,是一个方便的共享文件系统,在 linux windows 之间共享的文件非常的便捷。 linux nfs 已经被完全整合进了内核,只要在编译内核的时候选择编译文件系统,那么默认就支持 nfs
nfs 主服务进程使用的端口是 2049 udp 2049 tcp ,其他的进程端口都是半随机的(基于 portmap )建议在 /etc/sysconfig/nfs 将随机端口定义成静态端口,使端口不混乱,并且利于配置 iptables 防火墙策略
nfs 的安装包是 nfs-utils 基于 uid 识别用户,配置文件 /etc/exports /etc/sysconfig/nfs
nfs 是多进程的
nfsd 主服务进程 是工作于内核中的,只能以 root 用户来运行
1 rpc.mountd 基于 rpc 实现的挂载监控的进程
2 rpc.srard 用户建立的连接若是断掉,它负责通知服务器重新建立 4 连接
3 lockd 处理客户端请求文件锁,防止多用户同时对一个文件写入造成的冲突
4 rpc.rquotad  RPC 的辅助进程,默认监听随机端口
 
若是想让系统在启动时自动挂载 NFS 服务器上的输出目录,就编辑 /etc/fstab  加入如下格式
NFS 服务器名或 IP 地址:输出目录 本地挂载目录 nfs defaults 0 0
 
实现 nfs 服务 只需要编译 /etc/exports , 该文件默认为空的,每一行表示你共享的一个文件系统    
添加格式:
共享文件目录   允许访问的主机(访问权限)
(注:被导出的目录为独立的文件系统,若不是则在权限中定义 subtrww_check 使更安全,如果共享文件中有空格用“”括起来,
定义允许访问的主机可以是 IP 网段, IP NIS 域( @NIS 域名)并且可以通配)
下面介绍几种常用的访问权限
ro 可读
rw 可读可写
async 异步写入 先将数据保存在内存缓存区中,必要时才写入磁盘
sync 同步写入 将数据同步写入内存缓存区与磁盘中,效率低但是可以保证数据的一致性
用户映射选项
root_squash 如果是 root 用户来挂载的话,权限太大,就把 root 用户映射成来宾账号(默认设置)
no_root_squash  root 访问时,不把 root 映射成来宾账号 ( 该设置很危险 )
all_squash  将远程访问的所有用户和所属用户组都映射成匿名用户或用户组
no_all_squash  不将远程访问的所以用户和所属拥护组映射成匿名 (默认设置)
anonuid=xxx  将远程访问的所以用户都映射成匿名用户,并指定为本地用户( UID=xxx
anongid=xxx   将远程访问的所以用户组都映射成匿名用户组账户,并指定为本地用户组( GID=xxx
其他常用项
secure     限制客户端只能从小于 1024 TCP/IP 端口连接 NFS 服务器(默认设置)
insecure 允许客户端从大于 1024 TCP/IP 的端口连接 NFS 服务器
subtree_check 若输出目录是一个子目录,则 NFS 将检查其父目录的权限(默认设置)
no_subtree_check 即使输出的目录是一个子目录, NFS 也不检查其父目录的权限
 
每当修改了 /etc/exports 文件后,不需要重启 NFS 服务,使用 exportfs 就可以使设置立即生效
exportfs 命令就是用来维护 NFS 服务的输出目录列表的
exportfs  -r 重新读取 /etc/exports 文件设置,并使设置立即生效
exportfs �Cra 重新导出全部
exportfs �Cv  将当前系统导出项显示在屏幕上
exportfs �Cau 关闭服务
exportfs �Ca 开启所有的,全部导出
 
showmount 命令查看 NFS 服务器上的共享信息
showmount �Ce localhost 查看当前主机共享的文件系统 ( 只在服务端执行 )
showmount �Ca 查看所有被挂载信息 (在服务端执行)
showmount �Cd 只显示被挂载目录
showmount �Ce IP 查看该 IP 共享的信息(客户端)
 
演示挂载过程
1 # vim /etc/exports
/var/ftp 192.168.0.71(rw sync)  192.168.1.0/24(ro)
/var/pub        *(ro)
2 #service nfs restart
#service portmap status    nfs 是基于 portmap 所以确定 portmap 是启动的
portmap (pid 3110) is running... 
#rpcinfo �Cp localhost  显示出来当前 rpc portmap 默认选择的端口
基于 rpc 提供服务
#service nfs restart  重启 nfs 服务,或者 #exportfs �Cr
showmount �Ce localhost 查看当前主机共享的文件系统
切换到 192.168.0.71
#mount �Ct nfs 192.168.0.71:/var/ftp /mnt
#cd /mnt  ls 查看   /var/ftp 下的文件是不是被挂在到 /mnt 下了
 

你可能感兴趣的:(linux,职场,服务,nfs,休闲)