NFS的实现

时间:2024.4.27

嵌入式LINUX NFS服务的配置

NFS最早是由Sun公司于19xx年开发出来的,其目的就是让不同计算机不同操作系统之间可以彼此共享文件。由于NFS使用起来非常方便,因此很快得到了大多数的UNIX/Linux系统的广泛支持,而且还被IETE(国际互联网工程组)制定为RFC1904、RFC1813和RFC3010标准使用NFS服务,至少需要启动以下3个系统守护进程。

(1)

rpc.nfsd

它是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器。

(2)rpc.mountd

它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利地通过rpc.nfsd登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限。

(3)portmap

portmap的主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,从而使客户端可以通过该端口向服务器请求服务。值得注意的是,

虽然portmap只用于RPC,但它对NFS服务来说是必不可少的。portmap没有运行,NFS客户端就无法查找从NFS服务器中共享的目录,要检查NFS服务是否正常运行,可使用rpcinfo -p命令。如果NFS服务运行正常,就可在该命令执行结果中看到关于portmapper等守护进程的条目。

NFS安装主要软件包

portmap-4.0-54.i386.rpm//提供port端口软件包

nfs-untils-1.0.1-2.9.i386.rpm//nfs服务包

[root@localhost root]#rpm –qa|grep portmap

//查看portmap软件包是否安装

[root@localhost root]#rpm –qa|grep nfs

//查看nfs软件包是否安装

[root@localhost root]#mount /dev/cdrom /mnt/cdrom

//如果没有安装,则将Red Hat Linux 9.0的第一张镜像盘挂载到虚拟机上,两个主安装包都在第一张镜像盘

[root@localhost RPMS]#cd /mnt/cdrom/RedHat/RPMS/

//切换到安装包目录,

[root@localhost RPMS]#ls –l portmap*

//显示以portmap开头安装包的详细信息

[root@localhost RPMS]#rpm –ivh portmap-4.0-54.i386.rpm

//安装并用进度条显示安装过程

[root@localhost RPMS]#ls –l nfs-utils*

//同理,显示nfs安装包

[root@localhost RPMS]#rpm –ivh nfs-untils-1.0.1-2.9.i386.rpm //安装nfs

[root@localhost RPMS]#ls –l redhat-config-nfs-1.0.4-5.noarch.rpm 解压是一样道理的。

[root@localhost root]#service portmap status

//查看portmap端口的运行情况

[root@localhost root]#service nfs status

//查看nfs服务是否启动

[root@localhost root]#service portmap start

//启动portmap服务

[root@localhost root]#service nfs start

//启动nfs服务,如果重启服务用

NFS的实现

service nfs restart

[root@localhost root]#rpcinfo –p //显示nfs程序版本协议端口

DEVICE=eth0 //设备别名

BOOTPROTO=static //静态类型 IPADDR=192.168.1.10 //IP地址 NETMASK=255.255.255.0 //子网掩码 NETWORK=192.168.1.0 //网络地址

NFS的实现

NFS的实现

BORADCAST=192.168.1.255 //广播地址

在根目录下建立一个arm2410cl主目录,在arm2410cl建立1个子目录temp

基本:

目录:自己定义的

/arm2410cl *(或缺省) 所有主机

/arm2410cl/temp 192.168.1.0/24(或192.168.1.*) 指定子网中的所有主机

/arm2410cl/mail 指定域名的主机

/arm2410cl/samba *.chen.com 指定域中的所有主机

NFS的实现

NFS的实现

NFS的实现

/arm2410cl/ftp 192.168.1.10指定IP地址的主机

基本权限:

ro: 只读

rw: 读写

两个基本权限是单选的,选择ro,rw就不能存在。同理,选择rw就不能选择ro 常规选项:

Insecure:允许来自高于1024的端口的连接

Insecure_locks:允许不安全的文件锁定

no_subtree_check:禁用子树查询

sync:按要求同步写操作

no_wdelay:立即强制同步写操作

用户访问:

no_root_squash:把远程根用户当作本地根用户

all_squash:把所有客户用户当作匿名用户

anonuid=XXX:为匿名用户指定本地用户ID

anongid=XXX:为匿名用户指定本地组群ID

维护NFS服务的输出目录列表

每当修改了/etc/exports文件的内容后,实际上不需要重新启动NFS服务,而直接使用命令exportfs就可以使设置立即生效。

exportfs命令就是用来维护NFS服务的输出目录列表的,命令的基本格式如下:

exports [选项]

选项有以下几个。

-a:输出在/etc/exports文件中所设置的所有目录。

-r:重新读取/etc/exports文件中的设置,并使设置立即生效,而不需重新启动NFS服务。

-u:停止输出某一目录。

-v:在输出目录时将目录显示到屏幕上。

1.重新输出共享目录

每当修改了/etc/exports文件的内容后,可使用下面的命令来重新输出共享目录

Exports –-rv

2.停止输出所有共享目录

要停止输出当前主机中NFS服务器的所有共享目录,可使用下面的命令。 exportfs –-auv

NFS服务的配置

NFS服务的配置方法相对比较简单,只需在NFS的主配置文件/etc/exports中进行设置,然后启动NFS服务即可。

NFS的实现

2.使用showmount命令测试NFS服务器的输出目录状态

showmount命令的基本格式为:

showmount –-e 192.168.1.10

showmount

showmount命令如下:

# showmount [-ae] hostname

参数说明如下。

(1)-a:以host:dir这样的格式来显示客户主机名和挂载点目录。

(2)-d:仅显示被客户挂载的目录名。

(3)-e:显示NFS服务器的输出清单。

(4)-h:显示帮助信息。

(5)-v:显示版本信息。

(6)--no-headers:禁止输出描述头部的信息。

当要扫描某一主机所提供的NFS共享的目录时,使用showmount -e IP(或主机名称hostname)即可。

# netstat -utln //观察激活的端口号

NFS的实现

nfs所开启的端口是2049,其他端口是RPC Server其他程序(例如rpc.mountd、rpc.rquotad及rpc.nfsd.)随机产生的。即端口号不会是固定的,每次restart nfs都会得到不一样的端口号值得注意的是,在使用showmount -e命令查看NFS服务器上的输出目录时,如果出现如图4-14所示的故障,其原因可能是NFS服务器上没有启动portmap或nfs服务,也可能是被防火墙过滤掉了。解决办法是启动NFS服务器上的portmap或nfs服务,并重新设置NFS服务器上的防火墙(包括iptables和TCP_Wrappers)。若是iptables防火墙引起的故障,为了测试NFS服务器功能,可简单地用service iptables stop命令先关掉该防火墙。如果不想关掉防火墙也可以,RPC port端口:111 和NFS启动端口2049,允许对外开放

iptables -A INPUT -p tcp -m multiport --dport 111,2049 -j ACCEPT iptables -A INPUT -p udp -m multiport --dport 111,2049 -j ACCEPT 启动时自动连接NFS要想让系统在启动时自动挂载NFS服务器上的输出目录,应编辑文件/etc/fstab,在该文件中加入如下格式的语句

NFS的实现

[root@localhost root]#vim /etc/fstab

NFS服务器名或IP地址:输出目录 本地挂载目录 nfs defaults 0 0 192.168.1.10:/arm2410cl /mnt/nfs nfs defaults 0 0

启动超级终端:修改IP和子网掩码

[root@EmbedSky /]#ifconfig eth0 192.168.1.11 netmask 255.255.255.0

[root@EmbeSky /]#ping –c 4 192.168.1.10

//ping是连通

NFS的实现

NFS的实现

[root@EmbeSky /]#mount –t nfs –o nolock 192.168.1.10:/arm2410cl /mnt/nfs 挂载目录是客户端的/arm2410cl 挂载点是开发板上的/mnt/nfs

卸载NFS服务器

[root@EmbedSky]#umount /mnt/nfs

//不能在挂载目录卸载,否则卸载会显示系统繁忙无法卸载

NFS服务器的故障排除

故障排除思路

NFS出现了故障,可以从以下几个方面着手检查。

(1)NFS客户机和服务器的负荷是否太高,服务器和客户端之间的网络是否正常。

(2)/etc/exports文件的正确性。

(3)必要时重新启动NFS或portmap服务。

运行下列命令重新启动portmap和NFS:

service portmap restart

NFS的实现

NFS的实现

NFS的实现

service nfs start

(4)检查客户端中的mount命令或/etc/fstab的语法是否正确。

(5)查看内核是否支持NFS和RPC服务

NFS错误信息如图所示。

Portmap关闭或防火强启屏蔽,或没有启动NFS服务

挂载时命令打错了的

挂载时没有那个目录的状态

本文出自 “嵌入式技术” 博客,请务必保留此出处

http://chenboqiang./1068057/285346

NFS的实现

NFS的实现

NFS的实现


第二篇:NFS配置文档+实例


NFS配置文档

NFS配置前提:

使用NFS服务,至少需要启动以下3个系统守护进程。

(1)nfsd (lssrc –a|grep nfs)

它是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器。

(2)rpc.mountd(lssrc –a|grep nfs)

它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利地通过rpc.nfsd登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限。

(3)portmap (lssrc –s portmap)

portmap的主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,从而使客户端可以通过该端口向服务器请求服务。

激活服务portmap和nfsd:

Startsrc –s portmap

Startsrc –f nfsd

NFS配置步骤:

1. 在Server端添加信任关系 :/etc/hosts文件添加:(p630为NFS 的Client)

NFS配置文档实例

2.修改或者添加/etc/exports文件,如下内容:

NFS配置文档实例

3.建立/testnfs文件系统如下,并Mount文件系统:mount /testnfs

NFS配置文档实例

4.重启NFS服务:

NFS配置文档实例

5.export all:

NFS配置文档实例

6.在Client端添加信任关系:/etc/hosts文件添加:(192.168.0.237为NFS的Server):

NFS配置文档实例

7.建立mount目录/demotest,并mount:

NFS配置文档实例

完成。

etc/exports文件配置:

格式:

[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]

当不指定参数时,nfs将使用默认选项。默认的共享选项是 sync,ro,root_squash,no_delay

eg:

/home/share 192.168.1.122(rw,sync) *(ro)

常用参数:

ro 只读访问

rw 读写访问

sync 所有数据在请求时写入共享

async NFS在写入数据前可以相应请求

secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送

wdelay 如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

hide 在NFS共享目录中不共享其子目录

no_hide 共享NFS目录的子目录

subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

no_subtree_check 和上面相对,不检查父目录权限

all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。 no_all_squash 保留共享文件的UID和GID(默认)

root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squas root用户具有根目录的完全管理访问权限

anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID

相关命令:

cat /var/liv/nfs/etab 查看发布权限

showmount –e 192.168.1.122 在服务端查看192.168.1.122的共享文件

df –k 在客户端查看共享文件

NFS实例:

环境:在p570上创建dfs文件系统,并将dfs文件系统挂载到f50的/home/share下。

网络环境: p570:192.168.1.57

F50 :192.168.1.50

Server端:p570

1. 查看nfs进程:nfsd、rpc.mountd和portmap三个进程必须是active的

2. 建立信任关系:/etc/hosts 添加192.168.1.50

NFS配置文档实例

f50

3. 创建dfs文件系统并mount起来:mkvg、 mklv、 crfs、 mount

4. 改写/etc/exports配置文件:

NFS配置文档实例

NFS配置文档实例

/dfs -rw,root=f50,access=f50

5. 重启nfs服务

6. 共享nfs文件系统:exportfs –a

NFS配置文档实例

NFS配置文档实例

Client端:f50

1. 建立/home/share路径

2. 将570:/dfs挂载到f50上,挂载点为/home/share:

NFS配置文档实例

NFS配置文档实例

3. 查看nfs是否成功(如下2图)。

NFS配置文档实例

NFS配置文档实例

注意:Nfs是将/dfs的内容挂载到/home/share下的

NFS配置文档实例

NFS配置文档实例

NFS配置文档实例

更多相关推荐:
经典的写照现实的历史名句

