当前位置:文档之家› ARM开发板如何挂载NFS开发环境的方法步骤(mini2440无盘启动)

ARM开发板如何挂载NFS开发环境的方法步骤(mini2440无盘启动)

ARM开发板如何挂载NFS开发环境的方法步骤(mini2440无盘启动)
ARM开发板如何挂载NFS开发环境的方法步骤(mini2440无盘启动)

ARM开发板如何挂载NFS开发环境的方法步骤(mini2440无盘启动)

这个部分还是比较不好弄的。想象要是不能通过nfs挂载网盘的话,他提出这个方法也就没什么用了。这样看的话,是比较完美了。在你实验之前你可以现挂载一下(用busybox生成文件系统后不用编译就可以了)确认没问题在编译下载镜像文件。还有在作qt文件应用程序的时候很大用这种方法,相信不用考虑编译和裁减的情况下就可以直接运行了。

首先介绍一下我的开发环境:

PC环境是ubuntu9。04,开发板为友善之臂的MINI2440

主机IP:192.168.50.72 网关:192.168.50.1 子网掩码:255.255.255.0

开发板IP:192.168.50.168  网关:192.168.50.1 子网掩码:255.255.255.0

为了能和主机建立起连接我必须得把开发板IP改成和主机一个网段的.

这里首先要说明的是ubuntu的静态IP设置问题:

默认安装完成后,右上角的网络配置上wired ..和eth0为灰色。不能点选。

然后禁用networdmanager启动network以太网设置静态IP的时候,不管怎么设置,子网掩码都和网关一样,

比如说:地址:192.168.0.22

子网掩码: 192.168.0.1 //不管怎么输入255.255.255.0 ,都不行!

网关:192.168.0.1 //这里改了255.255.255.0的话,上面就也成255.255.255.0了。(auto ethernet是可以联上网的)。所以就上GG找答案,找解决方法。

进入FC10,执行终端命令(也可以用VI修改)

$ su -c ‘gedit /etc/sysconfig/networking/devices/ifcfg-eth0′

直接修改文件中的子网掩码信息就可以

代码为:

# Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express

DEVICE=eth0

HW ADDR=00:16:e6:db:c2:96

ONBOOT=yes

BOOTPROTO=static //这个应该是‖static‖,而不是―dhcp‖或―none‖;

USERCTL=yes

PEERDNS=yes

IPV6INIT=no

NM_CONTROLLED=yes//这个应该是―yes‖,如不修改,链接仍是disconnected;

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.50.72

GA TEW AY=192.168.50.1

然后重新激活下网卡就可以了.

#service network restart

设置完成后,右上角的网络配置上System eth0与auto ethernet就可以点选了.

需要说明的是因为我之前没有设置静态IP之前通过NFS 启动系统启动不了.

连接主机和开发板

我选择了串口线和网线连接起了主机和开发板

连接好电源,串口线,网线,打开串口终端

配置minicom(在FC10终端输入命令minicom -s)

进入到minicom配置界面后选择:Serial port setup

然后按照下面的设置下就OK了

A – Serial Device : :/dev/ttyS0

B – Lockfile Location : /var/lock

C – Callin Program :

D – Callout Program :

E – Bps/Par/Bits : 115200 8N1

F – Hardware Flow Control : No

G – Software Flow Control : No

建立和配置NFS 服务

(1)设置共享目录

运行命令

#gedit /etc/exports

编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容:

/opt/FriendlyARM/mini2440/root_qtopia *(rw,sync,no_root_squash)

其中:

/opt/FriendlyARM/mini2440/root_qtopia 表示nfs 共享目录,它可以作为开发板的根文件系统通过nfs 挂接;

* 表示所有的客户机都可以挂接此目录

rw 表示挂接此目录的客户机对该目录有读写的权力

no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份

(2)通过命令启动和停止nfs 服务

在命令行下运行:

#/etc/init.d/nfs  restart

这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。

# mount -t nfs 192.168.50.72: /opt/FriendlyARM/mini2440/root_qtopia  /mnt/

如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和

/opt/FriendlyARM/mini2440/root_qtopia 是一致的。

使用这个命令可以停止nfs 服务:

#/etc/init.d/nfs stop

检查nfs服务器是否开启:  #service nfs status

重启对应的2个服务:      #service portmap restart

#service nfs restart

检查防火墙看是否屏蔽了nfs端口

#service iptables stop

#service iptables status

通过NFS 启动系统

当NFS 服务设置好并启动后,我们就可以把NFS 作为根文件系统来启动开发板了。通过使用NFS 作为根文件系统,开发板的―硬盘‖就可以变得很大,因为您使用的是主机的硬盘,这是使用linux 作为开发经常使用的方法,

设置目标板启动模式为Nand Flash 启动,连接好电源,串口线,网线;打开串口终端,在开机或者复位的时候迅速按下PC 机的空格键,这样我们就进入了vivi 模式,输入以下命令:

Supervivi> param set linux_cmd_line ―console=ttySAC0 root=/dev/nfs

nfsroot=192.168.50.72:/opt/FriendlyARM/mini2440/root_qtopia

ip=192.168.50.168:192.168.50.72:192.168.50.1:255.255.255.0:mini2440:eth0:off‖

(1,如果通过minicom监控串口,如出现乱码,可将波特率调高点,我调的是

115200                                            2,输入命令过长的话,发现minicom没法

换行,其实也可以设置一下:同时按下CTRL+A  松开后按  W换

行开关)

注意:要是你用的是usb转串口console=ttyUSB0。还有就是你要把你想挂载的文件系统放在共享的文件里面(root_qtopia)

其中,param set linux_cmd_line 是设置启动linux 时的命令参数。其各参数的含义如下:

nfsroot 后面是自己开发主机的IP 地址。

―ip=‖后面:

第一项(192.168.50.168)是目标板的临时IP(注意不要和局域网内其他IP 冲突);

第二项(192.168.50.72)是开发主机的IP;

第三项(192.168.50.1)是目标板上网关(GW)的设置;

第四项(255.255.255.0)是子网掩码;

第五项是开发主机的名字(一般无关紧要,可随便填写)

eth0 是网卡设备的名称

然后输入boot,按回车就可以通过nfs 启动系统了。

在开发板上挂载NFS网络文件系统(Linux 中最常用的方法就是采用NFS 来执行各种程序,这样可以不必花费很多时间下载程序,虽然在此下载hello 程序用不了多久,一旦您的应用程序变得越来越大,您就会发现使用NFS 运行的方便所在。)

通过NFS启动系统后,在开发板终端输入

