搜档网
当前位置:搜档网 › CentOS下NFS服务器配置

CentOS下NFS服务器配置

CentOS下NFS服务器配置
CentOS下NFS服务器配置

CentOS下NFS服务器配置

####################################

#NFS_Configuration

#Author:楚霏

#Date: 2010-4-20

#Update:2010-4-26

#Env: Centos 5.4 x86_64

####################################

二、环境介绍

####################################

两台机器全是Centos 5.4 x86_64

服务端IP=10.0.0.52

客户端IP=10.0.0.166

####################################

三、配置服务端

####################################

#因为默认已经安装portmap,nfs-utils-lib和nfs-utils,所以直接配置即可#创建要共享的目录

mkdir /nfsdata

#nfs的主配置文件是/etc/exports

vi /etc/exports

#—————————-引用文字-开始—————————-

#加入

/nfsdata 10.0.0.0/24(rw,root_squash,no_all_squash,sync) #—————————-引用文字-结束—————————-

#保存设置

exportfs -r

#配置文件每行分为段:

#第一段为共享的目录,使用绝对路径

#第二段为客户端地址及权限:

地址可以使用完整IP或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以

地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:

*https://www.sodocs.net/doc/7611960806.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值,通常是nobody或nfsnobody,可以在此处自行设定;

anongid:匿名用户的GID值。

####################################

下面是一些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

四、启动、测试

####################################

#先启动所依赖的postmap

serviceportmap start

servicenfs start

#本地测试

showmount -e 10.0.0.52

#—————————-输出文字-开始—————————-

Export list for 10.0.0.52:

/nfsdata 10.0.0.0/24

#—————————-输出文字-结束—————————-

#创建挂载点

mkdir /mnt/nfsdata

#挂载

mount -t nfs 10.0.0.52:/nfsdata /root/nfsdata

#检查

mount

#—————————-输出文字-开始—————————-

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

nfsd on /proc/fs/nfsd type nfsd (rw)

10.0.0.52:/nfsdata on /root/nfsdata type nfs (rw,addr=10.0.0.52) #—————————-输出文字-结束—————————-

#写文件进行测试

echo“This is a test”>> /nfsdata/test

#检查一下

cat /root/nfsdata/test

#客户端测试

#步骤相似

serviceportmap start

servicenfs start

showmount -e 10.0.0.52

mount -t nfs 10.0.0.52:/nfsdata /root/nfsdata

#检查

mount

#—————————-输出文字-开始—————————-

/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/hda1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

nfsd on /proc/fs/nfsd type nfsd (rw)

10.0.0.52:/nfsdata on /root/nfsdata type nfs (rw,addr=10.0.0.52) #—————————-输出文字-结束—————————-

#读写一下检查检查

cat /root/nfsdata/test

vi /root/nfsdata/test

#注意:

#如果需要开机挂载的话别忘了在/etc/fstab中加入#—————————-引用文字-开始—————————-

/root/nfsdata 10.0.0.52:/nfsdata

#—————————-引用文字-结束—————————-

####################################

五、常见错误

####################################

错误一:Cannot register service: RPC

servicenfs restart

#—————————-输出文字-开始—————————-

Shutting down NFS mountd: [ OK ]

Shutting down NFS daemon: [ OK ]

Shutting down NFS quotas: [ OK ]

Shutting down NFS services: [ OK ]

Starting NFS services: [ OK ]

Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused

rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).

[FAILED]

#—————————-输出文字-结束—————————-

#解决方法:

serviceportmap start

#先启动portmap才行

错误二:Address already in use

tail -f /var/log/message

#—————————-输出文字-开始—————————-

Apr 10 13:43:27 bogonnfsd[15918]: nfssvc: Setting version failed: errno 16 (Device or resource busy)

Apr 10 13:43:27 bogonnfsd[15918]: nfssvc: unable to bind UPD socket: errno 98 (Address already in use)

