NFS配置及文件系统制作

NFS配置及文件系统制作
NFS配置及文件系统制作

NFS配置及文件系统制作

2011-04-21 19:57

NFS配置及文件系统制作

NFS定义为:The Network File System (NFS) was developed to allow machines to mount a disk partition on a remote machine as if it were a local disk. It allows for fast, seamless sharing of files across a network. 具体的介绍与说明请参考网站

https://www.360docs.net/doc/e08555081.html, 本文描述的内容都是根据它所写的,若有错误,以NFS官网为准。

1. 主机端配置

主机端主要进行两部分配置:设置NFS配置文件及开启NFS服务。

(1) 设置/etc/exports文件

在该文件中一个条目的典型例子如下

directory machine1(option11,option12) machine2(option21,option22)

directory就是你想要的共享的目录,当然包括其子目录。

machine1和machine2是能访问该目录的目标机,通常用IP地址描述(也可用DNS描述但相对不安全)。

optionxx描述每个目标机访问共享目录的权限及本身属性。

具体可在终端输入 man exports 查看详细说明。

以我的主机设置为例

/nfs 192.168.0.2(rw,sync,no_root_squash)

/nfs即共享目录;

192.1683.0.2是能访问共享目录的目标IP地址(主机(虚拟机)IP地址设为192.168.0.3);rw为读写权限,默认为只读ro;

sync为同步访问,而async为异步访问,sync只有当改动写入物理磁盘时才能响应,async 改善了性能,但在主机重启或系统崩溃时会丢失数据;

no_root_squash为目标机上的root用户拥有与主机上root用户一样的对共享目录的访问等级,虽然不够安全,但在嵌入式调试开发中可以这样设置。

(2) 开启NFS服务

在终端输入setup,进入系统服务,选择nfs

再输入service nfs restart

注意:修改/etc/exports文件不能马上生效,要输入命令exportfs -ra。如果还不生效,

查看文件/etc/hosts.allow和防火墙设置。

2. 目标机配置

(1) 内核中选择nfs

(2) 编译busybox

<1> 打开Makefile文件,添加交叉编译工具路径及目标机架构

CROSS_COMPILE ?=/home/compilers/uc4/bin/unicore32-linux-

ARCH ?= unicore32

<2> make menuconfig:

Busybox Settings ---> Build Options --->

[*] Build BusyBox as a static binary (no shared libs)

() Cross Compiler prefix在Makefile文件中或在此选项中填一处即可

Busybox Settings ---> Installation Options --->

[*] Don't use

/usr Applets links (as

soft-links) --->

(./_install) BusyBox installation prefix

<3> make 出现

Trying libraries: crypt m

Library crypt is not needed, excluding it

Library m is needed, can't exclude it (yet)

Final link with: m

注意这个不是问题,继续make install,出现

--------------------------------------------------

You will probably need to make your busybox binary

setuid root to ensure all configured applets will

work properly.

在_install下出现bin,linuxrc,sbin

(3) 制作NFS文件系统各目录

<1>mkdir /nfs

<2>cd /nfs

<3>mkdir bin demo dev etc home lib mnt proc root sbin sys tmp usr var

<4>将_install下的文件拷入/nfs下

cp /busybox-1.13.4/_install/* -rf /nfs/

<5>将busybox源码包etc下的全部文件拷入/nfs/etc/中

cp /busybox-1.13.4/ examples/bootfloppy/etc/* -rf /nfs/etc/ 此时etc下有fstab init.d inittab profile

<6>修改profile文件内容

# /etc/profile: system-wide .profile file for the Bourne shells

#echo

#echo -n "Processing /etc/profile... "

# no-op

#echo "Done"

#echo

#Set search library path

export LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH

#set user path

export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH

<7>修改inittab文件内容

::sysinit:/etc/init.d/rcS

::respawn:-/bin/sh

#tty2::askfirst:-/bin/sh

::ctrlaltdel:/bin/umount -a -r

::shutdown:/bin/umount -a -r

::shutdown:/sbin/swapoff -a

<8>修改fstab文件内容

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

none /tmp ramfs defaults 0 0

<9>修改init.d/rcS内容

#! /bin/sh

/bin/echo

/bin/echo "*********************************************"

/bin/echo " SEP0611 UNICORE Linux-2.6.32 "

/bin/echo "*********************************************"

echo "# mount all............"

/bin/mount -a

echo "#starting mdev.........."

mdev -s

<10>在etc下创建空文件mdev.conf

tounch mdev.conf

<11>在etc下创建passwd文件并修改内容

root:x:0:0:root:/root:/bin/sh

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

<12>在etc下创建shadow文件并修改内容

root:$1$2LG20u89$UCEEUzBhElYpKMNZQPU.e1:13303:0:99999:7:::

bin:*:13283:0:99999:7:::

daemon:*:13283:0:99999:7:::

<13>在etc下创建group文件并修改内容

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

注:以上三个文件可从主机的/etc目录中拷过来。

<14>将交叉编译器中的库拷入/nfs/lib下,用于动态链接

cp /home/compilers/uc4/unicore32-linux/lib/* -rf /nfs/lib/

(4) Uboot文件系统启动参数设置

root=/dev/nfs rw nfsroot=192.168.0.3:/nfs

ip=192.168.0.2:192.168.0.3:255.255.255.0 console=ttyS0,115200 mem=32mb

NFS文件系统简介及原理

NFS文件系统简介及原理 什么是文件系统,NFS文件系统又是什么?简单的说,文件系统就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视。NFS,Network File System。顾名思义,网络文件系统,即通过网络,对在不同主机上的文件进行共享。 为什么需要使用NFS呢?在生产环境,我们很少使用单机部署应用,因为单机存在单点故 障,一旦宕机,将无法为前端业务提供服务,这是客户无法容忍的。现在提倡的高可用及7*24服务,是我们追求的目标。对于一些小的应用,双机成为了主流。我们来看一种简单集群场景,应用分别部署在A及B上,前端通过F5或着web服务器访问应用。如下 图: 那么当客户端发出一个请求时,F5根据一定的机制进行转发,有可能有A服务器进行响应,也有可能由B服务器进行响应。而在web应用中上传一些静态文件是很常见的一种功能,如图片。假设用户在某一时间,上传了一张照片到A服务器上,那么下次访问时,被F5路由到了B服务器上,由于B服务器上并没有存储上传的照片,所以将造成用户无法看到自己上传的照片。 那么很容易想到,是不是可以把文件上传到一个公用的服务器上呢?这样不管访问的是A

还是B,读、取文件都只存在一份。答案是肯定的,这个公用的服务器我们也称之为文件服务器。上面的架构就演变成了下面的架构: 说了这么多,跟NFS又有什么关系呢?NFS提供了一种机制,可以让A、B访问C中的一个共享目录,就像是操作本地文件一样。既然NFS有这么牛逼的能力,又有什么原因不去深入了解一下呢?注:此处当然也可以通过sftp或ftp进行文件上传和下载。 NFS的原理:我们用一个图来进行说明: 首先:NFS包括两部分,服务端及客户端 由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,因为程序间通信必须通过端口(tcp/udp都是端到端通信),那么就需要一个

mount用法详解

mount用法详解 1、挂载点必须是一个目录。 2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。 对于其他操作系统建立的文件系统的挂载也是这样。但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的。光盘是ISO9660;软盘是fat16或ext2;windows NT是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、NTFS。挂载前要了解linux是否支持所要挂载的文件系统格式。 挂载时使用mount命令: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有 -t<文件系统类型> 指定设备的文件系统类型,常见的有: minix linux最早使用的文件系统 ext2 linux目前常用的文件系统 msdos MS-DOS的fat,就是fat16 vfat windows98常用的fat32 nfs 网络文件系统 iso9660 CD-ROM光盘标准文件系统 ntfs windows NT 2000的文件系统 hpfs OS/2文件系统 auto 自动检测文件系统 -o<选项> 指定挂载文件系统时的选项。有些也可用在/etc/fstab中。常用的有 codepage=XXX 代码页 iocharset=XXX 字符集 ro 以只读方式挂载 rw 以读写方式挂载 nouser 使一般用户无法挂载 user 可以让一般用户挂载设备

提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存在。(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。这样OK?) 例子:windows98装在hda1分区,同时计算机上还有软盘和光盘需要挂载。 # mk /mnt/winc # mk /mnt/floppy # mk /mnt/cdrom # mount -t vfat /dev/hda1 /mnt/winc # mount -t msdos /dev/fd0 /mnt/floppy # mount -t iso9660 /dev/cdrom /mnt/cdrom 现在就可以进入/mnt/winc等目录读写这些文件系统了。 要保证最后两行的命令不出错,要确保软驱和光驱里有盘。(要是硬盘的磁盘片也可以经常随时更换的话,我想就不会犯这样的错误了:-> ) 如果你的windows98目录里有中文文件名,使用上面的命令挂载后,显示的是一堆乱码。这就要用到-o 参数里的codepage iocharset选项。codepage指定文件系统的代码页,简体中文中文代码是936;iocharset指定字符集,简体中文一般用cp936或gb2312。 当挂载的文件系统linux不支持时,mount一定报错,如windows2000的ntfs文件系统。可以重新编译linux内核以获得对该文件系统的支持。关于重新编译linux内核,就不在这里说了。 四、自动挂载 每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢?其实,每次开机时,linux自动将需要挂载的linux分区挂载上了。那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢? 这是完全可以的。在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。我的/etc/fstab 文件如下: /dev/hda2 / ext3 defaults 1 1 /dev/hda1 /boot ext3 defaults 1 2 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0

几种Nand flash文件系统的对比

几种Nand flas文件系统的对比 1.来源:NLE-FFS: A Flash File System with PRAM for Non-linear Editing For thesedevices, NAND flash memory has became the most attractive storage medium due to outstanding characteristics such as its increased capacity, low power consumption, small size and light weight. For the efficient management of NAND flashmemory, several flash file systems have been proposed, including JFFS2, YAFFS2, CFFS and PFFS. several file systems such as MNFS,NAMU and ScaleFFS have been designed for real-time recording /playback and large-capacity storage. A. YAFFS2 YAFFS2 is the most widely employed file system for NAND flash memory. YAFFS2 essentially saves the object ID (file ID) and the chunk (page) number in the spare region to show the offset of a page and the owner file of the page. Therefore, YAFFS2 reads the spare regions and object headers to establish the metadata in memory. Although YAFFS2 is designed to support NAND flash memory, it has scalability problems. With YAFFS2, the location of the updated page is saved in NAND flash pages or spare regions, as shown in Fig. 10 (a); hence, the file system

NFS-网络文件系统实现资源共享

NFS -网络文件系统实现资源共享 NFS 会经常用到,用于在网络上共享存储。假如有三台机器 netbook 、myhost1、myhost2,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到netbook 、myhost1、myhost2。但是使用NFS 只需要放到netbook 上的一个目录中(如:/root/netbook ),然后共享给myhost1、myhost2即可。访问的时候,metbook 主机的用户直接访问/root/netbook 目录即可,而主机myhost1、myhost2则可以通过网络间接地访问该目录的。实现方式如下: 一、为三台主机配置网络信息(以提供照片共享的主机为例) 1.分别修改各主机的IP 地址 [root @localhonst ~]#vi /etc/sysconfig/network -scripts/ifcfg-eth0 2.分别修改各主机的机器名 [root @localhonst ~]#vi /etc/sysconfig/network 3.分别修改各主机的本机路由信息 [root @localhonst ~]#vi /etc/hosts 4.重启计算机,以使配置生效 [root @localhonst ~]#init 6 二、配置NFS 服务器 1.启动系统的NFS 服务功能 方法一: [root @netbook ~]#service nfs start 方法二: [root @netbook ~]# /etc/init.d/nfs start

方法三: [root @netbook ~]#rfsysv NFS 服务需要portmap 服务的支持,在启动NFS 之前,需要启动portmap ,否则将会出现如下的提示。 启动portmap : [root @netbook ~]#service portmap start “”如果允许任何访问用户具有读写权限,则exports 文件的内容可配置为:

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

Linux 创建文件系统及挂载文件系统详解

摘要: 本文对新增硬盘,切割硬盘,创建硬盘分区,为硬盘分区创建文件系统,以及加载文件系统的流程做总结性论述; 主要是为初学者弄清楚这一操作过程; 本文涉及fdisk、mkfs、mount ... ... 等工具; 对/etc/fstab 进行了解说; 还有磁盘扫描工具fsck 等介绍; 如果您想加载一个分区(文件系统),首先您得确认文件系统的类型,然后才能挂载使用,比如通过mount 加载,或者通过修改/etc/fstab来开机自动加载; 如果您想添加一个新的分区,或者增加一个新的硬盘,您要通过分区工具来添加分区,然后要创建分区的文件系统,然后才是挂载文件系统;比如通过mount 加载,或者通过修改/etc/fstab来开机自动加载; 一、对存储设备的分区; 我们这里所指的存储设备主要是本地硬盘、移动硬盘(比如USB 和1394接口的硬盘);由于磁盘很大并且为了满足我们各种需要,所以把硬盘分成若干个分区; 在Linux中进行硬盘分区操作的工具有: fdisk ,目前看来也是最好用的分区工具; parted 和cfdisk在某一方面有点优点,如parted中的数据备份功能; 推荐您用fdisk 分区工具; 二、存储设备进行格式化,即建立文件系统的过程; 1、文件系统的一点介绍 对存储设备分区还是远远不够的,我们还要对这些新增分区进行格式化;一个分区只有建立了某种文件系统后,这个分区才能使用;建立文件系统过程,就是用相应格式化工具格式化分区的过程; 在Linux操作系统中,目前几乎支持目前主流的文件系统,比如NTFS(只读)、FAT(可读可写)、ext2、ext3、reiserfs、hfs (MAC 操作系统的文件系统)、swap 交换分区... ... 还有一些不熟悉的操作系统的文件系统等;

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的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

网络文件系统

网络文件系统 网络文件系统,英文Network File System(NFS)。是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。 ①提供透明文件访问以及文件传输; ②容易扩充新的资源或软件,不需要改变现有的工作环境; ③高性能,可灵活配置。 [1]网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然NFS 不是第一个此类系统,但是它已经发展并演变成UNⅨ? 系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。 NFS与以往一样有用并在不断演变 网络文件系统(NFS)从1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过pNFS 扩展)通过网络对分布的文件提供可扩展的访问。探索分布式文件系背后的理念,特别是,最近NFS 文件进展。 NFS 的简短历史 第一个网络文件系统—称为File Access Listener —由Digital Equipment Corporation(DEC)在1976 年开发。Data Access Protocol(DAP)的实施,这是DECnet 协议集的一部分。比如TCP/IP,DEC 为其网络协议发布了协议规范,包括DAP。 NFS 是第一个现代网络文件系统(构建于IP 协议之上)。在20 世纪80 年代,它首先作为实验文件系统,由Sun Microsystems 在内部完成开发。NFS 协议已归档

Linux下的文件系统为树形结构

Linux下的文件系统为树形结构,入口为/树形结构下的文件目录:无论哪个版本的Linux系统,都有这些目录,这些目录应该是标准的。各个Linux发行版本会存在一些小小的差异,但总体来说,还是大体差不多。 1. /文件系统的入口,最高一级目录; 2. /bin基础系统所需要的命令位于此目录,是最小系统所需要的命令,如:ls, cp, mkdir等。 这个目录中的文件都是可执行的,一般的用户都可以使用。 3. /boot包含Linux内核及系统引导程序所需要的文件,比如vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录; 4. /dev设备文件存储目录,比如声卡、磁盘... ...这是一个非常有趣的目录,是Linux文件系统的一个闪亮的特性- 所有对象都是文件或目录。仔细观察这个目录你会发现hda1, hda2等, 它们代表系统主硬盘的不同分区。 /dev/cdrom和/dev/fd0代表你的CDROM驱动器和floppy驱动器。看上去可能有些奇怪,但比较文件和硬件的特性这却是十分合理的。它们都可以读出和写入。例如/dev/dsp,这个文件代表你的扬声器。那么写入这个文件的数据都回传送到喇叭。试一试'cat /etc/lilo.conf > /dev/dsp' 你会听到一些声音。这是你的lilo.conf 文件的声音!同样,向/dev/ttyS0 ( COM 1 ) 读出或写入数据你可以和接到上面的设备进行通讯。 5. /etc存放系统程序或者一般工具的配置文件。 如安装了apache2之后,配置文件在/etc/apache2/目录下。 /etc/init.d 这个目录是用来存放系统或服务器以System V模式启动的脚

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

Windows下NFS Server搭建和使用

Windows下NFS Server搭建和使用 Revision History 1.NFS简介 NFS是Network File System的简写,即网络文件系统。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS就是一种Linux系统或Unix系统下的共享文件服务,类似于windows共享。NFS 服务器可以看作是一个文件服务器,它可以让你的PC通过网络将远端的NFS 服务器共享出来的文件挂载到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。 2.NFS测试所需设备和条件 Windows2008 PC1台作为NFS server Windows2008系统光盘 Windows7 PC1台作为NFS Client 3.NFS Server搭建 用装有Windows2008系统的PC作为NFS server 3.1安装NFS Server 1)插入Windows2008系统光盘,点击开始->管理工具->服务器管理器,在左边的树中选中” 功能”项,右边的窗口中会列出功能的详细信息,点击”添加功能”,如图1所示

图1 2)进入添加功能向导窗口,远程服务器管理工具->文件服务工具->勾选网络文件系统服务 工具,如图2所示,点击下一步

图2 3)点击安装,开始安装,如图3~4所示 图3

图4 4)安装完成后,点击关闭,如图5所示 图5

5)添加角色服务,在服务器管理器的左边的树中选中”角色”, 右边会列出角色的详细信息, 点击”添加角色”,如图6所示 图6 6)进入添加角色向导,点击下一步,如图7所示 图7

实验 文件系统管理

实训项目4 文件系统管理 一、实训目的 ●掌握Linux下文件系统的创建、挂载与卸载。 ●掌握文件系统的自动挂载。 二、项目背景 某企业的Linux服务器中新增了一块硬盘/dev/sdb,请使用fdisk命令新建/dev/sdb1主分区和/dev/sdb2扩展分区,并在扩展分区中新建逻辑分区/dev/sdb5,并使用mkfs命令分别创建vfat和ext3文件系统。然后用fsck命令检查这两个文件系统;最后,把这两个文件系统挂载到系统上。 三、实训内容 练习Linux系统下文件系统的创建、挂载与卸载及自动挂载的实现。 四、实训步骤 子项目1.创建/dev/sdb1和/dev/sdb5 ●使用fdisk命令创建/dev/sdb1主分区。 ●使用fdisk命令创建/dev/sdb2扩展分区。

●使用fdisk命令创建/dev/sdb5逻辑分区。 ●输入子命令w,把设置写入硬盘分区表,退出fdisk并重新启动系统。 ●用mkfs命令在上述刚刚创建的分区上创建ext3文件系统和vfat文件系统。 ●用fsck命令检查上面创建的文件系统。 子项目2.挂载/dev/sdb1和/dev/sdb5 ●利用mkdir命令,在/mnt目录下建立挂载点,mountpoint1和mountpoint2。

●把上述新创建的ext3分区挂载到/mnt/mountpoint1上。 ●把上述新创建的vfat分区挂载到/mnt/mountpoint2上。 ●利用mount命令列出挂载到系统上的分区,查看挂载是否成功。 ●利用umount命令卸载上面的两个分区。 子项目3.实现/dev/sdb1和/dev/sdb5的自动挂载 ●编辑系统文件/etc/fstab文件,把上面两个分区加入此文件中。 ●重新启动系统,显示已经挂载到系统上的分区,检查设置是否成功。 子项目4.挂载光盘和U盘 ●取一张光盘放入光驱中,将光盘挂载到/media/cdrom目录下。查看光盘中的文件。 ●利用与上述相似的命令完成U盘的挂载与卸载。 五、实训思考题 1. 在Linux下能创建Windows 的分区吗?在Linux下能创建Windows的文件系统吗?Windows操作

nfs起根文件系统

1为什么要制作nfs起根文件系统 制作用于mini2440开发板使用的内核,并使用nfs起根文件系统。 2应用arm平台的linux2.6.29内核。 首先清理内核中间文件,配置文件 命令#cd /home/guoqian/4-3-1 #cd linux-2.6.29 #make distclean 3选择参考配置文件 为了使制作的内核支持nfs起根文件系统,选择config-mini2440作为配置文件。 修改配置文件CMDLINE,修改代码如下: ******************************************************************************* CMDLINE=”root=/dev/nfs nfsroot=192.168.14.2:/nfsroot/rootfs ip=192.168.1.55 rw console=ttySAC0 mem=64M” ******************************************************************************* 解释:CMDLINE:命令行启动参数定义了内核挂载根文件系统的方式 (1)root=/dev/nfs →表示内核采用nfs方式起根文件系统 (2)nfsroot=192.168.14.2:/nfsroot/rootfs →表示nfs起的根文件系统位于nfs服务器/nfsroot/rootfs目录,服务器IP地址为192.168.14.2 (3)ip=192.168.1.55 →开发板IP地址,要求与服务器IP地址在同一网段 (4)rw →文件系统可读可写 (5)console=ttySAC0 mem=64M →ttySAC0作为控制台,内存64M 4配置内核

使用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,供客户机访问,

根文件系统制作

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,该操作能否成功?如果成 功请指出该文件的拥有者和所属于的组。如果失败,请分析为什么。

相关文档
最新文档