[root@FriendlyARM /]# mount -t nfs -o nolock 192.168.50.72:/opt/FriendlyARM/mini2440/root_qtopia               /mnt/

这里我刚开始遇到了一个问题,以为为什么开发板不能mount,因为提示如下错误信

息:                                    mount: mounting

192.168.50.72:/opt/FriendlyARM/mini2440/root_qtopia on /mnt/ failed: No

such file or directory

于是我就ls看了一下,发现没有mnt文件夹,所以就自己创建了一个.再次mount就没有问题了.

[root@FriendlyARM /]# ls

bin      etc      home     linuxrc  proc     sbin     tmp      var

dev      hello    lib      opt      root     sys      usr      www

[root@FriendlyARM /]# mkdir mnt

[root@FriendlyARM /]# ls

bin      hello    linuxrc  proc     sys      var

dev      home     mnt      root     tmp      www

etc      lib      opt      sbin     usr

[root@FriendlyARM /]# mount -t nfs -o nolock 192.168.50.72:/opt/FriendlyARM/mini

2440/root_qtopia  /mnt/

[root@FriendlyARM /]# cd /mnt/

[root@FriendlyARM /mnt]# ls

bin      hello    linuxrc  proc     sys      var

dev      home     mnt      root     tmp      www

etc      lib      opt      sbin     usr

mount成功后你进入到/mnt目录下就可以看到你主机root_nfs目录下的内容了.

至此我成功在ARM开发板上挂载NFS网络文件系统.

from:

https://www.doczj.com/doc/c54094927.html,/bbsxp/ShowPost.asp?ThreadID=6579

下边是我转载的完美的实现ubuntu的nfs方法步骤:

网络文件系统(NFS)

一、NFS简介

1、NFS就是Network File

System的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(share

files)——可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(File

Server)。

注意:一般而言,使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需要在unix-like和windows系统之间共享,那就得使用samba了。

2、NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是……不知道,因为NFS传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。