Apr 10 13:45:27 bogonnfsd[15978]: nfssvc: Setting version failed: errno 16 (Device or resource busy)

Apr 10 13:45:27 bogonnfsd[15978]: nfssvc: unable to bind UPD socket: errno 98 (Address already in use)

Apr 10 13:49:05 bogonnfsd[16080]: nfssvc: Setting version failed: errno 16 (Device or resource busy)

#—————————-输出文字-结束—————————-

#解决方法:

ps aux | grepnfs

#然后用kill干掉这些进程

错误三:mount: 10.0.0.52:/nfsdata failed, reason given by server: Permission denied

#解决方法:

a.把该客户端的ip加入服务端的/etc/exports

b.服务端的和客户端规则要统一,要么都使用主机名(注意每台机器的hosts文件),要么都使用IP

错误四:客户端挂载超时

tail -f /var/log/message

#—————————-输出文字-开始—————————-

Apr 10 14:42:35 localhost kernel: portmap: server localhost not responding, timed out Apr 10 14:42:35 localhost kernel: RPC: failed to contact portmap (errno -5).

Apr 10 14:42:46 localhost kernel: RPC: failed to contact portmap (errno -512).

Apr 10 14:42:46 localhost kernel: lockd_up: makesock failed, error=-512

Apr 10 14:42:46 localhost kernel: RPC: failed to contact portmap (errno -512).

#—————————-输出文字-结束—————————-

#解决方法:

serviceportmap restart

servicenfs restart

错误五:Error: RPC MTAB does not exist.

servicenfs start

#—————————-引用文字-开始—————————-

Starting NFS services: [ OK ]

Starting NFS quotas: [ OK ]

Starting NFS daemon: [ OK ]

Starting NFS mountd: [ OK ]

Starting RPC idmapd: Error: RPC MTAB does not exist.

#—————————-引用文字-结束—————————-

#解决方法:

#手动执行

mount -t rpc_pipefssunrpc /var/lib/nfs/rpc_pipefs/

#需要时加入开机启动时,加入下面两行到/etc/fstab #—————————-引用文字-开始—————————-

rpc_pipefs /var/lib/nfs/rpc_pipefsrpc_pipefs defaults 0 0 nfsd /proc/fs/nfsdnfsd defaults 0 0 #—————————-引用文字-结束—————————-

####################################

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

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为例

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

Ubuntu安装NFS_超详细的教程_

概述 NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司于1984年推出,使得可以本地机一样的使用另一台联网计算机的文件和外设。NFS在文件传送或信息传送过程中依赖于RPC协议。NFS 的当前版本是V4(RFC3010) RPC, 远程过程调用(remote procedure call) 是能使客户端执行其他系统中程序的一种机制。由于使用RPC 的程序不必了解支持通信的网络协议的情况,因此RPC 提高了程序的互操作性。常用于分布式客户端/服务器模型,发出请求的程序是客户程序,而提供服务的程序是服务器。 1.安装NFS Debian/Ubuntu上默认是没有安装NFS服务器的,首先要安装NFS服务程序:$ sudo apt-get install nfs-kernel-server (安装nfs-kernel-server时,apt会自动安装nfs-common和portmap) 这样,宿主机就相当于NFS Server。 同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common。 $ sudo apt-get install nfs-common nfs-common和nfs-kernel-server都依赖于portmap! 2.配置NFS 配置portmap 方法1: 编辑/etc/default/portmap, 将-i 127.0.0.1 去掉. 方法2: $ sudo dpkg-reconfigure portmap , 对Should portmap be bound to the loopback address? 选N. 配置/etc/hosts.deny (禁止任何host(主机)能和你的NFS服务器进行NFS连接),加入: ### NFS DAEMONS portmap:ALL

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

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服务器的情况:

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

