Linux 下的NFS server 架设基础及方法
1, NFS server简介
网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。
2LinuxNFS server的安装(RHEL5
 首先来查看一下当前系统里是否安装了NFSrpm包:
[root@localhost ~]# rpm –qa|grep nfs
将会看见有两个RPM包,分别为:
nfs-untils-1.0.9-16.el5     #提供nfs服务的软件包
nfs-untils-lib-1.0.8-7.2    #库文件
默认情况下,的NFS server RPM包是有安装,另外还有一个软件包
 
[root@localhost ~]# rpm –qa|grep portmap
如果没有安装可以在系统盘中的portmap -4.0-65.2.2.1文件,然后安装
[root@localhost ~]# rpm  -ivh  portmap -4.0-65.2.2.1   #管理 RPC的连接
 
查看一下进程情况,
[root@localhost ~]# ps –eaf|grep portmap
这里不要启动服务,默认情况下,系统运行时就开启了此服务。
 
看看111端口是否在运行:
[root@localhost ~]#netstat –anf|grep :111
正常情况下TCP-111 HE UDP-111是开启的
 
Portmap的两个进程是 rpc.nfsd rpc.mountd
现在通过脚本运行:
[root@localhost ~]# /etc/rc.d/init.d/nfs start
[root@localhost ~]# ps –eaf|grep mountd    #mountd 进程主要管理文件。
 
[root@localhost ~]#netstat –anf|grep :2049   #nfsd 进程监听
[root@localhost ~]#netstat –anf|grep rpc.mountd    #端口是不固定的
[root@localhost ~]# rpcinfo –p    #查看所有的NFS进程运行的状态
 
注意这个时候如果有防火墙记得打开相应的端口:
[root@localhost ~]# iptables –I input –p tcp –dport 2049 –j accept
[root@localhost ~]# iptables –I input –p udp –dport 2049 –j accept
[root@localhost ~]# iptables –I input –p tcp –dport 111 –j accept
[root@localhost ~]# iptables –I input –p udp –dport 111 –j accept
 
 
3, NFS server主配置文件的配置信息
 Linux下的nfs server主配置文件是/etc/exporce文件。当nfs server正确安装后,etc/exporce文件时自动生成的,但是里面没有内容。
编辑文件:
[root@localhost ~]# vi /etc/exporce
键入内容:
/projects   *(or)  *.wivce.edu(rw,sysc)   
/projects  #是导出来的路径以及权限
*(or)      #表示任何主机以只读权限访问
*.wivce.edu(rw,sync)  #表示只要是wivce.edu域中的任何主机有只读和写的权限,而且写的时候是同步写到server的服务器的存贮设备中。而async是异步的,先驻客户的内存中。默认为sync方式。
/home/abc   pc0001 (rw,all_aquarb,用户ID,组ID)   #导出目录/home/abc  
/pub         #导出目录/pub
然后存档退出,重启服务
[root@localhost ~]# exportfs –r –v
或者
[root@localhost ~]# /etc/rc.d/init.d/nfs restart
  
  
  [root@localhost ~]# exportfs       #导出exportfs文件夹中的文件
[root@localhost ~]# exportfs  -v   #导出的文件时更详细的内容
 
[root@localhost ~]# exportfs –I  *:/usr –o  ro –v
就是把USR目录导出 如果在exportfs里那就直接导出,如果是不在exportfs里的文件,那在导出是需要加上-I 以及 –o 还有权限。
 
[root@localhost ~]# more /var/lib/nfs/etab    #有详细的导出记载内容
 
windows下配置客户端
开始》运行“cmd
首先我们telnet192.168.27.248(服务器的IP)
登录用户redyi  pass: redhat
然后用SU 转换到Linuxs下的root 用户身份
showmount –e 192.168.27.248
[root@localhost ~]# showmount –e 192.168.27.248
此时会有相关信息的提示
比如说导出的目录
 
使用mount命令:
[root@localhost ~]#mkdir /nfs
[root@localhost ~]#mount 192.168.27.248:/home  /nfs   挂在在本地文件系统下
[root@localhost ~]# cd  /nfs
[root@localhost ~]# ls –l
 
 
返回NFS server :
[root@localhost ~]#cd /home
[root@localhost ~]# ls
 
很显然能看出来两种系统的User不一样。因为他们登录时基于用户名的。他们的UID是相同的,但是系统的用户名可以不一样。
关于NFS权限设置非常复杂,暂不一起跟大家分享。目前还没有形成这种能力。
 
设置自动挂在
/etc/fstab文件可以自动挂在文件
下面看下:
[root@localhost ~]#more /etc/fstab
看见内容后可以参考相关的内容格式添加自动挂载,有了自动挂载方便了操作。同时也希望朋友们带来这一方面的资料。