其实,NFS运行在SUN的RPC(Remote Procedure

Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS Server也可以看作是RPC

Server。正

因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口——通过portmap 设定。比如:某个NFS

Client发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到port

number(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。

注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。

3、NFS允许系统将其目录和文件共享给网络上的其他系统。通过NFS,用户和应用程序可以访问远程系统上的文件,就像它们是本地文件一样。那么NFS最值得注意的优点有:

(1)本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。

(2)不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上设置并使其在整个网络上可用。

(3)存储设备如软盘、光驱及USB设备可以被网络上其它机器使用,这可能可以减少网络上移动设备的数量。

二、与NFS相关的几个文件和命令

1、/etc/exports

对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。

2、/sbin/exportfs

维护NFS的资源共享,可以通过它重新设定/etc/exports的共享目录,卸载NFS

Server共享的目录或者重新共享等。

3、/usr/sbin/showmount

上面的文件主要用在NFS

Server端,而showmount则主要用在Client端,showmount可以用來查看NFS共享的目录资源。

4、/var/lib/nfs/xtab

NFS的记录文档:通过它可以查看有哪些Client连接到NFS主机的记录。

下面这几个并不直接负责NFS,实际上它们是负责所有的RPC。

5、/etc/default/portmap

实际上,portmap负责映射所有的RPC服务端口,它的内容非常非常之简单。

6、/etc/hosts.deny

设定拒绝portmap服务的主机,即禁止访问的客户端IP列表。

7、/etc/hosts.allow

设定允许portmap服务的主机,即允许访问的客户端IP列表。

三、NFS安装

在主机上安装NFS服务软件,因为Debian/Ubuntu上默认是没有安装的。

1、安装端口映射器portmap(可选)

$

sudo apt-get install portmap

2、在终端提示符后键入以下命令安装NFS服务器

$ sudo apt-get install nfs-kernel-server

3、安装NFS客户端(可选)

$ sudo apt-get install nfs-common

注意:nfs-

kernel-server和nfs-common都依赖于portmap。另外,在一些文档中提出还需要使用apt-get 来手动安装NFS的客户端

nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动把它们安装

好。

这样,宿主机就相当于NFS

Server。同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common(第3步)。

四、NFS配置

1、配置portmap

方法1:编辑/etc/default/portmap,将"-i 127.0.0.1"去掉;

方法2:$ sudo dpkg-reconfigure portmap,出现―正在设定portmap‖软件包设置界面,对Should

portmap be bound to the loopback address?选择―否(No)‖。

2、配置/etc/hosts.deny

禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入:

### NFS DAEMONS

portmap:ALL

lockd:ALL

mountd:ALL

rquotad:ALL

statd:ALL

3、配置/etc/hosts.allow

允许那些你想要的主机和你的NFS服务器建立连接。

下列步骤将允许任何IP地址以192.168.1开头的主机连接到NFS服务器上,具体要看你目标板的端口地址,也可以指定特定的IP地址。在该文件中加入:

### NFS DAEMONS

portmap: 192.168.1.

lockd:

192.168.1.

rquotad:

192.168.1.

mountd:

192.168.1.

statd: 192.168.1.

通过/etc/hosts.deny和/etc/hosts.allow设置对portmap的访问,采用这两个配

置文件有点类似"mask"的意思。先在/etc/hosts.deny中禁止所有用户对portmap 的访问,再在/etc/hosts.allow中

允许某些用户对portmap的访问。

然后重启portmap daemon:

$

sudo /etc/init.d/portmap restart

4、配置/etc/exports

(1)共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享(NFS挂载目录及权限由该文件定义),书写规则是每个共享为一行)。

格式:[共享目录] [主机名或IP](参数,参数...)

第一个参数是要让客户机访问的目录,第二个是你允许的主机IP,最后的()内是访问控制方式。

注意:客户端可以使用主机名或者IP地址指定,在主机名中可以使用通配符(*),IP地址后也可以跟掩码段(/24),但出于安全原因这种情况应该尽量避免。客户端的说明后可在圆括号中加入一系列参数。很重要的一点,不要在最后一个客户端声明的后面留下任何空白或者没关闭括号,因为空白都被解释成客户端的分隔符。

例如我要将/opt/FriendlyARM/mini2440/root_nfs目录让用户的IP共享,则在该文件末尾添加下列语句:

/opt/FriendlyARM/mini2440/root_nfs

*(rw,sync,no_root_squash)

其中:

/opt/FriendlyARM/mini2440/root_nfs

表示NFS共享目录,它可以作为开发板的根文件系统通过NFS挂接;

* 表示所有的客户机都可以挂接此目录;

rw 表示挂接此目录的客户机对该目录有读写的权力;

sync 表示所有数据在请求时写入共享,即数据同步写入内存和硬盘;

no_root_squash 表示允许挂接此目录的客户机享有该主机的root身份。

注意:可以用主机名来代替*,尽量指定主机名以便使那些不想其访问的系统不能访问NFS 挂载的资源。另外,最好加上sync,

否则$ sudo exportfs -r时会给出警告,sync是NFS的默认选项。

(2)下面是一些NFS共享的常用参数:

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_squash root用户具有根目录的完全管理访问权限

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

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

(3)查看NFS Server的export

list:

$ sudo showmount -e

若更改了/etc/exports,运行以下命令进行更新:

$ sudo exportfs -r

然后重启NFS服务:

$ sudo /etc/init.d/nfs-kernel-server restart

五、启动和停止NFS服务

1、启动NFS的方法和启动其他服务器的方法类似,首先需要启动portmap和NFS这两个服务,并且portmap服务一定要先于NFS服务启动。

$ sudo /etc/init.d/portmap start

$ sudo

/etc/init.d/nfs-kernel-server start

2、停止NFS服务

在停止NFS服务的时候,需要先停止NFS服务再停止portmap服务,如果系统中还有其他服务需要使用portmap服务,则可以不停止portmap服务。

$ sudo /etc/init.d/nfs-kernel-server stop

$ sudo /etc/init.d/portmap stop

3、重新启动portmap和NFS服务

$ sudo /etc/init.d/portmap restart

$

sudo /etc/init.d/nfs-kernel-server restart

4、检查portmap和NFS服务状态

$ sudo /etc/init.d/portmap status

$ sudo /etc/init.d/nfs-kernel-server status

5、设置自动启动NFS服务

(1)检查NFS的运行级别:

$ sudo chkconfig --list portmap

$ sudo chkconfig --list nfs-kernel-server

(2)在实际使用中,如果每次开启计算机之后都手工启动NFS服务是非常麻烦的,此时可以设置系统在指定的运行级别自动启动portmap和NFS服务。

$ sudo chkconfig --level 235 portmap on

$ sudo chkconfig --level 235 nfs-kernel-server on

六、NFS客户端配置(NFS测试)

1、在NFS服务器启动后,还需要检查Linux服务器的防火墙设置(一般需要关闭防火墙服务),确保没有屏蔽

NFS使用的端口和允许通信的主机,主要是检查Linux服务器iptables、ipchains等选项的设置,以及/etc/hosts.deny,

/etc/hosts.allow文件。通常都是在内部局域网中进行开发,再安装系统时最好不要安装防火墙等网络安全软件,以方便使用时的配置。

如果你有防火墙,请确保32771、111和2049端口保持开放。

2、手动挂载

使用mount命令来挂载其他机器共享的NFS目录。

格式:$ sudo mount [Server IP]:/[share dir] [local

mount point]

例如:

$ sudo mount -t nfs [-o nolock]

localhost:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs 或

$ sudo mount -t nfs -o nolock

192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs

/mnt/root_nfs

其中,localhost可以是具体的IP地址,同时挂载点/mnt/root_nfs目录必须已经存在,而且在/mnt/root_nfs目录中没有文件或子目录。

3、自动挂载

(1)另一个挂载其他机器的NFS共享的方式就是在/etc/fstab文件中添加一行,该行必须指明NFS服务器的主机名、服务器输出的目录名以及挂载NFS共享的本机目录,同时必须是根用户才能修改/etc/fstab文件。

格式:https://www.doczj.com/doc/c54094927.html,:/usr/local/pub /pub nfs

rsize=8192,wsize=8192,timeo=14,intr

注意:可以根据实际情况修改NFS服务器共享文件夹"https://www.doczj.com/doc/c54094927.html,:/usr/local/pub"和在本机的挂载点"/pub",同时挂载点/pub在客户端机器上必须存在。

(2)NFS常见挂载参数:

timeo 如果超时,客户端等待的时间,以十分之一秒计算

retrans 超时尝试的次数

bg 后台挂载(很有用)

hard 如果server端没有响应,那么客户端一直尝试挂载

rsize 读块大小

wsize 写块大小

4、使用autofs来挂载NFS

(1)挂载NFS共享的第三种方法是使用autofs,它使用automount守护进程来管理挂载点,只在文件系统被访问时才动态地挂载。

autofs访问主映射配置文件/etc/auto.master来决定要定义哪些挂载点,然后使用适用于各个挂载

点的参数来启动automount守护进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。如/etc

/auto.misc文件可能会定义/misc目录中的挂载点,这种关系在/etc/auto.master文件中会被定义。

(2)/etc/auto.master文件中的每个项目都有3个字段,第1个字段是挂载点;第2个字段是映射文件的位置;第3个字段可选,可以包括超时数值之类的信息。

例如:要在机器上的/misc/myproject挂载点上挂载远程机https://www.doczj.com/doc/c54094927.html,中的/project52目录。

在/etc/auto.master文件中添加以下行:

/misc /etc/auto.misc --timeout 60

在/etc/auto.misc文件中添加以下行:

myproject -rw,soft,intr,rsize=8192,wsize=8192

https://www.doczj.com/doc/c54094927.html,:/proj52

/etc/auto.misc中的第1个字段是/misc子目录的名称,该目录被automount动态地创建,它不应该在客户端机器上实际存在;第2个字段包括挂载选项,如rw代表读写访问权,第3个字段是要导出的NFS的位置,包括主机名和目录。

(3)autofs是一种服务,要启动这项服务,在shell提示下键入以下命令:

$ sudo /sbin/service autofs restart

要查看活跃的挂载点,在shell提示下键入以下命令:

$ sudo /sbin/service autofs status

如果在autofs运行时修改了/etc/auto.master配置文件,则必须在shell提示下键入以下命令来通知automount守护进程重新载入配置文件:

$ sudo /sbin/service autofs reload

5、可以运行df命令查看是否挂载成功:

$ sudo df

取消挂载的命令如下:

$ sudo umount /mnt/root_nfs

七、目标板NFS配置操作

主机IP:192.168.1.101

目标板IP:192.168.1.230

将USB转串口连接上,在终端输入minicom与板子连起,作为―超级终端‖使用。

启动目标板并连通网络后,首先查看目标板kernel自身是否支持NFS,在minicom中输入cat

/proc/filesystems命令查看其中是否有NFS一行,若没有则表示内核不支持NFS,就需要重新编译和烧写内核;有则OK,接下来就可以直接进行mount操作了。

具体命令是:

# mount -t

nfs -o nolock

192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs

/mnt/root_nfs

无任何提示表示成功,这时可以进入/mnt/root_nfs目录,对文件进行cp、mv等操作。

但是如果使用命令mount -t nfs

192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs

/mnt/root_nfs,则会有如下的错误提示(也就是省去了"-o

nolock"):

# mount -t

nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs

/mnt/root_nfs

portmap: server localhost

not responding, timed out

RPC: failed to contact portmap (errno -5).

portmap: server localhost not responding, timed out

RPC: failed to contact portmap (errno -5).

lockd_up: makesock failed, error=-5

portmap: server localhost not responding, timed out

RPC: failed to contact portmap (errno -5).

这时如果使用ls

/mnt/root_nfs命令查看该目录内容时,你会发现此时NFS确确实实已经挂载成功了。

然后取消挂载的时候会出现如下的错误提示:

#

umount /mnt/root_nfs/

lockd_down: no lockd running.

而成功取消挂载时没有任何提示,同样此时NFS也确实已经取消挂载了。

那么出现上面错误提示的可能原因是:

nfs

mount默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。

简单的解决方法:kill文件锁(lockd)或者使用mount -o

nolock命令。

上面说的文件锁具体是什么原因,目前还没有找到更好的解决办法。不过,如果主机防火墙有设置时,也可能导致目标板无法正常访问。

想要使用命令端口,只要进入MINICOM(主意用笔记本的话,你的端口不能用TTY0而是TTYUSB0)进入,ENTER

后就可以输入命令了。然后直接,挂载。可以用。但是你的ETH0肯定会和你的无限冲突。自己觉得改了恐怕不行。因为他会不是别你的网卡,导致NFS不能连接

NFS参数配置详细说明

NFS参数配置详细说明 1、NFS概述 NFS:Network file system,网络文件系统; 由sun公司1984年推出,用来在网络中的多台计算机间实现资源共享(包括象文件或cd-rom); 设计的目的是:实现在不同系统间交互使用,所以它的通信协议采用与主机和操作系统无关的技术; NFS Server可以看作是File Server,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案MOUNT到自己的系统中,在CLIENT看来使用NFS的远端文件就象是在使用本地文件一样; NFS协议从诞生到现在有多个版本:NFS V2(rfc1094),NFS V3(rfc1813)(最新的版本是V4(rfc3010); 如何查看nfs当前的版本: rpm -qi portmap rpm -qi nfs-utils NFS服务器的安装: 可以由多种安装方法: ----在安装linux系统时选择安装nfs服务对应的组件;(多数linux发行版本默认安装) ----安装nfs的rpm套件包(手动安装) rpm -ivh rpm包 需要5个RPM包。 setup-*:共享NFS目录在/etc/exports中定义(linux默认都安装) initscripts-*:包括引导过程中装载网络目录的基本脚本(linux默认都安装) nfs-utils-*:包括基本的NFS命令与监控程序 portmap-*:支持安全NFS RPC服务的连接 quota-*:网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的) ----也可以去下载nfs的源代码包,进行编译安装; RPC(Remote Procedure call) NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER.所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。 nfs在系统中的后台守护进程: nfs nfs服务需要启动的其他进程: rpc.nfsd:接收从远程系统发来的NFS请求,并将这些请求转化为本地文件系统请求;rpc.mountd:执行被请求的文件系统的挂接和卸载操作; rpc.portmapper:将远程请求映射到正确的NFS守护程序; rpc.statd:在远程主机重启时,提供加锁服务; rpc.quotaed:提供硬盘容量的管理能力,磁盘限额; rpcinfo -p 可以查看所要的守护进程时候正常运行; ps -ef | grep nfsd

linux配置nfs步骤及心得

linux配置nfs步骤及心得 2014-05-28 22:50 25794人阅读评论(1) 收藏举报分类: 嵌入式linux(28) 版权声明:本文为博主原创文章,未经博主允许不得转载。 这节我们介绍NFS的相关概念,以及如何配置NFS和在客户端中查看NFS。 NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容: /home/nfs-share 192.168.1.122 *(rw,sync) 第一项是要共享的目录,后者为共享的配置参数一般为: *(rw,sync,no_root_squash,no_all_squash,no_subtree_check) 然后开启NFS和portmap服务: /etc/init.d/nfs start //用service nfs start也可以 /etc/init.d/portmap start //用service portmap stasrt也可以 在centos6.5中portmap已经改为rpcbind 在客户端,用mount –t nfs 192.168.123:/home/nfs-share /home/remote_file挂载服务器端的共享目录到本地的/home/remote-file挂载点,然后我们就可以在客户端上应用到远程 主机上的/home/nfs-share目录了。想要系统在开机时自动挂载,修改/etc/fstab文件,把NFS服务器的共享目录添加进去就可以了,这个不用多说。 如何知道远程主机上的共享目录情况呢?使用showmount命令,这个命令需要root权限。它有三个选项(记住这三个选项代表的含义: showmount –a IP 显示指定NFS服务器的客户端以及服务器端在客户端的挂载点 showmount –d IP 显示指定NFS服务器在客户端的挂载点 showmount –e IP 显示指定NFS服务器上的共享目录列表(或者叫输出列表) 我们输入命令showmount –a 192.168.1.123: 图片客户端中出现的mount clntudp_create: RPC: Program not registered错误是怎么回事?噢,我刚才重启了一下服务器端,重启后NFS服务没有开启。 我们开启服务器端的NFS服务,再从客户端上查看一下NFS服务器的情况:

linux中如何挂载NFS文件

如何挂载NFS开发环境的方法步骤 ———mount命令及umount命令的用法详解(附图说明)Step1:设置好网络 主机IP:222.204.59.185 网关:192.168.50.1 子网掩码:255.255.255.0 开发板IP:222.204.59.250 网关:192.168.50.1 子网掩码:255.255.255.0 目的是使得两个处于同一个网段。 Step2:在主机的linux中设置共享目录 运行命令 #gedit /etc/exports 编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容: /root/share *(rw,sync,no_root_squash) 保存退出 其中: /root/share表示nfs 共享目录,它可以作为开发板的根文件系统通过nfs 挂接; *表示所有的客户机都可以挂接此目录 rw表示挂接此目录的客户机对该目录有读写的权力 no_root_squash表示允许挂接此目录的客户机享有该主机的root 身份 使用showmount –e命令可以查看你的挂载点在哪,不加参数-e显示的是网络地址。 在开发板上的/mnt下建立新的nfs文件(可以放在其他地方,名字除了nfs也可以去其他的名字) Step3:通过命令启动和停止nfs 服务 在命令行下运行: #/etc/init.d/nfs restart 这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。 Step4:在minicom中使用mount命令(也可以在超级终端中使用) 确定 进入minicom界面:

# mount -t nfs 222.204.59.185: /root/share /mnt/nfs 上图为minicom中显示的linux(也即开发板中的) 如果提示:mount:RPC:unable to receive; errno =No route to host 说明你主机linux中的防火墙没关闭在主机linux 中使用一下命令就可以解决:#service iptables stop。在次使用mount命令就ok了。 注意:此处222.204.59.185主机的ip地址,使用mount命令是在超级终端或minicom中使用,而不是在主机的linux系统中。在取消挂载命令时也是在超级终端或minicom中使用,具体用法是:#umount /mnt/ 如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和/root/share是一致的。 取消挂载: 使用这个命令可以停止nfs 服务: #/etc/init.d/nfs stop 检查nfs服务器是否开启: #service nfs status 启对应的2个服务:#service portmap restart #service nfs restart 检查防火墙看是否屏蔽了nfs端口:#service iptables stop #service iptables status

NFS服务器的配置与应用

NFS服务器的配置与应用 NFS服务的配置与应用 1、什么是NFS 它是Network File system的缩写,即网络文件系统。 NFS是由SUN公司开发,并于1984年推出的一个RPC服务系统,它使我们能够达到文件的共享。一台NFS服务器如同一台文件服务器,只要将起文件系统共享出来,NFS客户端就可以将它挂载到本地系统中,从而可以像使用本地文件系统中的文件一样使用那些远程文件系统中的文件。 使用NFS既可以提高资源的使用率,又可以节省客户端本地硬盘的空间,同时也便于对资源进行集中管理 2、RPC 虽然NFS可以在网络中进行文件共享,但是NFS协议本身并没有提供数据传输的功能,它必须借助RPC(remote process call)远程过程调用协议实现数据的传输。RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以将NFS服务器看成是一个RPC服务器,而将NFS客户端看成是一个RPC客户端。 3、3个系统守护进程 ①rpc.nfsd 基本的NFS守护进程,主要管理客户端是否能登入服务器 ②rpc.mountd RPC的安装守护进程,主要管理NFS的文件系统。当客户端通过rpc.nfsd 登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限 ③portmap Portmap进行端口映射。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口号提供给客户端,使客户端可以通过该端口向服务器请求服务。Portmap如果没有运行,NFS客户端就无法查找从NFS服务器中共享的目录 以下以RedHat 红帽9为例

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

LinuxNFS服务器的安装与配置

Linux NFS服务器的安装与配置 cpw806@qq. 网上看到一篇有关nfs服务器安装与配置的文章觉得非常不错所以就收藏了起来,鉴于有很多时候收藏的网页过段时间就会莫名的找不到了,所以决定全盘拷贝存档。对原作者表示感谢。本文来 源.cnblogs./mchina/archive/2013/01/03/2840040.html 一、NFS服务简介 NFS 是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。 NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。 NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC 的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC 服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC 是负责负责信息的传输。 二、系统环境 系统平台:CentOS release 5.6 (Final) NFS Server IP:192.168.1.108 防火墙已关闭/iptables: Firewall is not running. SELINUX=disabled 三、安装NFS服务 NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

NFS服务安装与配置方案

NFS服务搭建方案 一、NFS简介 NFS它是Network File system 的缩写,即网络文件系统,我们可以通过NFS达到文件的共享,NFS 服务器设置一个共享目录或者文件给NFS 客户机,客户机就可以将服务器中的共享文件挂接在自己本地的目录下,来达到文件共享。Liunx系统一般默认安装了NFS服务。 下面我们将在129文件服务器(NFS服务器)上安装NFS服务然后在128web服务器(NFS 客户端)上挂载文件服务器的共享目录作为本地目录来使用。 二、文件服务器(192.168.198.129)NFS 服务安装与配置 (一)NFS服务安装 a)联网情况下:apt-get install nfs-common nfs-kernel-server nfs-client b)在没有网络的情况下需要nfs的rpm套件包进行安装 NFS服务需要5个RPM包。 setup-*:共享NFS目录在/etc/exports中定义 (linux默认都安装) initscripts-*:包括引导过程中装载网络目录的基本脚本 (linux默认都安装) nfs-utils-*:包括基本的NFS命令与监控程序 portmap-*:支持安全NFS RPC服务的连接 quota-*:网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的)使用rpm命令安装,格式如下: rpm -ivh rpm包 安装完成后查看nfs当前的版本: rpm -qi portmap rpm -qi nfs-utils 启动portmap和nfs /etc/init.d/portmap start /etc/init.d/nfs start

使用uboot去挂载根文件系统

1、根文件系统的制作 1)创建根文件系统主目录: mkdir rootfs 2)创建根文件系统的子目录 cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var 3)然后创建usr下的子目录 mkdir usr/bin usr/lib usr/sbin lib/modules 4)创建设备文件 内核在引导时设备节点console,null必须存在 cd dev/ 注:该目录为/mini2440/nfsroot/rootfs 下的dev目录mknod –m 666 console c 5 1 mknod -m 666 null c 1 3 c:表明类型为字符设备 第一个数字(5,1):主设备号 第二个数字(1,3):次设备号 这两个设备文件设备号是固定的 5)安装etc etc目录主要是一些启动时的脚本文件一般不需要修改 tar etc.tar.gz –C /xxx/rootfs

这个命令可能不给用改为: tar xvzf etc.tar.gz –C /xxx/rootfs 6)编译内核模块 内核模块保存在lib下面的module下 配置内核:*直接编译到zimage m不链接到zimage而是编译成模块到.o就停住 进入Linux内核目录(linux-2.6.32.2) make modules ARCH=arm CROSS_COMPILE=arm-linux- 添加了ARCH=arm表示现在编译的是arm架构的内核 CROSS_COMPILE=arm-linux-表示使用交叉编译工具链 安装内核模块到根文件系统: make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs 7)配置busybox 因为Linux很多命令都是通过软连接实现的,所以无法直接将这些命令复制到根文件系统中。Busybox是一个工具集合,根文件系统很多命令都可以通过busybox编译得到,如命令ls,cd,mkdir。 Busybox相当于一个命令解析器,根文件中命令被软连接到 busybox,由busybox进行命令解析。 a) 解压busybox tar xvzf busybox-1.13.3 b) 配置busybox

Hi3518内核和文件系统烧写以及nfs挂载

Hi3518内核和文件系统烧写以及NFS挂载

修改履历

第一步编译内核和文件系统 文档说明:涉及到目录的请根据自己的实际情况进行更改,本文档仅根据笔者的测试进行举例说明。 1 安装交叉编译器 cd arm-hisiv100nptl-linux ./cross.install 说明:3518e推荐使用100nptl进行编译,arm-hisiv100nptl-linux-(使用uclibc库,uclibc 工具链支持全规格版本和小型化版本 )arm-hisiv200-linux-(glibc 库glibc 工具链只支持全规格版本),实验时没有使用hisiv200,不确定会出什么问题,不推荐使用。 2 编译步骤 cd ./linux-3.0.y ./mk3518.sh mk3518.sh 脚本里面包含了编译linux内核所需的所有的命令,具体看mk3518.sh文件,编译成功将生成在目录arch/arm/boot/uImage文件,这个就是要烧录到板子上的 注意:大小大约为1M。大于1M也许会出问题,在实验前期都是大于1M,烧录的时候出问题。 制作rootfs文件系统,使用的是最新的squashfs只读文件系统,使用的工具为mksquashfs,目录squashfs4.2为这个工具的代码 rm ./rootfs.squashfs //仅仅为了删除之前存在的文件系统,如果没有,可不执行这一步。 ./mksquashfs ./rootfsrootfs.squashfs -b 256K cp ./rootfs.squashfs ./tftpboot //可不用命令,自己拷贝,黏贴,文件夹根据自己实际情况所定。 生成的rootfs.squashfs这个就是要烧录到板子上的文件 注意:生成的文件大约为1.5M 地址空间说明 | 256K | 1M | 1.5M | |------------|---------------|-----------------------| | boot | kernel | rootfs |

NFS服务器配置与应用

NFS服务器配置与应用 【实验目的】 1、掌握Linux系统下NFS服务器安装 2、掌握Linux系统下NFS服务器的配置 3、学会Linux系统下NFS客户端的使用 【实验内容】 1.NFS介绍 NFS(Network FileSystem,网络文件系统)是由SUN公司发展,并于1984年推出的技术,用于在不同机器,不同操作系统之间通过网络互相分享各自的文件。NFS设计之初就是为了在不同的系统间使用,所以它的通讯协议设计与主机及操作系统无关。 NFS分服务器和客户机,当使用远端文件时只要用mount命令就可把远端NFS服务器上的文件系统挂载在本地文件系统之下,操作远程文件与操作本地文件没有不同。NFS服务器所共享文件或目录记录在/etc/exports文件中。 嵌入式Linux开发中,会经常使用NFS,目标系统通常作为NFS客户机使用,Linux主机作为NFS服务器。在目标系统上通过NFS,将服务器的NFS共享目录挂载到本地,可以直接运行服务器上的文件。在调试系统驱动模块以及应用程序,NFS都是十分必要的,并且Linux还支持NFS根文件系统,能直接从远程NFS root启动系统,这对嵌入式Linux根文件系统裁剪和集成也是十分有必要的。 NFS的优点: 1)本地工作站可以使用更少的磁盘空间,因为常用数据可以保存在一台机 器上,并让网络上的其他机器可以访问它 2)不需要为用户在每台网络机器上放一个用户目录,用户目录可以在NFS 服务器上设置并使其在整个网络上可用 3)存储设备可以被网络上其他机器使用。这可以减少网络上移动设备的数 量 2.在Ubuntu上布置NFS 1)安装NFS sudo apt-get install nfs-kernel-server 2)配置NFS,添加共享目录 设置NFS-Server目录。 在做NFS服务器的电脑上设置子目录:如/home/****/nfs,供客户机访问,

centos7配置NFS

CentOS 7 安装配置 NFS 环境 nps 192.168.1.97 client 192.168.1.98 一、yum 安装 yum -y install nfs-utilsrpcbind nfs 的配置文件 /etc/expots 默认为空 vi /etc/exports /opt/test/ 192.168.1.0/24(rw,no_root_squash,no_all_squash,sync,anonuid=501,anong id=501) 二、使配置生效 exportfs -r 注:配置文件说明: /opt/test 为共享目录 192.168.1.0/24 可以为一个网段,一个IP,也可以是域名,域名支持通配符如: *https://www.doczj.com/doc/c54094927.html, rw:read-write,可读写; ro:read-only,只读; sync:文件同时写入硬盘和内存; async:文件暂存于内存,而不是直接写入内存; no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。 root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限; anonuid:匿名用户的UID值,可以在此处自行设定。 anongid:匿名用户的GID值。 三、启动 nfs servicerpcbind start servicenfs start chkconfigrpcbind on chkconfignfs on 四、客户端挂载: showmount -e 192.168.1.97 #查看可挂载 Export list for 192.168.1.97: /opt/test 192.168.1.0/24 客户端挂载 mount -t nfs 192.168.1.97:/opt/test /mnt 无提示既为成功 客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可: mount -t nfs 192.168.1.97:/opt/test /mnt -o proto=tcp -o nolock

根文件系统制作

Linux根文件系统的制作 1. 根文件系统 文件系统是包括在一个磁盘(包括光盘、软盘、闪盘及其它存储设备)或分区的目录结构;一个可应用的磁盘设备可以包含一个或多个文件系统;如果您想进入一个文件系统,首先您要做的是挂载(mount)文件系统;为了挂载(mount)文件系统,您必须指定一个挂载点。 注:对于我们应用开发来说,购买开发板的时候,厂家会提供好现成的根文件系统和BootLoader等,如果需要,我们可以改变其中的命令而无需从头开始制作一个新的根文件系统。不过这儿的制作过程可以让我们更深一点理解Linux的文件系统。 2.主要的根文件系统 * Linux 中,rootfs 是必不可少的。PC 上主要实现有 ramdisk 和直接挂载 HD(Harddisk,硬盘)上的根文件系统;嵌入式中一般不从 HD 启动,而是从 Flash 启动,最简单的方法是 将 rootfs load 到 RAM 的 RAMDisk,稍复杂的就是直接从Flash 读取的 Cramfs,更复杂的是在 Flash 上分区,并构建 JFFS2 等文件系统。 * RAMDisk 将制作好的 rootfs 压缩后写入 Flash,启动的时候由 Bootloader load 到RAM,解压缩,然后挂载到 /。这种方法操作简单,但是在 RAM 中的文件系统不是压缩的,因此需要占用许多嵌入式系统中稀有资源 RAM。 ramdisk 就是用内存空间来模拟出硬盘分区,ramdisk通常使用磁盘文件系统的压缩存放在flash中,在系统初始化时,解压缩到SDRAM并挂载根文件系统, 在linux系统中,ramdisk 有二种,一种就是可以格式化并加载,在linux内核2.0/2.2就已经支持,其不足之处是大小固定;另一种是 2.4的内核才支持,通过,ramfs来实现,他不能被格式化,但用起来方便,其大小 随所需要的空间增加或减少,是目前linux常用的ramdisk技术. * initrd 是 RAMDisk 的格式,kernel 2.4 之前都是 image-initrd,Kernel 2.5 引入了 cpio-initrd,大大简化了 Linux 的启动过程,附合 Linux 的基本哲学:Keep it simple, stupid(KISS). 不过cpio-initrd 作为新的格式,还没有经过广泛测试,嵌入式 Linux 中主要采用的还是 image-initrd。 * Cramfs 是 Linus 写的很简单的文件系统,有很好的压缩绿,也可以直接从 Flash 上运行,不须 load 到 RAM 中,因此节约了 RAM。但是 Cramfs 是只读的,对于需要运行时修 改的目录(如: /etc, /var, /tmp)多有不便,因此,一般将这些目录做成ramfs 等可写的 fs。 * SquashFS 是对 Cramfs 的增强。突破了 Cramfs 的一些限制,在 Flash 和 RAM 的使用量方面也具有优势。不过,据开发者介绍,在性能上可能不如 Cramfs。这也是一种新方法,在嵌入式系统采用之前,需要经过更多的测试。 3.Ramdisk制作 RAMDisk的制作方法如下:

linux 实验2 nfs服务器的配置与验证

实验二 nfs服务器的配置与验证 一实验目的: 通过实验理解nfs服务器和samba服务器的基本概念,并且能够在linux操作系统下安装、配置nfs服务器、samba服务器,并通过客户端验证。 二实验环境 Redhat enterprise 5操作系统,局域网。 三实验内容 配置nfs服务器并在客户端通过mount指令访问nfs服务器。 四实验步骤 一) nfs服务器的配置与验证 1 服务器配置 1)以管理员身份登录 2)在linux服务器上添加fayero用户: useradd fayero 3)在/tmp下创建nfs和fayero目录:分别运行mkdir nfs 和 mkdir fayero 4)编辑/etc/exports文件如下: /tmp/nfs 192.168.88.130(rw,sync,no_root_squash) 192.168.88.0/24(rw,sync,root_squash) /tmp/fayero *(rw,sync,anonuid=500,anongid=500) 其中10.10.115.127为客户端的ip。参数anonuid=500 中,500为fayero 用户的id,anonguid=500中,500为fayero组的id。 2 客户端验证 第一步: 1)在ip为192.168.88.130的系统下访问nfs服务器(假设服务器的ip为 10.10.115.2 ):mount –t nfs 10.10.115.2:/tmp/nfs /mnt 2)在/mnt目录下创建一个文件文件: touch a,该操作能否成功?如果成 功请指出该文件的拥有者和所属于的组。如果失败,请分析为什么。

ubifs文件系统挂载及同步

UBIFS分区制作及UBIFS烧写和启动 (转载) 相关命令工具 ubiattach version 1.0 - a tool to attach MTD device to UB I. Usage: ubiattach [-m ] [-d ] [--mtdn=] [--devn ] Example 1: ubiattach /dev/ubi_ctrl -m 0 - attach MTD device 0 (mtd0) to UBI Example 2: ubiattach /dev/ubi_ctrl -m 0 -d 3 - attach MTD device 0 (mtd0) to UBI and and create UBI device number 3 (ubi3) -d, --devn= the number to assign to the newly created UBI device(the number is assigned automatically if this is not specified) -m, --mtdn= MTD device number to attach -O, --vid-hdr-offset VID header offset (do not specify this unless you really know what you do and the optimal defaults will be used) -h, --help print help m essage -V, --version print program v ersion ubimkvol version 1.0 - a tool to create UBI volumes.

配置NFS 服务

配置NFS 服务 首先需要启动NFS Server,可以通过smit nfs–> Network File System (NFS) –>Configure NFS on This System启动或者停止nfs服务组。 可以通过lssrc -g nfs查看nfs的服务情况 #lssrc -g nfs Subsystem Group PID Status biod nfs 712706 active nfsd nfs 635260 active rpc.mountd nfs 462932 active rpc.lockd nfs 639418 active rpc.statd nfs 757914 active nfsrgyd nfs inoperative gssd nfs inoperative 当然,以上也可以通过startsrc -g nfs与stopsrc -g nfs启动与停止该服务组子系统。每当系统启动时,/etc/rc.nfs运行exportfs命令来读取服务器上的/etc/exports文件,然后告诉内核要导出哪些目录与对应的权限。然后rpc.mountd和以上守护进程由/etc/rc.nfs启动。 /etc/exports指定了nfs server要导出的目录与权限,该文件内容如下,如 #more /etc/exports /u01/logs -sec=sys:krb5p:krb5i:krb5:dh:none,rw,access=host_name 注意:这里的access一定要写机器名,其机器名对应的ip在/etc/hosts中体现出来 用exportfs可以导出该目录,如: #/usr/sbin/exportfs -a #/usr/sbin/exportfs /u01/logs -sec=sys:krb5p:krb5i:krb5:dh:none,rw,access=host_name

linux NFS 双机配置详解

LINUX NFS 双机配置详解 服务端双机共享文件系统/mnt/share 服务ip地址:192.168.1.100,客户端ip:192.168.1.0 服务端配置 1、备份VCS双机文件/etc/VRTSvcs/conf/config/main.cf 2、使用hastop -all -force命令停双机 3、在main.cf 中修改NFS资源,主要修改如下两部分中红色处; Share dNFS_Share1 ( PathName = "/share" Client = "192.168.1.0/255.255.255.0" //可以将此处修改为”*”,表示不对客户端地址做限制,也可以在下面的OtherClients中增加多个网段。 OtherClients = { "10.0.1.0/255.255.255.0" } Options = "rw,async,insecure" ) NFS dNFS_NFS ( Nproc = 128 //支持最多客户端连接数 ) 修改以后进入main.cf所在目录,执行hacf -verify .检查main.cf是否正常; 分别在主备双机上使用hastart命令启动双机,如果双机启动失败,执行hasys -force 命令强制启动双机,为双机中任一个主机名。 1)在/etc/exports中增加/share 网段/掩码(rw,async,insecure),网段/掩码表示允许访 问的客户端网络,业务网段必须包含在内。也可以直接写成 *,表示不对地址做限制。 如图:

2)nfs进程数调整。修改/etc/sysconfig/nfs文件中USE_KERNEL_NFSD_NUMBER对应的配 置值(此值表示支持最多客户端连接数)。 USE_KERNEL_NFSD_NUMBER="128" 3)重启nfs服务并配置为自启动 SUSE8、SUSE9操作系统中请执行以下命令: # /etc/init.d/nfsserver restart # chkconfig nfslock on # chkconfig nfsserver on SUSE10操作系统中请执行以下命令: # /etc/init.d/nfsserver restart # chkconfig nfsserver on 检查nfs服务状态 输入./nfsserver status命令查看NFS服务是否为Running状态,若是则表示NFS服务正常。检查/etc/sysctl.conf文件 请执行more /etc/sysctl.conf命令检查sysctl.conf文件,如果文件中有 “net.ipv4.conf.all.arp_ignore”和“net.ipv4.conf.default.arp_ignore”参数,请首先备份 /etc/sysctl.conf文件,并将这两个参数值修改为1,如果没有则忽略此步骤。修改后的效果为:net.ipv4.conf.all.arp_ignore = 1 net.ipv4.conf.default.arp_ignore = 1 保存修改后执行以下命令使修改生效: sysctl –p rcnetwork restart #该命令会导致网络瞬间中断 客户端主机执行命令 mount -t nfs 192.168.1.100:/mnt/share /mnt/fileserver 检查: df -h

ubuntu server 10.4下NFS服务的配置

前言: 1,NFS与samba有什么区别? (1)NFS基于RPC协议,samba应用SMB协议。 (2)NFS(Network File System)主要用在UNIX/LINUX操作系统之间共享文件,Samba即可以用在unix/linux操作系统之间,也可以用在unix/linux与微软的操作系统(windows)之间。经过google看到现在windows 7支持NFS了,但是中文会乱码,不支持UTF-8。 我知道的就这么多。 2,为什么NFS需要使用RPC协议? 因为 NFS 用来传输的端口是随机选择小于 1024 以下的端口来使用的,这样就使的客户端不知道服务端使用哪个端口,所以此时就得要远程过程调用 (Remote Procedure Call, RPC) 的协议来辅助。 3,RPC协议的功能及如何工作? RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的端口上去。那 RPC 又是如何知道每个 NFS 的端口呢?这是因为当服务器在启动 NFS 时会随机取用数个端口,并主动的向 RPC 注册,因此 RPC 可以知道每个端口对应的 NFS 功能,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的端口,所以当然可以让 NFS 的启动更为轻松愉快了 4,为什么先启动RPC,后启动NFS?

因为启动NFS时,就要向RPC进行注册,如果RPC没有先启动,NFS当然就注册不成功,客户端无法获取服务端的端口号,NFS就无法正常工作。所以,RPC先于NFS启动。另外,RPC 若重新启动时,原本注册的数据会不见,因此 RPC 重新启动后,他管理的所有程序都需要重新启动以重新向 RPC 注册。 5,NFS对文件权限的控制是如何进行的?会发生哪些问题,这些问题会产生什么结果?如何解决这些问题? NFS服务器是以用户在客户端机器中的UID,与以自己的 /etc/passwd, /etc/group 来查询对应的UID进行比对,进行文件权限的控制;这样一来,就会发生以下问题: (1)用户A的UID在NFS服务器的/etc/passwd, /etc/group 中刚好存在。 那A就能访问具有相应权限的文件 (2)用户A的UID在NFS服务器的/etc/passwd, /etc/group 中不存在。 那A就变成匿名用户 (3)用户A的UID是NFS服务器上B的UID 那A就能访问B所具有权限的文件。 (4)特殊用户root如何处理 在默认的情况下,变成匿名用户。关于root ,在/etc/exports中有两个相关的设置 no_root_squash:

NFS配置步骤和优化

NFS配置步骤和优化 这是目前为止,我看到最详细的关于NFS配置的中文文档 1、NFS包 NFS需要5个RPM,分别是: setup-*:共享NFS目录在/etc/exports中定义 initscripts-*:包括引导过程中装载网络目录的基本脚本 nfs-utils-*:包括基本的NFS命令与监控程序 portmap-*:支持安全NFS RPC服务的连接 quota-*:网络上共享的目录配额,包括rpc.rquotad (这个包不是必须的) 2、基本监控程序 要顺利运行NFS,至少需要五个Linux服务,它们各有不同的功能,有的负责装载服务,有的保证远程命令指向正确的位置。这些服务通过/etc/rc.d/init.d目录中的nfs,nfslock和portmap脚本启动。下面简单介绍每个监控程序:(1) 基本NFS rpc.nfsd是NFS服务器监控程序,它通过/etc/rc.d/init.d目录中的nfs脚本启动。NFS监控程序还启动rpc.mountd 装载监控程序,并导出共享目录。 (2) RPC装载 可以用mount命令连接本地目录或网络目录,但还需要一个装载NFS目录的特殊监控程序rpc.mountd (3) 端口映射器 portmap监控程序只是定向RPC通信数据流,但它对于NFS服务很重要。如果不运行portmap,则NFS客户机无法找到从NFS服务器共享的目录。 (4) 重新启动与statd 当NFS服务需要中断或者重新启动时,rpc.statd监控程序和rpc.lockd在服务器重新启动之后使客户机恢复NFS连接。 (5) 锁定 通过共享NFS目录打开文件时,锁定可以使用户不能覆盖同一个文件。锁定通过nfslock脚本并使用rpc.lockd监控程序启动运行。 3、配置NFS 共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。书写规则是:(每个共享规则一行) 共享目录主机(参数) 例如:/mnt/cdrom *https://www.doczj.com/doc/c54094927.html,(ro,sync) https://www.doczj.com/doc/c54094927.html,(rw,sync) 上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*https://www.doczj.com/doc/c54094927.html,域,并且以读写同步方式共享给https://www.doczj.com/doc/c54094927.html, 主机。任何共享目录都要指定sync或async,也就是指定文件写入磁盘之前共享NFS目录是否响应命令。 下面是一些NFS共享的常用参数: ro:只读访问 rw:读写访问 sync:所有数据在请求时写入共享 async:NFS在写入数据前可以相应请求 secure:NFS通过1024以下的安全TCP/IP端口发送 insecure:NFS通过1024以上的端口发送 wdelay:如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay:如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。 hide:在NFS共享目录中不共享其子目录 no_hide:共享NFS目录的子目录

相关主题
文本预览
相关文档 最新文档