Linux NFS安装与配置
linuxNFS安装配置及常见问题、etcexports配置文件、showmount命令
![linuxNFS安装配置及常见问题、etcexports配置文件、showmount命令](https://img.taocdn.com/s3/m/bbd2bc5dff4733687e21af45b307e87101f6f88e.png)
linuxNFS安装配置及常见问题、etcexports配置⽂件、showmount命令1,服务器端软件:安装nfs-utils和portmap(rpcbind)nfs-utils:提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的套件portmap: NFS其实可以被看作是⼀个RPC SERVER PROGRAM,⽽要启动⼀个RPC SERVER PROGRAM,都要做好PORT 的对应⼯作,⽽且这样的任务就是由PORTMAP来完成的。
通俗的说PortMap就是⽤来做PORT的mapping的。
NFS需要启动的DAEMONS:参考pc.nfsd:主要复杂登陆权限检测等必须portmap:处理RPC程序客户端和服务器端的端⼝对应必须rpc.mountd:负责NFS的档案系统,当CLIENT端通过rpc.nfsd登陆SERVER后,对clinet存取server的⽂件进⾏⼀系列的管理必须lockd:处理通过RPC包的锁定请求statd:为nfs锁定服务提供crash恢复功能rquotad:处理当⽤户通过nfsmount到远程服务器时的配额守护进程启动顺序:rpc.portmap, rpc.mountd, rpc.nfsd, rpc.statd, rpc.lockd (新版本会⾃动跟着nfsd启动起来),rpc.rquotadNF服务器端命令:•yum install nfs-utils portmap•chkconfig rpcbind on #chkconfig:更新和查询各运⾏级别的系统服务•chkconfig nfs on•service rpcbind start•service nfs start2,服务器端配置⽂件/etc/exports:指定要共享的⽬录及权限 man exports复制代码代码如下:#:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work ⽬录。
LINUXNFS配置手册一、Server端配置:1.etcexports格式:编辑e..
![LINUXNFS配置手册一、Server端配置:1.etcexports格式:编辑e..](https://img.taocdn.com/s3/m/eca82c2fef06eff9aef8941ea76e58fafab045d7.png)
LINUX NFS配置手册一、Server端配置:1./etc/exports格式:编辑/etc/exports,#vim /etc/exports例:共享/share目录给192.168.0.x的用户/share 192.168.0.0/24 (rw,no_root_squash)目录选项选项说明:ro :read onlyrw :read writeno_root_squash :信任客户端,对应UID若不想每次修改配置文件后重启nfs服务,可使用exportfs命令:如:# exportfs -au 卸载所有共享目录# exportfs -rv 重新共享所有目录并输出详细信息更多exportfs用法可以使用命令man exportfs查看2.启动portmap服务:service portmap start[restart]3.启动NFS服务:service nfs start[restart]4.NFS服务固定端口修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)# Local servicesmountd 1011/tcp #rpc.mountdmountd 1011/udp #rpc.mountdrquotad 1012/tcp #rpc.rquotadrquotad 1012/udp #rpc.rquotad重起nfs服务service nfs restart5. 此时相关端口已经被固定,可以添加防火墙规则#vim /etc/sysconfig/iptables#portmap-A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT#nfsd-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT#mountd-A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 1011 -j ACCEPT#rquotad-A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT-A INPUT -m state --state NEW -m udp -p udp --dport 1012 -j ACCEPT#service iptables restart二、Client端配置:1.启动portmap服务:service portmap start[restart]2.挂载服务器端的共享目录(假设服务器端192.168.0.1):mount -t nfs 192.168.0.1:/share /mnt/localshare3. 如果在开机時就加载,可在/etc/fstab中加入ip:/shara /mnt nfs intr注:ip为server端ip,/share为server端共享目录,/mnt为本地挂载目录三、使用/etc/hosts.allow和/etc/hosts.deny 控制客户端的访问(参考)/etc/hosts.allow和/etc/hosts.deny这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。
Linux下NFS(网络文件系统)的建立与配置方法
![Linux下NFS(网络文件系统)的建立与配置方法](https://img.taocdn.com/s3/m/51057f08cc17552706220802.png)
F i l e S y s t e m) 是 一 种 将 远 程 主 机 上 的 s y n c , n o _ r o o t _ s q u a s h) 然后保存退出 。 分区 ( 目录 ) 经 网 络 挂 载 到 本 地 系 统
UX
的 NF S开 发 环境 。 嵌 入式 L i n u x 的 NF S 开 发 环 境
# mk d i r/ mn t / NF S/ /建 立 L i n —
的 实 现 包 括 两 个 方 面 :一 是 L i n u x
服 务 器 输 出 共 享 目录 的 挂 载 点 ;
≠ ≠ mo unt t N FS 1 9 2. 1 6 8. 0. 2 0:
/ h o me / wo r k也 称 为 服 务 器 输 出
共 享 目录 。
参数 意 义描 述 如 下 :
开 发者需要 在 L i n u x服 务 器 上 进 行 所有的软件开发 , 交叉编译后 , 通 用
F T P 方式 将 可 执 行 文 件 下 载 到 嵌 入
n Ⅳ: 读 /写 权 限 , 只 读权 限 的 参 端 的 配 置 数为 r o ;
最 后 执 行 如 下 命 令 启 动 NF S服 S h e l l下 , 执 行 如 下 命 令 来 进 行 NF S 务 ,此 时 NF S会 激 活 守 护 进 程 , 然 共 享 目录 挂 载 : 后就 开 始 监 听 C l i e n t端 的 请 求 :
# / e t c / r c. d/ / n i t. d / N FS s t a r t
添加 的 内容 表 示 :允 许 i p地 址
NFS服务器的配置与使用
![NFS服务器的配置与使用](https://img.taocdn.com/s3/m/c92e3973312b3169a551a421.png)
第五章NFS服务器的配置与使用NFS(Network Files system)是网络文件系统,它能够在不同的Linux/UNIX系统上使用,以达到文件的共享。
本章将介绍有关网络文件系统NFS的知识。
本章目标:学习完本章你将能够¾理解NFS的作用及工作原理¾配置NFS服务器¾使用NFS1.NFS简介什么是NFS呢?它是Network File system的缩写,即网络文件系统。
NFS是由SUN公司开发,并于1984年推出的一个RPC服务系统,它使我们能够达到文件的共享,在不同的系统间使用,所以它的通信协议设计与主机及操作系统无关。
当用户想使用远程文件时只要用“mount”命令就可把远程文件系统挂接在自己的文件系统之下,使远程的文件与使用本地计算机上的文件一样。
例如在计算机A上,要把计算机B上的/usr/man挂接到A的/usr/man只需执行如下命令即可:mount B:/usr/man /usr/man用户不但可以mount(挂接)目录,而且可以挂接一个文件。
在挂接之后用户只能对文件做读取(或者写入)的操作,而不能在远程计算机上把此文件或目录移动或删除,但是如果挂接 /usr/man后,则不能再挂接 /usr/man底下的目录,否则会发生错误。
NFS就是一种促使servers(服务器)上的文件能被其他的计算机挂接而达到资源共享的网络文件系统,使用这些文件的计算机就可称为Client(客户机),一个客户机可以从服务器上挂接一个文件或者一个层次的目录。
然而,事实上任何一台计算机都可以是NFS服务器或NFS客户机,甚至同时为NFS 服务器和NFS客户机。
NFS服务器所共享出来的文件或目录都记录在/etc/exports文件中,当启动NFS 服务器时,脚本/etc/rc.d/rc会自动启动exportfs程序,搜索/etc/exports这一个文件是否存在,并且赋予正确的权限给所有共享出去的文件或目录。
最小Linux文件系统层nfs的实现
![最小Linux文件系统层nfs的实现](https://img.taocdn.com/s3/m/d90ba4c2b14e852458fb57ea.png)
最小Linux文件系统层nfs共享文件夹的实现本章导读前面介绍过tftp传输文件和nfs网络文件系统,这里给大家介绍一下nfs共享网络文件夹。
通过nfs共享网络文件夹也可以很方便的调试程序。
学习本章内容需要先掌握同一网段的概念,同一网段在linux系统编程中有介绍。
搭建NFS服务器实现NFS,需要一个主机作为NFS服务器,选择虚拟机Ubuntu作为主机。
首先需要在虚拟机的Ubuntu上安装Ubuntu NFS服务,这是一个软件包,可以使用apt命令下载,(下载前请确认你的虚拟机可以上网)。
首先登录到虚拟机上,使用快捷键Ctrl+Alt+t组合按键打开终端如下图。
输入“su root”命令切换到root用户,如下图。
2输入“apt-get install nfs-kernel-server”命令安装Ubuntu NFS服务,如下图。
在安装的过程中会提示“是否继续安装”的信息,如下图。
3输入“Y”,如下图。
然后按回车,会继续安装,如下图。
4安装完成,如下图。
接下来需要配置/etc/exports,使用vi 命令打开/etc/exports,如下图。
5在/etc/export 文件的最后一行添加:/home/topeet/linux/*(rw,sync,no_root_squash),如下图。
下面讲解一下上面输入的内容都代表什么意思:/home/topeet/linux:是要共享的目录;*:代表允许所有的网络段访问;rw:是可读写权限;6sync:是资料同步写入内存和硬盘;no_root_squash:是Ubuntu nfs 客户端分享目录使用者的权限,如果客户端使用的是root 用户,那么对于该共享目录而言,该客户端就具有root 权限;其他Ubuntu nfs 常用的参数有:ro:只读访问async :nfs 在写入数据前可以相应请求secure:nfs 通过以下的安全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 文件中匿名用户多的UIDanongid=xxx:指定nfs 服务器/etc/passwd 文件中匿名用户的GID接下来重启portmap 服务,输入/etc/init.d/portmap restart 命令,如下图。
Linux1 NFS的安装
![Linux1 NFS的安装](https://img.taocdn.com/s3/m/4c5371cb08a1284ac8504395.png)
Linux1 NFS的安装目前,几乎所有的Linux版本都已默认安装了NFS服务,Red Hat Enterprise Linux 5自然也不例外。
用户只要是按照默认配置安装Red Hat Enterprise Linux 5.4系统,NFS服务就会被安装在系统中。
由于启动NFS服务时需要使用nfs-utils和portmap这2个软件包,因此,务必确保这2个软件包已经安装。
在Red Hat Enterprise Linux 5.4系统中的终端窗口中,输入“rpm -q nfs-utils portmap”命令,并按【回车】键即可查看相应的软件包是否安装,如图3-4所示,从图中返回信息可以看出当前系统已经安装了NFS服务和portmap服务。
图3-4 查看安装信息如果系统中尚未安装这2项服务,可以将Red Hat Enterprise Linux 5.4第1张安装光盘放入光驱,当系统加载光驱完成后,在终端中,输入“mount /dev/cdrom /mnt”命令,并按【回车】键,如图3-5所示。
这样可以将光盘文件挂载到本地计算机mnt 目录下。
图3-5 挂载光盘内容接着,用户可以查看光盘中的内容,如需这样,只需输入“ls /mnt”命令,并按【回车】键,即可查看到mnt目中所包含的内容,如图3-6所示。
图3-6 查看挂载光盘内容由于服务程序的rpm安装包通常位于Server目录下。
通过输入“ls /mnt/Server | grep nfs”命令,并按【回车】键,即可查看到所有与nfs有关的安装包,其中,nfs-utils-1.0.9-16.e15.i386.rpm是安装nfs服务时所需的rpm安装包,如图3-7所示。
图3-7 查看nfs相关安装包同样,通过输入“ls /mnt/Server | grep portmap”命令,并按【回车】键,即可查看到该程序的rpm安装包“portmap-4.0-65.2.2.1.i386.rpm”,如图3-8所示。
LinuxNFS服务器的安装与配置方法(图文详解)
![LinuxNFS服务器的安装与配置方法(图文详解)](https://img.taocdn.com/s3/m/4d01126e26284b73f242336c1eb91a37f111326a.png)
LinuxNFS服务器的安装与配置⽅法(图⽂详解)⼀、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-utils-* :包括基本的NFS命令与监控程序•portmap-* :⽀持安全NFS RPC服务的连接1、查看系统是否已安装NFS系统默认已安装了nfs-utils portmap 两个软件包。
Linux1 配置NFS服务器实现LINUX之间的互访
![Linux1 配置NFS服务器实现LINUX之间的互访](https://img.taocdn.com/s3/m/edc89e335727a5e9856a6194.png)
Linux1 配置NFS服务器实现LINUX之间的互访NFS又称网络文件系统,实现在网络上与他人共享目录和文件,通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,适用于不同操作系统之间的文件传输,可在异种网络上输出和挂载远程文件系统,实现跨平台的文件访问功能。
1.实例目的:●挂载光盘文件至目录●安装nfs软件包●编辑配置文件●输出共享目录2.实例步骤:(1)右击桌面空白区域,执行【打开终端】命令,在打开的终端窗口中,输入“mount /dev/cdrom /media”命令,并按【回车】键,挂载光盘至/media目录下,如图3-79所示。
图3-79 打开终端(2)输入“cd /media/Server”命令,并按【回车】键,进入/media/Server目录,如图3-80所示。
图3-81 进入目录(3)输入“ls | grep nfs*”命令,并按【回车】键,列出rpm安装包,如图3-81所示。
图3-81 列出nfs安装包(4)输入“rpm –ivh system-config-nfs-1.3.23-1.e15.noarch.rpm”,并按【回车】键,安装“system-config-nfs-1.3.23-1.e15.noarch.rpm”软件包,如图3-82所示。
图3-82 安装软件(5)输入“service portmap start”命令,按【回车】键,输入“service nfs start”命令,按【回车】键,分别启动portmap和nfs服务,如图3-83所示。
图3-83 启动服务(6)输入“vi /etc/exports”命令,并按【回车】键,进入vi编辑器,如图3-84所示。
图3-84 进入vi编辑器(7)在配置文件中按“i”键,进入插入模式,并输入“/root/share * 192.168.0.250 (ro,sync)”,然后按【Shift+;】组合键,进入末行模式,输入“wq”命令,按【回车】键,保存配置,如图3-85所。
Linux NFS服务器的搭建与磁盘配额管理方案的实施
![Linux NFS服务器的搭建与磁盘配额管理方案的实施](https://img.taocdn.com/s3/m/d5e042f104a1b0717fd5dd1e.png)
Linux NFS服务器的搭建与磁盘配额管理方案的实施一、NFS服务器的搭建:描述:NFS是linux的网络文件系统,是主机间通过网络进行文件共享的网络协议,相当于Window的UNC路径进行网络互访,NFS只使用于linux系统之间进行文件互访,不适合于Windows。
不过两者也用共同点,它们如果要用计算机名称进行访问,那都得使用NETBIOS协议进行解析。
NFS是通过挂载进行实现的,(linux里不仅可以挂载共享目录,也可以挂载移动硬盘,软盘,优盘以及光盘等等)挂载成功之后,主机里的其他用户访问共享软件就像访问本地硬盘一样方便。
类似于windows里将其他计算机的共享文件夹在本地映射一个网络驱动器。
**************NFS服务器的具体配置********************在配置NFS之前,必须得安装nfs-utils 和portmap这两个软件包(默认是安装上的,不过在配置NFS服务器之前还是检查一下,)。
解释:nfs-utils包是nfs的安装包,是安装在应用层的,其功能主要是由Linux内核完成的,而portmap包是安装在传输层的,是为NFS等服务器程序提供RPC(远程过程调用)服务的支持。
#rpm –q nfs-utils portmap如果没有安装,在RHEL-4的第二张光盘里/RedHat/RPMS/里有,具体安装如下:从提示中可以看出,我的已经安装上了。
呵呵!#mount –t iso9660 /dev/cdrom /media/cdrom/ 挂载光盘2#cd /media/cdrom/RedHat/RPMS/ 进入目录#rpm –ivh nfs-utils-1.0.6-46.i386.rpm portmap-4.0-63.i386.rpm 安装rpm包1、 NFS服务器的具体配置:1.1、NFS服务器的具体配置是在“/etc/exports”下进行编辑的,默认里面是没有内容的,也就是说是即使你开启NFS服务,也不共享任何内容,而windows server 2003在默认状态下是,各个盘是隐藏共享的,可以通过compmgmt.msc或者filesvr.msc (windows server 2003支持)可以看到共享的隐藏目录)如下:换句话说:只要你知道对方机子的账号和密码,就可以登陆到对方机子上去,具体命令如下:“//ip/盘符$”1.2、“exports”文件的格式:“nfs共享目录名称客户端主机地址(设置选项)”2、试验步骤:在做试验之前,必须得搭建试验环境:虚拟机上装有两台linux服务器。
ubuntu linux的虚拟机安装及NFS、Samba共享的设置
![ubuntu linux的虚拟机安装及NFS、Samba共享的设置](https://img.taocdn.com/s3/m/840b81ea0975f46527d3e1a0.png)
09142035 通信工程wy作业一在虚拟机安装linux系统,设置共享目录,关闭防火墙,设置NFS内容: 1.在虚拟机安装linux系统2.设置共享目录,3. 配置虚拟机的IP地址,确定虚拟机与PC机能够连通。
4.关闭防火墙,配置NFS服务,验证NFS服务正确5.配置samba服务器,验证其工作正确。
目录(按住ctrl单击链接)1.在虚拟机安装linux系统2. 设置root超级用户默认登录3. 配置NFS服务4.配置samba服务5.VMware虚拟机设置共享1.在虚拟机安装linux系统回目录我安装的系统是ubuntu11.04,安装过程比较简单。
如下列各图所示,所以不加详细说明了:出现下图所示界面,ubuntu 就安装成功了。
2.接下来要做一个关于root的设置回目录Ubuntu设置root用户自动登录由于linux禁止用root用户登录,但是我们很多时候要用到超级用户的权限,每次都用sudo 命令,不太方便,所以在ubuntu11.04版本的linux下,我们可以采用以下方法设置root用户自动登录。
1.新建一个终端,输入:sudo passwd root或者按下图输入,输入要设置的密码(注意输入密码时,是不显示密码的),这样以后我们就可以用root 用户登录了。
2.切换用户,在登录界面选择“other”用户,输入用户名“root”,密码就是刚才设置的密码。
登录系统后,看到用户名是root的话,说明你已经成功登录root账户3.然后按以下路径打开custom.confetc/gdm/custom.conf这时会弹出文本编辑器,将‘custom.Conf’内容修改成下面所示内容(若原来文件为空的话就输入这些内容),保存关闭,重新启动ubuntu 就会发现已经自动用root 用户登录了。
[daemon]TimedLoginEnable=trueAutomaticLoginEnable=trueTimedLogin=rootAutomaticLogin=rootTimedLoginDelay=30如果想要取消超级用户登录的话,只需要将上面的root全部用普通用户名替代即可。
第7章 NFS服务器的安装和故障排除
![第7章 NFS服务器的安装和故障排除](https://img.taocdn.com/s3/m/a315832acfc789eb172dc810.png)
第7章NFS服务器的安装和故障排除7.1.1 NFS简介客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命令。
NFS有属于自己的协议与使用的端口号,但是在传送资料或者其他相关信息时候,NFS服务器使用一个称为“远程过程调用”(Remote Procedure Call,RPC)的协议来协助NFS服务器本身的运行。
7.1.2 为何使用NFS7.1.2 为何使用NFSNFS的目标是使计算机共享资源,在其发展过程中(即20世纪80年代),计算机工业飞速发展,廉价CPU及客户端/服务器技术促进了分布式计算环境的发展。
然而当处理器价格下降时,大容量的存储系统相对而言价格仍居高不下。
因此必须采用某种机制在充分发挥单个处理器性能的同时使计算机可共享存储资源和数据,于是NFS应运而生。
7.1.3 NFS协议7.1.3 NFS协议使用NFS,客户端可以透明地访问服务器中的文件系统,这不同于提供文件传输的FTP 协议。
FTP会产生文件一个完整的副本;NFS只访问一个进程引用文件部分,并且一个目的就是使得这种访问透明。
这就意味着任何能够访问一个本地文件的客户端程序不需要做任何修改,就应该能够访问一个NFS文件。
NFS是一个使用SunRPC构造的客户端/服务器应用程序,其客户端通过向一台NFS服务器发送RPC请求来访问其中的文件。
尽管这一工作可以使用一般的用户进程来实现,即NFS客户端可以是一个用户进程,对服务器进行显式调用,而服务器也可以是一个用户进程。
因为两个理由,NFS一般不这样实现。
首先访问一个NFS文件必须对客户端透明,因此NFS的客户端调用是由客户端操作系统代表用户进程来完成的;其次,出于效率的考虑,NFS服务器在服务器操作系统中实现。
如果NFS服务器是一个用户进程,每个客户端请求和服务器应答(包括读和写的数据)将不得不在内核和用户进程之间进行切换,这个代价太大。
安装配置nfs服务器
![安装配置nfs服务器](https://img.taocdn.com/s3/m/ab00d8335a8102d276a22f63.png)
Debian和Ubuntu Linux的NFS配置介绍 (2)ubuntu9.04下nfs的设置使用 (6)嵌入式linux的NFS开发环境的建立 (8)Ubuntu9.10在ARM上建立NFS服务 (12)在Ubuntu 9.10下怎么设置ip (14)FreeBSD网络文件系统(NFS) (16)NFS服务器 (16)安装配置nfs服务器/s/blog_5b1423a10100awm2.html1 安装root@ubuntu:/# apt-get install nfs-common nfs-kernel-server nfs-client正在读取软件包列表... 完成正在分析软件包的依赖关系树Reading state information... 完成nfs-common 已经是最新的版本了。
nfs-kernel-server 已经是最新的版本了。
注意,我选了 nfs-common 而非 nfs-clientnfs-common 已经是最新的版本了。
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
2 配置root@ubuntu:~# nano /etc/exports# /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) hostname2(ro,sync)## Example for NFSv4:# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)# /srv/nfs4/homes gss/krb5i(rw,sync)/home/cache/netboot 192.168.1.0/24(rw,no_root_squash,sync)(注*上面这一行是服务器端提供的磁盘空间的位置,可以是服务器的仸一目录,建议将一个单独的磁盘分区挂在这个目录下。
nfs server配置用法
![nfs server配置用法](https://img.taocdn.com/s3/m/80c74476b80d6c85ec3a87c24028915f814d844c.png)
nfs server配置用法一、前言NFS(Network File System)是一种在网络上共享文件系统的方法,通常用于远程服务器和客户端之间共享数据。
通过配置NFS服务器,我们可以轻松地实现数据共享,提高数据可用性和可扩展性。
本篇文章将详细介绍如何配置NFS服务器。
二、准备环境在开始配置NFS服务器之前,确保您已经安装了支持NFS功能的操作系统,如Linux。
另外,确保您的客户端操作系统支持NFS客户端,以便能够访问NFS共享的文件系统。
三、配置NFS服务器1. 安装NFS软件包:在服务器上,您需要安装NFS软件包。
根据您的操作系统,执行相应的安装命令。
2. 创建共享目录:在NFS服务器上,创建一个您希望共享的目录。
这个目录将作为NFS共享。
3. 配置文件设置:打开NFS配置文件(通常位于/etc/exports),进行必要的设置。
您需要指定共享目录的权限、可写用户和组、访问控制列表(ACL)等。
确保正确设置共享选项,如`rw`(读写)、`no_root_squash`等。
4. 导出共享目录:保存配置文件并使用export命令将共享目录导出给客户端。
例如:`exportfs -r -e "share_dir"`,其中"share_dir"为您要导出的共享目录路径。
5. 确认设置:检查是否成功导出共享目录,可以通过运行`showmount -e`命令来查看服务器的导出信息。
四、客户端访问NFS共享1. 安装NFS客户端:在客户端操作系统上,安装NFS客户端软件包。
2. 挂载NFS共享:使用`mount -t nfs`命令来挂载NFS共享。
指定服务器的IP地址或主机名以及共享目录路径。
例如:`mount -t nfsserver_ip_address:/share_dir /local_mount_point`。
3. 访问共享资源:现在,您可以在客户端操作系统上访问挂载的NFS共享,使用类似于本地文件系统的操作方式进行读写操作。
NFS配置步骤和优化
![NFS配置步骤和优化](https://img.taocdn.com/s3/m/184620d550e79b89680203d8ce2f0066f533642d.png)
NFS配置步骤和优化NFS(Network File System)是一种允许不同计算机之间共享文件的协议,它通过将文件系统挂载到网络上的远程计算机上来实现文件共享。
NFS是一种广泛应用的网络文件共享协议,在Linux和UNIX系统中被广泛使用,因为它简单易用、高效可靠。
在配置NFS之前,需要确保已经安装了NFS服务器软件包,以及已经设置了文件系统的共享权限。
接下来,我们将介绍NFS的配置步骤和一些优化方法。
1.安装NFS服务器软件包首先需要安装NFS服务器软件包,常见的软件包有nfs-utils、nfs-kernel-server等,可以使用系统默认的包管理工具来安装,如yum或apt-get。
2.修改配置文件在安装完成后,需要修改NFS服务器的配置文件/etc/exports来指定共享的文件系统和相关权限。
在该文件中添加类似以下的条目:```/export/dir client_ip(rw,sync)```其中/export/dir为需要共享的目录路径,client_ip为允许访问该目录的客户端的IP地址,rw为读写权限,sync表示同步写入模式。
可以根据需要设置不同的权限和选项。
3.重新加载NFS服务在修改完配置文件后,需要重新加载NFS服务以使更改生效,可以使用命令`sudo exportfs -a`来重新加载配置文件。
4.启动NFS服务最后需要启动NFS服务,可以使用命令`sudo systemctl start nfs-server`来启动NFS服务,并使用`sudo systemctl enable nfs-server`来设置开机自启动。
5.配置客户端在配置服务器端后,需要在客户端上挂载NFS共享目录,可以使用命令`sudo mount server_ip:/export/dir /mnt/mount_point`来挂载共享目录。
需要确保客户端上已经安装了NFS客户端软件包。
NFS优化方法:1.使用UDP协议默认情况下,NFS使用TCP协议来传输数据,但在一些情况下,使用UDP协议可能会更加高效。
浅谈Linux系统下NFS服务器配置及应用
![浅谈Linux系统下NFS服务器配置及应用](https://img.taocdn.com/s3/m/205683d9b14e852458fb5797.png)
p o r t m a p ( 端 口映
射) 服务, 提供了多种文件共享服务方式, 在嵌入式开发中, 多用于宿主主机与开发板 间文件传输。 本文简要阐述L i n u x 系统下N F s 服务的配置
方法及 应用技巧 。
关键 词: N F S ; P o r t m a p ; 共 享服务
1 9 2 . 1 6 8 . 1 . 3 ( s y n c , r W )
[ 参考文献】
[ 1 ] 刘 昆. L i n u x 环 境下宿主机 与A R M 开发板 N F S J ]  ̄ 务的配置. 科技 资讯
录。
0 0 8 , 第五期. ( 3 ) 修改 / h o m e 、 / a b c 目录的权 限, 允许其它用户读 写共享 目 2 _ 2 ] 陈欣. R H E L 5 TN F s 月 艮 务器的配置与研究. 科技与生活, 2 0 1 1 年第1 7 期.
在 启动N F s 服务器 前, 先 启动p o r t r n a p  ̄ 务, 然 后再启动
F s 服 务, N F s 服 务向p 0 r t m a p 服务注册, 建立端 口映射 关系 。 客户端模 式, 依赖于p o r t m启动占用1 1 1 端 口, N F S 启动占用2 0 4 9 端 口, 使用r p e i n f o 件共享 方式 , 在 嵌入式 开发和L i n u x 系统 问共享 文件 中得 到广 p
一
个 配置 文件提 供 共享 目录, 文件 位: ] : / e t c 目 录下, 文件名 为
共享 目录名 客户端主机I P 地址 ( 配置选项 ) 。 例如 : 配 置N F s 服 务器 ( 基于R e d H a t E n t e r p r i s e A S
建立nfs的工作步骤及相关命令
![建立nfs的工作步骤及相关命令](https://img.taocdn.com/s3/m/fcbe91fad4bbfd0a79563c1ec5da50e2524dd1e0.png)
建立nfs的工作步骤及相关命令建立NFS的工作步骤及相关命令NFS(Network File System)是一种分布式文件系统,它允许不同的计算机通过网络共享文件和目录。
在Linux系统中,可以使用一些命令来建立NFS,下面将介绍建立NFS的具体步骤及相关命令。
步骤一:安装NFS服务器需要在服务器上安装NFS服务器软件。
在Ubuntu系统中,可以使用以下命令来安装NFS服务器软件:```sudo apt-get install nfs-kernel-server```步骤二:创建共享目录在服务器上创建一个共享目录,用于存储需要共享的文件。
可以使用以下命令来创建共享目录:```sudo mkdir /shared_directory```可以将/shared_directory替换为你想要的共享目录路径。
步骤三:配置NFS服务器在配置文件中添加共享目录的信息。
可以使用以下命令来编辑配置文件:```sudo nano /etc/exports```在打开的文件中,添加以下内容:```/shared_directory client_ip(rw,sync,no_subtree_check)```其中,shared_directory是之前创建的共享目录的路径,client_ip 是允许访问该共享目录的客户端IP地址。
可以根据实际情况进行修改。
步骤四:保存并退出配置文件在编辑完配置文件后,按下Ctrl + X,然后按Y键保存修改,最后按下Enter键退出编辑器。
步骤五:重启NFS服务器在完成配置文件的修改后,需要重启NFS服务器以使修改生效。
可以使用以下命令来重启NFS服务器:```sudo systemctl restart nfs-kernel-server```步骤六:配置NFS客户端在NFS服务器上配置完成后,需要在客户端上进行相应的配置。
首先,需要安装NFS客户端软件。
在Ubuntu系统中,可以使用以下命令来安装NFS客户端软件:```sudo apt-get install nfs-common```步骤七:挂载共享目录在客户端上挂载NFS服务器上的共享目录。
浅谈嵌入式Linux开发中NFS的安装配置
![浅谈嵌入式Linux开发中NFS的安装配置](https://img.taocdn.com/s3/m/12c7b5186edb6f1aff001ffa.png)
.
还 不 能 提 供 实 际 的 服 务 , 要 配置 共 享 目 需 录 的路 径 和 访 问权 限 。 S 配 置文 件 是/ NF 的 e c e p rs 这 个 文件 的内 容非 常 简单 , t/ x o t。 每 行 由抛 出 路 径 、 户 名 列 表 以 及 每 个 客 客 户 名 后 紧 跟 的 访 问选 项 构 成 , 如下 所 示 : [ 共享的 目录J ( 机名或 I ( 主 P 参数 , 数) 参 J 2NS ̄ F B, 务器的安装 其 中参 数 是 可 选 的 。当不 指 定 参 数 时 , 在 Ub n u u t 系统 下 , 使用 NFS 需要 首先 安 NFS将使 用 默 认 选 项 。 认的 共 享 选项 是 : 默 s ync, o, oo s r r t qua h, s no d l y ea 装 以 下 NF S的 软 件 包 。 服 务 器 端 : f -c m mo n s ns o n、 f—ke n l r e— 当主机名 或I P地 址 为 空 时 , 代 表 共 则 s r r、 r m a e ve po t p; 享 给 任 意 客 户机 提 供 服 务 。 当将 同 一 目录 客 户 端 :f-c mmo p rma ns o n、 o t p。 共 享 给 多 个 客 户 机 , 对 每 个 客 户 机 提 供 但 目标 板上 的 L n i ux系统 由L n x内核和 的 权 限 不 同 时 , 以 这 样 : iu 可 bu y x共 同提 供 对 NFS的支 持 , 必 安 装 s bo 不 【 的 目录】 [ 机名 1 Pl 数 l 参 共享 主 或I ( 参 , 其 他 的 NFS客 户 端 。 数 2】主机 名 2 P ( 数3, )【 或I 2 参 参数 4 】 ) 安 装 服 务 器 端 软 件 包 的 命令 是 : s d ¥u o 如表 1 示 , 出 了 一 些NFS共 享 的 常 所 d T ec hno Ogy I o V i n I nn at o H e i ra d
杨海艳-主讲-linux之NFS置步骤
![杨海艳-主讲-linux之NFS置步骤](https://img.taocdn.com/s3/m/90a111e519e8b8f67c1cb933.png)
sendmail的配置步骤讲解说明主讲人:杨海艳一、NFS简介1.什么是NFS(Network FileSystem)NFS 就是Network FileSystem 的缩写,最早之前是由Sun 所发展出来的。
他最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案( share file ),所以,也可以简单的将他看做是一个file server,这个NFS Server 可以让你的PC 来将网络远程的NFS 主机分享的目录,挂载到本地端的机器当中,所以,在本地端的机器看起来,那个远程主机的目录就好象是自己的partition 一般!虽然NFS 有属于自己的协议与使用的port number ,但是在资料传送或者其它相关讯息传递的时候,NFS 使用的则是一个称为远程过程调用( Remote Procedure Call, RPC )的协议来协助NFS 本身的运作!2.RPC当我们在使用某些服务来进行远程联机的时候,有些信息,例如主机的IP、服务的端口、与对应到的服务的PID 等等,都需要管理与对应!这些管理port 的对应与服务相关性的工作,就是这个Remote Procedure Call, RPC 的任务了NFS 本身的服务并没有提供资料传递的协议,但是NFS 却能让我们进行档案的分享,这其中的原因,就是NFS 使用到一些其它相关的传输协议!而这些传输的协议,就是使用到这个所谓的RPC 的功能!也就是说,NFS 本身就是使用RPC 的一个program 就是了!所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。
这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。
可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
这样Server 端与Client 端才能藉由RPC 的协议来进行program port 的对应喔!NFS 主要在管理分享出来的目录,而至于资料的传递,就直接将他丢给RPC 的协议来运作就是了!说明:NFS服务器:操作系统:CentOS 5.5IP:192.168.21.160nfs网络文件服务器共享目录:/data/yhy目录所有者:www(说明:www为nginx运行账号)chown www.www -R /data/yhy目录权限:700chmod 700 -R /data/yhyNFS客户端:操作系统:CentOS 5.5IP:192.168.21.169把NFS服务器上的目录/data/yhy挂载到本地目录/data/yhy中本地目录/data/yhy所有者:www(说明:www为nginx运行账号)chown -R /data/yhy目录权限:700chmod 700 -R /data/yhy一、关闭SELINUXvi /etc/selinux/config#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq 保存,关闭shutdown -r now #重启系统二、防火墙设置,开启相应端口vi /etc/sysconfig/iptables-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 111 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 2049 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 875 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 875 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 892 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 892 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 32803 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 32769 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1001 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1001 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1002 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1002 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1003 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1003 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1004 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 1004 -j ACCEPT /etc/init.d/iptables restart #最后重启防火墙使配置生效防火墙端口说明:portmap或者rpcbind(CentOS 6.x)使用:tcp/udp 111nfs使用:tcp/udp 2049mountd使用: TCP/UDP 892rquotad使用:tcp/udp 875status使用: TCP/UDP 1001-1004共四个端口nlockmgr使用:TCP/32803端口UDP/32769端口三、安装NFS服务器rpm -q nfs-utils portmap #检查是否安装,注意:在CentOS 6.x中portmap的名称变为rpcbind出现下面的提示说明安装成功,备注:CentOS默认已经安装了nfs服务nfs-utils-1.0.9-44.el5portmap-4.0-65.2.2.1yum install nfs-utils portmap #安装vi /etc/sysconfig/nfs#编辑配置文件RQUOTAD_PORT=875 #取消前面的注释LOCKD_TCPPORT=32803 #取消前面的注释LOCKD_UDPPORT=32769 #取消前面的注释MOUNTD_PORT=892 #取消前面的注释STATD_PORT=1001 #取消前面的注释,端口修改为1001STATD_OUTGOING_PORT=1004 #取消前面的注释,端口修改为1004:wq! #保存退出四、配置nfsvi /etc/exports #编辑配置文件,添加以下内容/data/yhy 192.168.21.0/24(rw,sync,no_subtree_check,anonuid=501,anongid=501):wq! #保存退出相关参数说明:/data/yhy #NFS共享目录192.168.21.0/24 #允许这个网段内的IP地址访问共享目录rw #读取写入权限sync #数据实时同步no_subtree_check #不检查目录权限,提高数据读取效率anonuid=501 #501代表www用户打开cat /etc/passwd 查找www对应的idanongid=501 #501代表www组打开cat /etc/passwd 查找www对应的id启动服务(注意顺序不能错)/etc/rc.d/init.d/portmap start/etc/rc.d/init.d/nfslock start/etc/rc.d/init.d/nfs startchkconfig portmap on #设置开机启动chkconfig nfslock on #设置开机启动,开启此服务保持数据一致chkconfig nfs on #设置开机启动要停止服务,执行下面的命令(注意顺序不能错)service nfslock stopservice nfs stopservice portmap stop五、测试NFSrpcinfo -p 192.168.21.160 #查看使用端口,出现下面的提示,说明配置正确程序版本协议端口100000 2 tcp 111 portmapper100000 2 udp 111 portmapper100024 1 udp 1001 status100024 1 tcp 1001 status100011 1 udp 875 rquotad100011 2 udp 875 rquotad100011 1 tcp 875 rquotad100011 2 tcp 875 rquotad100003 2 udp 2049 nfs100003 3 udp 2049 nfs100003 4 udp 2049 nfs100021 1 udp 32769 nlockmgr100021 3 udp 32769 nlockmgr100021 4 udp 32769 nlockmgr100021 1 tcp 32803 nlockmgr100021 3 tcp 32803 nlockmgr100021 4 tcp 32803 nlockmgr100003 2 tcp 2049 nfs100003 3 tcp 2049 nfs100003 4 tcp 2049 nfs100005 1 udp 892 mountd100005 1 tcp 892 mountd100005 2 udp 892 mountd100005 2 tcp 892 mountd100005 3 udp 892 mountd100005 3 tcp 892 mountdshowmount -e 192.168.21.160 #显示server上面共享的目录,出现下面的提示,说明配置正确Export list for 192.168.21.160:/data/yhy 192.168.21.0/24六、配置NFS客户端rpm -q nfs-utils portmap #检查是否安装,注意:在CentOS 6.x中portmap的名称变为rpcbind出现下面的提示说明安装成功nfs-utils-1.0.9-60.el5portmap-4.0-65.2.2.1备注:CentOS默认已经安装了nfs服务,如果没有安装,执行下面的命令yum install nfs-utils portmap #安装启动服务(注意顺序不能错)/etc/rc.d/init.d/portmap start/etc/rc.d/init.d/nfslock start/etc/rc.d/init.d/nfs startchkconfig portmap on #设置开机启动chkconfig nfslock on #设置开机启动,开启此服务保持数据一致chkconfig nfs on #设置开机启动要停止服务,执行下面的命令(注意顺序不能错)service nfslock stopservice nfs stopservice portmap stopshowmount -e 192.168.21.160 #显示server上面共享的目录,会出现下面的提示Export list for 192.168.21.160:/data/yhy 192.168.21.0/24mount -t nfs -o soft,intr,bg,rw,rsize=32768,wsize=32768 192.168.21.160:/data/yhy/data/yhy #客户端挂载NFS服务器共享目录,第一个目录是nfs 服务器共享目录,第二个目录是客户端本地目录如果要卸载目录,执行下面命令umount /data/yhy #卸载目录挂载设置开机自动挂载目录vi /etc/fstab #编辑192.168.21.160:/data/yhy /data/yhy nfs soft,intr,bg,rw,rsize=32768,wsize=32768 0 0:wq! #保存退出至此,CentOS配置NFS服务器教程完成案例1】架设一台NFS服务器,并按照以下要求配置输出目录(1)开放/nfs/shared目录,供所有用户查阅资料。
linux之NFS详解
![linux之NFS详解](https://img.taocdn.com/s3/m/aa14661dbb1aa8114431b90d6c85ec3a87c28b82.png)
linux之NFS详解⼀、NFS的应⽤与概述# 1.为什么⽤共享存储# 2.存储有哪些⼯具# 3.共享存储应⽤场景有哪些# 4.部署nfs共享存储# 5.客户端尝试连接共享存储什么是NFS?NFS 是 Network File System 的缩写及⽹络⽂件系统。
NFS 主要功能是通过局域⽹络让不同的主机系统之间可以共享⽂件或⽬录。
NFS 系统和 Windows ⽹络共享、⽹络驱动器类似, 只不过 windows ⽤于局域⽹, NFS ⽤于企业集群架构中, 如果是⼤型⽹站, 会⽤到更复杂的分布式⽂件系统FastDFS,glusterfs,HDFS那么我们为什么要使⽤数据存储共享服务?1.实现多台服务器之间数据共享2.实现多台服务器之间数据⼀致1.1 NFS应⽤场景下⾯我将通过图解给⼤家展⽰集群需要共享存储服务的理由。
1.A ⽤户上传图⽚经过负载均衡,负载均衡将上传请求调度⾄ WEB1 服务器上。
2.B ⽤户访问 A ⽤户上传的图⽚,此时 B ⽤户被负载均衡调度⾄ WEB2 上,因为 WEB2 上没有这张图⽚,所以 B⽤户⽆法看到 A ⽤户传的图⽚如果有共享存储的情况1.A ⽤户上传图⽚⽆论被负载均衡调度⾄ WEB1 还是 WEB2, 最终数据都被写⼊⾄共享存储2.B ⽤户访问 A ⽤户上传图⽚时,⽆论调度⾄ WEB1 还是 WEB2,最终都会上共享存储访问对应的⽂件,这样就可以访问到资源了1.2 nfs存储⼯作原理实现NFS⼯作原理# 1.⽤户进程访问 NFS 客户端,使⽤不同的函数对数据进⾏处理# 2.NFS 客户端通过 TCP/IP 的⽅式传递给 NFS 服务端# 3.NFS 服务端接收到请求后,会先调⽤ portmap 进程进⾏端⼝映射。
# 4.nfsd 进程⽤于判断 NFS 客户端是否拥有权限连接 NFS 服务端。
# 5.Rpc.mount 进程判断客户端是否有对应的权限进⾏验证。
# 6.idmap 进程实现⽤户映射和压缩# 7.最后 NFS 服务端会将对应请求的函数转换为本地能识别的命令,传递⾄内核,由# 内核驱动硬件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NFS 服务器配置1.1.1 NFS简介NFS由SUN公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。
其最大功能是可以通过网络让不同操作系统的计算机可以共享数据,所以也可以将其看做是一台文件服务器,如图1-1所示。
NFS提供了除Samba之外,Windows与Linux及UNIX与Linux之间通信的方法。
客户端PC可以挂载NFS服务器所提供的目录并且挂载之后这个目录看起来如同本地的磁盘分区一样,可以使用cp、cd、mv、rm及df等与磁盘相关的命令。
NFS有属于自己的协议与使用的端口号,但是在传送资料或者其他相关信息时候,NFS服务器使用一个称为"远程过程调用"(Remote Procedure Call,RPC)的协议来协助NFS 服务器本身的运行。
1.1.2 为何使用NFSNFS的目标是使计算机共享资源,在其发展过程中(即20世纪80年代),计算机工业飞速发展,廉价CPU 及客户端/服务器技术促进了分布式计算环境的发展。
然而当处理器价格下降时,大容量的存储系统相对而言价格仍居高不下。
因此必须采用某种机制在充分发挥单个处理器性能的同时使计算机可共享存储资源和数据,于是NFS应运而生。
1.1.3 NFS协议使用NFS,客户端可以透明地访问服务器中的文件系统,这不同于提供文件传输的FTP协议。
FTP会产生文件一个完整的副本;NFS只访问一个进程引用文件部分,并且一个目的就是使得这种访问透明。
这就意味着任何能够访问一个本地文件的客户端程序不需要做任何修改,就应该能够访问一个NFS文件。
NFS是一个使用SunRPC构造的客户端/服务器应用程序,其客户端通过向一台NFS服务器发送RPC请求来访问其中的文件。
尽管这一工作可以使用一般的用户进程来实现,即NFS客户端可以是一个用户进程,对服务器进行显式调用,而服务器也可以是一个用户进程。
因为两个理由,NFS一般不这样实现。
首先访问一个NFS文件必须对客户端透明,因此NFS的客户端调用是由客户端操作系统代表用户进程来完成的;其次,出于效率的考虑,NFS服务器在服务器操作系统中实现。
如果NFS服务器是一个用户进程,每个客户端请求和服务器应答(包括读和写的数据)将不得不在内核和用户进程之间进行切换,这个代价太大。
第3版的NFS协议在1993年发布,图1-2所示为一个NFS客户端和一台NFS服务器的典型结构。
(1)访问一个本地文件还是一个NFS文件对于客户端来说是透明的,当文件被打开时,由内核决定这一点。
文件被打开之后,内核将本地文件的所有引用传递给名为"本地文件访问"的框中,而将一个NFS文件的所有引用传递给名为"NFS客户端"的框中。
(2)NFS客户端通过其TCP/IP模块向NFS服务器发送RPC请求,NFS主要使用UDP,最新的实现也可以使用TCP。
(3)NFS服务器在端口2049接收作为UDP数据包的客户端请求,尽管NFS可以被实现为使用端口映射器,允许服务器使用一个临时端口,但是大多数实现都是直接指定UDP端口2049。
(4)当NFS服务器收到一个客户端请求时,它将这个请求传递给本地文件访问例程,然后访问服务器主机上的一个本地的磁盘文件。
(5)NFS服务器需要花一定的时间来处理一个客户端的请求,访问本地文件系统一般也需要一部分时间。
在这段时间间隔内,服务器不应该阻止其他客户端请求。
为了实现这一功能,大多数的NFS服务器都是多线程的--服务器的内核中实际上有多个NFS服务器在NFS本身的加锁管理程序中运行,具体实现依赖于不同的操作系统。
既然大多数UNIX内核不是多线程的,一个共同的技术就是启动一个用户进程(常被称为"nfsd")的多个实例。
这个实例执行一个系统调用,使其作为一个内核进程保留在操作系统的内核中。
(6)在客户端主机上,NFS客户端需要花一定的时间来处理一个用户进程的请求。
NFS客户端向服务器主机发出一个RPC调用,然后等待服务器的应答。
为了给使用NFS的客户端主机上的用户进程提供更多的并发性,在客户端内核中一般运行着多个NFS客户端,同样具体实现也依赖于操作系统。
3. 安装3.1 环境描述:网络环境:NFS server: 192.168.102.47NFS client: 192.168.102.15NFS client: 192.168.102.61软件版本nfs-common 5-20nfs-kernel-server 1.0.9-5portmap 1.0.9-53.2 安装:服务器端安装在Debian系统下安装NFS是相当简单的,在NFS服务器上执行下面的命令即可# aptitude install nfs-common nfs-kernel-server portmap在客户端则需要安装:# aptitude install nfs-common portmap3.3 服务的启动与停止启动服务# /etc/init.d/nfs-kernel-server start停止服务# /etc/init.d/nfs-kernel-server stop重启服务# /etc/init.d/nfs-kernel-server restart4. 服务器端配置4.1 创建共享目录# mkdir /home/share# chown nobody.nogroup /home/share4.2 创建或修改/etc/exports 配置文件这个文件的内容非常简单,每一行由抛出路径,客户名列表以及每个客户名后紧跟的访问选项构成:[共享的目录] [主机名或IP(参数,参数)]其中参数是可选的,当不指定参数时,nfs将使用默认选项。
默认的共享选项是sync,ro,root_squash,no_delay。
当主机名或IP地址为空时,则代表共享给任意客户机提供服务。
当将同一目录共享给多个客户机,但对每个客户机提供的权限不同时,可以这样:[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]下面是一些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_squas root用户具有根目录的完全管理访问权限anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID配置文件/etc/exports内容如下:$ cat /etc/exports/home/share 192.168.102.15(rw,sync) *(ro)配置说明:对192.168.102.15赋予读写权限,其他机器仅有只读权限。
4.3 重启NFS服务# /etc/init.d/nfs-kernel-server restart4.4 在客户机上查看NFS的资源共享情况# showmount -e 192.168.102.47Export list for 192.168.102.47:/home/share (everyone)4.5 使用mount命令即可挂栽共享资源在客户机192.168.102.15 上加载共享资源# mount 192.168.102.47:/home/share /mnt# cd /mnt# echo '12345'> 123即可发现对服务器共享目录可写# umount /mnt在客户机192.168.102.61 上加载共享资源# mount 192.168.102.47:/home/share /mnt# cd /mnt# ls123# touch 321touch: cannot touch `321': Permission denied# echo '123455' >123-bash: 123: Permission denied即可发现对服务器共享目录只有读取权限,这与我们在服务器端的权限设置是相符的。
是不是我们每次修改了配置文件都需要重启nfs服务呢?这个时候我们就可以用exportfs命令重新扫描/etc/exports文件,来使改动立刻生效。
比如:# exportfs -au 卸载所有共享目录# exportfs -rv 重新共享所有目录并输出详细信息exportfs 命令有软件包nfs-kernel-server 提供,详细的exportfs 命令说明请查看:man exportfs中文的手册说明可以查看这里:exportfs联机手册当完成资源共享,我们如何知道发布了哪些权限呢?这时我们可以查看/var/lib/nfs/etab 文件,它是有exportfs 命令根据/etc/exports 生成的。
# cat /var/lib/nfs/etab/home/share192.168.102.15(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,subtree_check,secure_locks,acl,ma pping=identity,anonuid=65534,anongid=65534)/home/share*(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,subtree_check,secure_locks,acl,mapping=identity ,anonuid=65534,anongid=65534)现在我们来查看服务器上有关NFS服务器启动了哪些端口:tonybox:/home/share# lsof -i|grep rpcportmap 1931 daemon 3u IPv4 4289 UDP *:sunrpcportmap 1931 daemon 4u IPv4 4290 TCP *:sunrpc (LISTEN)rpc.statd 3206 statd 3u IPv4 7081 UDP *:1029rpc.statd 3206 statd 6u IPv4 7072 UDP *:838rpc.statd 3206 statd 7u IPv4 7085 TCP *:1031 (LISTEN)rpc.mount 3483 root 6u IPv4 7934 UDP *:691rpc.mount 3483 root 7u IPv4 7937 TCP *:694 (LISTEN)5. 安全问题:5.1 Iptables 防火墙如果我们的NFS服务器在防火墙后边,则需要在防火强策略中加入如下策略:-A INPUT -p tcp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT-A INPUT -p udp -m state --state NEW -m multiport --dport 111,2049,4001,32764:32767 -j ACCEPT5.2 使用/etc/hosts.allow和/etc/hosts.deny 控制客户端的访问/etc/hosts.allow和/etc/hosts.deny这两个文件是tcpd服务器的配置文件,tcpd服务器可以控制外部IP对本机服务的访问。