Linux NFS安装与配置

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 为何使用NFS NFS的目标是使计算机共享资源,在其发展过程中(即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.47 NFS client: 192.168.102.15

配置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

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前将虚拟机设置成NAT方式,保证虚拟机能够正常上网 一NFS安装 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配置 2.1 配置portmap $sudo dpkg-reconfigure portmap,出现“正在设定portmap”软件包设置界面,对Should portmap be bound to the loopback address?选择“否(No)”。 2.2 配置/etc/hosts.deny $Vim /etc/hosts.deny 禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入: ### NFS DAEMONS portmap:ALL lockd:ALL mountd:ALL rquotad:ALL statd:ALL 3、配置/etc/hosts.allow $vim /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. #此处的IP可根据自己设定的IP修改 通过/etc/hosts.deny和/etc/hosts.allow设置对portmap的访问,采用这两个配置文件有点类似"mask"的意思。先在/etc/hosts.deny中禁止所有用户对portmap的访问,再在/etc/hosts.allow 中允许某些用户对portmap的访问。 然后重启portmap daemon: $ sudo /etc/init.d/portmap restart

linux配置NFS

mkfs -t ext4 -c /dev/vdb /*格式化磁盘分区*/ 一、环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二、安装: NFS的安装配置: yum -y install nfs-utils rpcbind yum –y install nfs 三、服务器端配置: 1、创建共享目录并mount光纤存储: [root@centos2 /]# mkdir /data [root@centos2 /]# mount /dev/disksafe/ /dev/disksafe/mapper/(tab补全) /data 2、NFS文件配置: [root@centos2 /]# vi /etc/exports #增加一行: /data10.0.0.96(rw,no_root_squash,no_all_squash,sync) :wq保存退出; 使配置生效: [root@centos2 /]# exportfs -r 注:配置文件说明: /data/ 为共享的目录,使用绝对路径。 10.0.0.96(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*https://www.sodocs.net/doc/7611960806.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值,通常是nobody或nfsnobody,可以在此处自行设定;anongid:匿名用户的GID值。 3、启动: centos6: [root@centos2 /]# service rpcbind start Starting rpcbind: [ OK ] [root@centos2 /]# service nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ]

ubuntu 14.04安装与配置

第一步,安装Ubuntu14.04 一、用wubi安装ubuntu14.04 首先你要有从官网上下载的iso文件,用压缩文件浏览程序打开,你会看到wubi.exe。在一个路径没有中文(最好)的文件夹中。 下载两个镜像: 64位:ubuntu-14.04.2-desktop-amd64.iso 32位:ubuntu-14.04.2-desktop-i386.iso 将32位镜像解压后将64位镜像复制到32位解压后的目录下。 打开wubi.exe。按照提示安装,按照提示重启。 二、临时解决方案:解决wubi的ubuntu14.04无法启动的问题 如果只是12.04的话,有上面的几步,ubuntu就成功安装了。但是14.04会出现系统挂载的问题,进入不了图形界面的系统。 我们需要开机,进入紫色的选择ubuntu启动的画面。按键盘E,进入编辑。找到“ro rootflags=sync”,改为“rw rootflags=sync”。再按F10启动。 没错,改一个字母,系统就可以在wubi中启动了。 三、永久解决方案:让这个配置一直有效 没错和你想的一样,这种方式只有一次有效。每次开机都要手动修改。 但是我们可以通过修改配置文件的方式,使其永久有效。 (a)进入系统后,打开终端,执行 $sudo gedit /etc/grub.d/10_lupin 改动文件的第150 行,把ro改成rw,保存。 linux ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} ro

