Fedora NFS配置

NFS为network file system 的简称,最早由sun公司开发,一般NFS广泛应用在集群服务器上,他的最大特点是可以通过网络让不同的机器,不同的操作系统可以彼此的共享文件,所以它可以看作一个简单的文件服务器。NFS其实可以被视为一个RPC服务程序,在启动RPC程序前我们先要做好端口的映射工作这就是portmap,portmap的意思是当Client要连接服务器时必须知道服务器的一个空闲端口这时Client会向服务器的portmap请求一个端口然,然后Server告诉Client这端口后才可以建立连接,所以在启动NFS前要先启动portmap
  
  [wds@localhost ~]# rpm –qa |grep nfs && rpm –qa | grep portmap #查找这两个是否安装
  
  [wds@localhost ~]# vi /etc/exports # 这文件是NFS的主要配置文件
  
  [wds@localhost ~]# /usr/sbin/exportfs #这个文件是nfs共享资源命令
  
  [wds@localhost ~]# /usr/sbin/showmount #可以查看远程服务器的共享目录
  
  [wds@localhost ~]# /var/lib/nfs/xtab #nfs 的日志文件
  
  
  
  
  [wds@localhost ~]# vi /etc/exports
  
  [你想要的共享的目录] + ip 地址(参数一,参数二) [主机名二](参数三,参数四)
  
  参数列表
  
  rw: 可以写入权限
  
  ro: 只读权限
  
  no_root_squash: 登陆NFS主机共享目录的如果是root用户那么那的权限也为root但是这样并不安全
  
  root_squash: 登陆的用户如果为root它的权限将变成nobody
  
  all_squash: 不论登陆的用户是什么用户都以匿名用户的权限
  
  sync: 数据同步写入硬盘和内存中
  
  async: 数据先暂时存放在内存中,而不写入硬盘
  
  anounid: 这个可以自己设定uid,但是必须与/etc/passwd目录中用户uid一样
  
  anongid: 同anonuid,但是变的是group id
  
  
  
  服务器端配置
  
  [wds@localhost ~]# service portmap start #首先打开portmap
  
  [wds@localhost ~]# service nfs start # 在打开 nfs
  
  [wds@localhost ~]#i iptables –F #清空防火墙命令
  
  [wds@localhost ~]#
  
  比如说我要共享/var/www/html 目录 但是只是让和我一个网段的机器访问192.168.0.0/24这个网段读或写,其他的就只能读,然后在发布一个私人目录/home/wds/只开放给192.168.0.8
  
  这个IP
  
  [wds@localhost ~]# vi /etc/exports
  
  /var/www/html 192.168.0.0/24 (rw) *(ro)
  
  /home/wds 192.168.0.8(rw)
  
  
  
  现在想要*.chinaunix.com网段的机器登陆我的NFS,并且访问我的/home/wds/ 但是它们存储时我希望它们的uid和gid都变成40这个用户身份
  
  [wds@localhost ~]# vi /etc/exports
  
  /var/www/html 192.168.0.0/24 (rw) *(ro)
  
  /home/wds 192.168.0.8(rw)
  
  /home/wds *.chinaunix.com(rw,all)squash,anounid=40,anongid=40)
  
  
  如果我们修改/etc/exports这个文件后,是否要从新启动nfs呢?答案是不不需要,只要使用exportfs来从新扫描一次/etc/exports文件,并且从新设置文件加载即可
  
  
  
  语法为:
  
  [wds@localhost ~]# exportfs [-aruv]
  
  参数说明:
  
  -a: 全部挂载(或者卸载)/etc/exports 文件的设置
  
  -r: 从新挂载/etc/exports 里设置,此外,同步更新/etc/exports 及/var/lib/nfs/xtab的内容
  
  -u: 卸载某一目录
  
  -v: 在导出时,将共享目录显示在屏幕上
  
  例如:
  
  [wds@localhost ~]# exportfs –rv 全部从新导出一次
  
  [wds@localhost ~]# exportfs –au 全部卸载掉
  
  
  
  Showmount 的是显示是否有挂载
  
  
  
  语法为:
  
  [wds@localhost ~]# showmount [-ae] hostname
  
  参数说明:
  
  -a: 在屏幕上显示与当前的client连接后使用目录的状态
  
  -e: 显示Hostname这台机器的/etc/exports中的共享信息
  
  [wds@localhost log]# showmount -e localhost
  
  Export list for localhost:
  
  /var/www/html (everyone)
  
  
  
  Rpcinfo [-p]hostname[or ip]
  
  -p 显示端口与程序的信息
  
  
  
  [wds@localhost log]# rpcinfo -p localhost
  
   program vers proto port
  
   100000 2 tcp 111 portmapper
  
   100000 2 udp 111 portmapper
  
   100024 1 udp 1024 status
  
   100024 1 tcp 1024 status
  
   100011 1 udp 837 rquotad
  
   100011 2 udp 837 rquotad
  
   100011 1 tcp 840 rquotad
  
   100011 2 tcp 840 rquotad
  
   100003 2 udp 2049 nfs
  
   100003 3 udp 2049 nfs
  
   100003 4 udp 2049 nfs
  
   100003 2 tcp 2049 nfs
  
   100003 3 tcp 2049 nfs
  
   100003 4 tcp 2049 nfs
  
   100021 1 udp 1026 nlockmgr
  
   100021 3 udp 1026 nlockmgr
  
   100021 4 udp 1026 nlockmgr
  
   100021 1 tcp 1026 nlockmgr
  
   100021 3 tcp 1026 nlockmgr
  
   100021 4 tcp 1026 nlockmgr
  
   100005 1 udp 858 mountd
  
   100005 1 tcp 861 mountd
  
   100005 2 udp 858 mountd
  
   100005 2 tcp 861 mountd
  
   100005 3 udp 858 mountd
  
  100005 3 tcp 861 mountd
  
  
  
  Client端的设置
  
  
  
  Server端设置完毕,接下来就是让client端连接上server!连接server步骤如下:
  
  1. 扫描可以使用的server目录:
  
  2. 在client端建立装载点
  
  3. 使用mount 命令远程挂载远程共享目录
  
  4. 解决可能发生的问题(被防火墙过滤掉了)
  
  Showmount是显示远程主机共享资源
  
  
  
  [wds@localhost ~]# showmount -e 192.168.0.8
  
  Export list for 192.168.0.8:
  
  /var/www/html (everyone)
  
  /home/wds *.chinaunix.com,192.168.0.6
  
  [wds@localhost ~]# mount -t nfs 192.168.0.8:/var/www/html /mnt 把远程的/var/www/html 挂载到本地
  
  [wds@localhost ~]# umount /mnt 卸载远程目录
  
  
  
  如果你想要开机启动时自动加载NFS服务器导出目录,我们在NFS端/etc/fstab文件中加入以下一行
  
  192.168.0.8:/var/www/html /mnt nfs rsize=8192,wsize=8192,timeo=14,intr

你可能感兴趣的:(linux,命令与系统维护)