我生待明日万事成蹉跎古代诗词明日歌明日歌是明朝诗人文嘉的作品之一这一首明日歌给人的启示是世界上的许多东西都能尽力争取和失而复得只有时间难以挽留人的生命只有一次时间永不回我生待明日万事成蹉跎Ifallmythin...

很现实的句子

天会黑人会变3分情7分骗很现实的句子1别对我说永远我活不到那个点2朋友用心交父母用命孝3让你哭到撕心裂肺的那个人是你最爱的人让你笑到没心没肺那个人是最爱你的人4嘴巴上说祝你们幸福心里巴不得你们吹掉5天会黑人会变...

对社会现实的经典句子

对社会现实的经典句子一人之所以痛苦在于追求错误的东西二与其说是别人让你痛苦不如说自己的修养不够三如果你不给自己烦恼别人也永远不可能给你烦恼因为你自己的内心你放不下四好好的管教你自己不要管别人五不宽恕众生不原谅众...

经典格言警句及现实的诠释

1志不强者智不达墨子修身注释志向不坚定的人智慧就得不到充分的发挥我来给大家讲一个故事吧有三个人共同去爬一座很高很高的山第一个人喜欢爬一步回头看一步他爬了一段觉得的确已经很高了可是山顶简直看都还看不见呢这个人忽然...

18句很现实 很深刻的句子 值得一看

18句很现实的句子1曾经在某一瞬间我们都以为自己长大了但是有一天我们终于发现长大的含义除了欲望还有勇气责任坚强以及某种必须的牺牲包括爱与被爱原来我们从未长大原来我们都是倔强的孩子2每个人一生之中心里总会藏着一个...

又经典又现实的段子句子语录

又经典又现实的段子句子语录1让你哭到撕心裂肺的那个人是你最爱的人让你笑到没心没肺那个人是最爱你的人2把眼泪留给最疼你的人把微笑留给伤你最深的人3有些时候沉默并不代表我无话可说4明知是场戏还要陪你演下去5曾经就是...

现实又幽默的句子

1你在哪里所有的人都能无意间偶然邂逅唯独没有你为什么这么巧2你只不过是一颗会发光的彗星从我内心的表面匆匆划而已除了一束微弱的光芒别的什么也没有留下3这一场末路繁华不倾国不倾城却倾我所有4走的最快的是最美的风景伤...

关于友情的名段名句

关于友情的名段名句1与时间相比输了正因为输了所以散了吧人生的赌注越大失落就越大希望相互都不会忘记还能相约今生相遇今世此生足已2真正的朋友不会把友谊挂在嘴巴上不会因为友谊而要求什么但是相互会为对方做一切办得到事3...

表达友情的诗句

结交在相知骨肉何必亲汉乐府民歌ltlt箜篌谣gtgt丈夫志四海万里犹比邻三国魏曹植ltlt赠白马王彪gtgt海内存知己天涯若比邻唐王勃ltlt送杜少府之任蜀州gtgt相知无远近万里尚为邻唐张九龄ltlt送韦城李...

表达友情的诗句

表达友情的诗句诗歌大全时间20xx06032208来源未知作者admin点击254次我和你也许你是薄雾弥漫在黎明的河边我只是一片草叶承载着你凝结露珠几点也许你是鞑子香花山坡上开成灿烂一片我只是一抹白云远远衬托你...

关于诚信的名言警句

关于诚信的名言警句关于诚信的名言警句1忠诚的高尚和可敬无与伦比裴多菲2人而无信不知其可也孔子3诚实是人生永远最美好的品格高尔基4言必信行必果子路5诚实比一切智谋更好而且它是智谋的基本条件康德6你必须以诚待人别人...

关于诚信的名言警句

关于诚信的名言警句言不信者行不果墨子民无信不立孔子没有诚实哪来尊严西塞罗真话说一半常是弥天大谎富兰克林诚者天之道也思诚者人之道也孟子失信就是失败左拉真诚是一种心灵的开放拉罗什富科欺人只能一时而诚信才是长久之策约...

现实的名句(10篇)