${args} //修改前 linux ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} rw ${args} //修改后 可用查找,在查找中输入ro ${args} 即可找到对应的行。 (b)然后更新启动器的配置文件 $sudo update-grub 第二步,配置root登陆 一、打开终端 二、输入sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 三、在弹出的编辑框里输入:greeter-show-manual-login=true 保存关闭。 四、再在终端中输入:sudo passwd root,设定修改root的密码。密码随自己喜好。 五、关机重启在多出的登陆框里输入root还有修改好的root的密码。 若进入桌面提示error found when loading /root/.profile 点击确定,进入桌面,后只需在终端中输入sudo gedit /root/.profile 打开/root/.profile文件,找到mesg n这一行,修改为tty -s && mesg n 即可。如果root登陆不成功可在第二步之后,再在编辑框内输入autologin-user=root,就可自动root登陆。 第三步,配置minicom和nfs服务 一、配置minicom,打开终端,输入sudo apt-get install minicom 下载安装minicom。 二、输入minicom –s 进入minicom 配置 三、配置nfs服务,执行命令:sudo apt-get install nfs-kernel-server ; 四、创建一个nfs服务的专有文件夹,如本文用/arm。 五、建立好文件夹后,接着执行命令:sudo gedit /etc/exports 在打开的文件中配置nfs如

linux下各种服务进程之NFS服务器配置与安装

linux NFS服务器的安装与配置 一、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测试配置过程

nfs测试配置过程 nfs服务在实际工作中配置十分频繁,这里简要记录下配置过程。默认情况下nfs服务相关软件包已经安装好,只是nfs服务不是开机自启动。只需要配置nfs服务器开机自启动即可。其它portmap等服务都是开机自启的。 1. 服务端简单要配置过程如下 (1) 启动nfs服务 # chkconfig nfs on # service nfs start (2) 配置共享输出目录 # vi /etc/exports /data 192.168.233.*(rw,no_root_squash) (3) 重新读取配置文件生效,无用重启nfs服务,可以直接添加输出目录,并直接生效。 # exportfs –rf 2. 客户端配置 (1) 客户机看到服务器nfs输出目录 # showmount -e 192.168.233.150 Export list for 192.168.233.150: /data 192.168.233.* (2) 客户机挂载nfs存储,手动挂载 # mount -t nfs 192.168.233.150:/data /data -o rw,rsize=32768,wsize=32768,hard (3) 配置开机自动挂载nfs # vi /etc/fstab 192.168.233.150:/data /data nfs hard,rw,rsize=32768,wsize=32768 0 0 (4) 或配置了/etc/fstab之后,可以直接mount挂载 mount /data (5) 卸载nfs挂载 umount /data 3. 强行取消mount挂载 在nfs无法连接的情况下,mount的远程目录无法响应,执行df -h 通常会无法响应。 # df -h # ls -l /data # umount -f /data 均无法取消挂载。 解决方法如下: 最消最后一行的nfs mount挂载的命令 # vi /etc/mtab 192.168.233.150:/data /data nfs rw,hard,rsize=32768,wsize=32768,addr=192.168.233.150 0 0 重新启动autofs服务后,自然就卸载掉了。 # service autofs restart

CentOS下NFS服务器配置

CentOS下NFS服务器配置 #################################### #NFS_Configuration #Author:楚霏 #Date: 2010-4-20 #Update:2010-4-26 #Env: Centos 5.4 x86_64 #################################### 二、环境介绍 #################################### 两台机器全是Centos 5.4 x86_64 服务端IP=10.0.0.52 客户端IP=10.0.0.166 #################################### 三、配置服务端 #################################### #因为默认已经安装portmap,nfs-utils-lib和nfs-utils,所以直接配置即可#创建要共享的目录 mkdir /nfsdata #nfs的主配置文件是/etc/exports vi /etc/exports #—————————-引用文字-开始—————————- #加入 /nfsdata 10.0.0.0/24(rw,root_squash,no_all_squash,sync) #—————————-引用文字-结束—————————- #保存设置 exportfs -r

#配置文件每行分为段: #第一段为共享的目录,使用绝对路径 #第二段为客户端地址及权限: 地址可以使用完整IP或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以 地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如: *https://www.sodocs.net/doc/7611960806.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值,通常是nobody或nfsnobody,可以在此处自行设定; anongid:匿名用户的GID值。 #################################### 下面是一些NFS共享的常用参数: ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay 如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

相关主题