Linux 下的NFS server 架设基础及方法

Linux 下的NFS server 架设基础及方法

1, NFS server简介

网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。

2,Linux下NFS server的安装(RHEL5)

首先来查看一下当前系统里是否安装了NFS的rpm包:

[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

看见内容后可以参考相关的内容格式添加自动挂载,有了自动挂载方便了操作。同时也希望朋友们带来这一方面的资料。

G匠学习论坛” 博客,转载请与作者联系!

有时间,我们可以去爬山,

Linux 下的NFS server 架设基础及方法

相关文章:

你感兴趣的文章:

标签云: