Linux网络文件系统是实现网络文件共享的一项重要的服务,他是实现文件共享的一个重要的手段,他不仅可以实现不同主机之间的文件共享,而且可以实现不同操作系统之间,以及系列文件的文件共享,NFS让来自远程主机中的文件挂载到你的主机中使你可以向访问你自己机器中的文件一样访问远程主机中的文件.而且你可以在你的主机上使用常规的命令对文件进行操作。
在介绍实现NFS之前还需要介绍一下一个重要的服务就是RPC(Remote
Procedure Call
远程方法调用)服务。之前我的理解就是一种远程代理,客户端发送参数到服务器,服务器计算结果之后返回结果给客户端,当然有点牵强,在linux中RPC也是要实现这样一种远程方法调用然后返回结果的功能,但是他提供的功能远不止于此,他还要实现端口的映射功能,因为服务器端要实现的功能很多,具体的端口必须要随机临时产生,不能写死。RPC服务要实现的功能就是当客户端来请求服务的时候,他需要把对应服务的端口返回给客户端。然后客户端才能实现其它操作。这里RPC使用的端口是111,在启动NFS服务之前还必须要向RPC注册已经选择的端口,之后RPC开始监听来自客户端对应RPC的请求。
Linux作为一个用权限说话的操作系统,对于客户端的各种文件操作当然有各种限制。首先客户端连接RPC服务器需要有连接的权限或者说访问共享文件夹的权限,客户端对服务器端的各种文件rw操作需要对应的读写权限,NFS
的服务器端与客户端的使用者身份确认机制
。文件系统的 inode 所记录的属性为
UID, GID 而非账号与群组名。
那一般 Linux 主机会主动的以自己的
/etc/passwd, /etc/group
来查询对应的使用者、组名。NFS
server/NFS client
刚好有相同的账号与群组,则此时使用者可以直接以自己的身份进行服务器所提供的文件系统之存取。如果服务端没有对应用户的ID存在那么用户只能以匿名者UID为65534
的身份(这是Linux系统中的一个特殊的user)进行操作。但是文件的所有者此时就是无拥有者。如果客户端是以root登录的,也会以压缩为匿名者。
接下来我们介绍怎样安装构建一个Linux虚拟文件系统,首先客户端和服务器都需要安装NFS以及RPC软件,客户端和服务器都使用相同的RPC端口111进行通信。
1、安装NFS软件,这里我们选择
nfs-kernel-server
sudo apt-get install nfs-kernel-server
nfs-kernel-server安装是会自动安装nfs-common和portmap,portmap会自己实现RPC端口映射的功能。
2、设置服务器的挂载目录或者文件以及开放权限
进入exports文件进行编辑
sudo
/etc/exports
文件中提供了怎样编辑文件路径以及ip配置的例子
#
/etc/exports: the access control list for filesystems which may be
exported
# to
NFS clients. See exports(5).
#
#
Example for NFSv2 and NFSv3:
#
/srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
#
#
Example for NFSv4:
#
/srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
#
/srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)
#
以下是我的编辑:
/home/luliang/share
192.168.135.113(rw,sync,no_subtree_check)
首先是共享文件夹的目录或者文件,然后空格,接着是共享网络IP,可以是一台机器的IP,也可以是一个网段,紧接着是客户端的各种权限,首选是rw读写权限,接着是是否同步,再次是nfs客户端共享目录使用者权限。
3、重启NFS服务,
首先必须要启动端口映射的RPC服务,向RPC注册端口
sudo
/etc/init.d/portmap
start
出现一下内容表示成功:
* Exporting directories for NFS kernel daemon...
[ OK ]
* Starting NFS kernel daemon
[ OK ]
再启动NFS服务
sudo /etc/init.d/nfs-kernel-server start
*
Exporting directories for NFS kernel daemon...
[ OK ]
*
Starting NFS kernel daemon
[ OK ]
4、输入exprotfs
-rv命令重新导出NFS共享目录
sudo /usr/sbin/exportfs -rv
exporting
192.168.135.113:/home/luliang/share
好吧到此配置完成!
在
192.168.135.113机器上做个测试,当然首先必须要安装
nfs-kernel-server,并且启动。
挂载共享文件夹,
sudo
mount -t nfs 192.168.135.109:/home/luliang/share /mnt
看看共享文件夹下的东东:
cd
/mnt;ls -l
Ok啦~!如果向卸载就umount一下;
sudo
umount /mnt
各位看官,文章是在Linux写的,然后拷贝到这个鬼编辑器里面,效果实在是搓~
- 大小: 61.9 KB
- 大小: 9.7 KB
分享到:
相关推荐
linux搭建nfs和ramdisk文件系统定义.pdf
该报告文档实现了: 1.创立两台虚拟机Linux分别作NFS服务器端和NFS客户端 2.成功搭建NFS服务器,懂得熟练掌握NFS服务器和客户端的搭建 3.运用NFS共享文件
Linux下NFS(网络文件系统)的建立与配置方法.pdf
Linux-文件系统-学习笔记(14):根文件系统原理与nfs搭建方法 一、根文件系统 1、根文件系统简介 为什么需要根文件系统? (1)init进程的应用程序在根文件系统上,因此向用户态切换时根文件系统必不可少。 (2)根...
嵌入式linux2 6平台搭建之根文件系统制作过程; (一)使用busybox制作Linux根文件系统 (二):nfs服务器配置过程 RedHatAS5环境 (三):开发板通过nfs服务挂载虚拟机指定目录 (四):通过nfs服务挂载根文件...
linux搭建nfs和ramdisk文件系统.pdf
linux搭建nfs和ramdisk文件系统借鉴.pdf
本文档讲解如何在Ubuntu操作系统搭建NFS,并举例将PC机Linux下的文件挂在到嵌入式ARM开发板
文件记录了自己在Linux debian系统下搭建tftp和nfs的方法和过程,与大家分享!
提供了一个详细的文挡,描述如何使用SFU进行文件共享
如何搭建嵌入式Linux开发的环境, 通过本章的学习,读者能够掌握以下内容。...学会搭建Linux的根文件系统 熟悉嵌入式Linux的内核相关代码的分布情况 掌握Bootloader 的原理 了解U-Boot的代码结构和编译方法
为了实现不同操作系统中的数据共享,我们一般会搭建一些用于文件共享的服务器,nfs服务器就是其中一种,它实现的是linux与linux之间的共享。今天我将把如何在linux系统搭建nfs服务器的步骤分享出来,供大家参考。 ...
同时本书还加入了常用的网络管理知识和基础的系统管理知识,包括linux操作系统的网络连通性测试、网络管理、软件基础管理、软件包高级管理、用户和进程管理、linux文件系统及磁盘管理,以及linux操作系统安全管理。
如果仅仅只是希望搭建一个linux之间进行文件共享的服务器,而不是所有异构的系统之间共享的话,nfs是一个不错的选择。下面这篇文章主要给大家介绍了关于在CentOS 7中搭建NFS文件共享存储服务的完整步骤,需要的朋友...
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就...
嵌入式linux搭建nfs服务器必备的两个工具:nfs-utils,portmap,以及S60nfs文件
这是描述在centos下进行nfs,网路共享文件系统的配置与搭建
2. 针对嵌入式行业的Linux系统内核,以及PC机上的Linux系统开发环境,比如Ubuntu,Redhat,CentOs等 3. ARM软件开发环境,这个比较复杂多样。ARM开发无非是底层驱动移植和开发,以及顶层的应用程序开发,还有相对应的...
DM6467 开发平台是进行软件研发的基础,DM6467 EVM 以 Red Hat Enterprise Linux 4 为主机操作系统,调试时使用NFS文件系统,拷机测试或正式发布时使用文件系统可以放置在FLASH 中,使用yaffs2文件系统类型。...