fedora nfs

来源:互联网 发布:如何自学成为sql工程师 编辑:程序博客网 时间:2024/06/04 19:27

NFSnetwork 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 nfsstart             # 在打开 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/但是它们存储时我希望它们的uidgid都变成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
原创粉丝点击