Linux NFS配置

Linux NFS配置
Linux NFS配置

Linux 搭建NFS服务器

NFS介绍

NFS是分布式计算机系统的一个组成部分,可实现在异构网络上共享和装配远程文件系统。NFS由SUN公司开发,目前已经成为文件服务的一种标准(RFC1904,RFC1813)。其最大功能是可以通过网络让不同操作系统的计算机可以共享数据,所以也可以将其看做是一台文件服务器

NFS的工作原理

启动NFS文件服务器时,/etc/rc.local会自动启动exportfs程序,指定可以导出的文件或目录,而所能挂载的也只能是其所指定的目录。

NFS是基于XDR/RPC协议的。XDR(eXternal Data Representation,即外部数据表示法)提供一种方法,把数据从一种格式转换成另一种标准数据格式表示法,确保在不同的计算机、操作系统及程序语言中,所有数据代表的意义都是相同的。

RPC(Remote Procedure Call,远程程序调用)请求远程计算机给予服务。客户机通过网络传送RPC到远程计算机,请求服务。

NFS运用RPC传送数据的方法有以下几步:

(1)客户送出信息,请求服务。

(2)客户占位程序把客户送出的参数转换成XDR标准格式,并用系统调用把信息送到网络上。(3)信息经过网络送达远程主机系统。

(4)远程主机将接受到的信息传给服务器占位程序。

(5)把XDR形式的数据,转换成符合主机端的格式,取出客户发出的服务请求参数,送给服务器。(6)服务器给客户发送服务的逆向传送过程。

NFS安装

安装NFS包

NFS需要5个RPM,分别是:

setup-*:共享NFS目录在/etc/exports中定义

initscripts-*:包括引导过程中装载网络目录的基本脚本

nfs-utils-*:包括基本的NFS命令与监控程序

portmap-*:支持安全NFSRPC服务的连接

quota-*:网络上共享的目录配额,包括rpc.rquotad(这个包不是必须的)

基本监控程序

要顺利运行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监控程序启动运行。

配置NFS

以下以本人使用环境为例:

共两台Linux主机,A机版本为rhel5.5,B机版本为rhel 5.5。网络连接,地址解析正常。系统相关配置如下:

A机

1.主机名:rhel1

2.iptables版本:1.

3.5

3.网卡eth0,IP地址为192.168.13.101/24

4.作为NFS服务器

B机

1.主机名:rhel2

2.iptables版本:1.

3.5

3.网卡eth0,IP地址静态配置为192.168.13.102/24

4.网卡eth1,IP地址静态配置为192.168.10.200/24

5.路由器

C机

1.主机名:rhel3

2.iptables版本:1.

3.5

3.网卡eth1,IP地址根据实验需求切换相应网段

需求:

1、/media 目录

共享/media 目录,允许所有客户端访问该目录并只有只读权限。

2、/nfs/public 目录

共享/nfs/public 目录,允许192.168.13.0/24 和192.168.10.0/24 网段的客户端访问,并且对此目录只有只读权限。

3、/nfs/works 目录

共享/nfs/works 目录,192.168.13.0/24 网段的客户端具有只读权限,并且将root 用户映射成匿名用户。

4、/nfs/test 目录

共享/nfs/test 目录,所有人都具有读写权限,但当用户使用该共享目录时都将帐号映射成匿名用户,并且指定匿名用户的UID 和GID 都为65534。

5、/nfs/security 目录

共享/nfs/security 目录,仅允许192.168.13.102 客户端访问并具有读写权限。

解决方案

1、建立相应目录;

2、在NFS服务器上编辑/etc/exports;

在A机上通过vi /etc/exports,将共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享。书写规则是:(每个共享规则一行)。

共享目录主机(参数)

任何共享目录都要指定sync或async,默认是sync模式。也就是指定文件写入磁盘之前共享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目录的子目录

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文件中匿名用户的UID

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

注:

使用exportfs命令当/etc/exports内容发生改变时,挂载、卸载或更新共享目录列表。使用showmount命令可以查看本机或远程共享目录列表。

配置完/etc/exportfs配置文件后,需要查看系统的iptables、/etc/hosts.allow、/etc/hosts.deny是否设置了正确的NFS访问规则。

3、配置TCP WRAPPER;

编辑A机上的/etc/hosts.allow,添加如下内容:

portmap:120.196.245.0/24

portmap:192.168.13.0/24

编辑A机上的/etc/hosts.deny,添加如下内容:

portmap:ALL

4、设置nfs相关服务使用固定端口;

由于在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:

1.portmap端口111udp/tcp;

2.nfsd端口2049udp/tcp;

3.mountd端口"xxx"udp/tcp

系统RPC服务在nfs服务启动时默认会为mountd动态选取一个随机端口(32768--65535)另外,nfs中需要通讯的服务还有rpc.lockd和rpc.statd

通过编辑A机上#vi/etc/sysconfig/nfs,找到以下几项并按如下值进行修改;

MOUNTD_PORT="4002"

STATD_PORT="4003"

LOCKD_TCPPORT="4004"

LOCKD_UDPPORT="4004"

设置mountd,statd,lockd为固定端口

5、开启防火墙相应放行策略;

A机上的iptables设置如下;

基本规则:

iptables -P INPUT DROP

iptables -A INPUT -m state --state ESTAHLISHED,RELATED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

portmap服务相关规则:

iptables -A INPUT -p tcp --dport 111 -m state --state NEW -j ACCEPT iptables -A INPUT -p udp --dport 111 -m state --state NEW -j ACCEPT

NFS服务相关规则:

iptables -A INPUT -p TCP --dport 2049 -m state --state NEW -j ACCEPT iptables -A INPUT -p UDP --dport 2049 -m state --state NEW -j ACCEPT iptables -A INPUT -p TCP --dport 4002:4004 -m state --state NEW -j ACCEPT iptables -A INPUT -p UDP --dport 4004 -m state --state NEW -j ACCEPT

/etc/init.d/iptables save

启动NFS

1、在A机上启动NFS和RPC服务

/etc/init.d/portmap start

/etc/init.d/nfs start

2、检查NFS的运行级别:

chkconfig—list portmap

chkconfig—list nfs

3、根据需要设置在相应的运行级别自动启动NFS:chkconfig--level235 portmap on

chkconfig--level235 nfs on

结果测试

NFS 服务器本机测试(A)

1、使用rpcinfo 命令检测nfs 是否使用了固定端口rpcinfo -p

2、检测nfs 的rpc 注册状态rpcinfo -u 主机名或IP 地址进程rpcinfo -u 192.168.13.101 nfs rpcinfo -u 192.168.13.101 mount

3、查看共享目录和参数设置

cat /var/lib/nfs/etab

4、使用showmount 命令查看共享目录发布及使用情况showmount -e 或showmount -e IP 地址showmount -d 或者showmount -d IP 地址

Linux 客户端测试(C)

1、查看nfs 服务器共享目录showmount -e 192.168.13.101

2、挂载及卸载NFS 文件系统

mount -t nfs NFS 服务器IP 地址或主机名:共享名本地挂载点

1)192.168.10.0/24这个网段的主机对media和public有只读权限,对test有读写权限,但会映射uid和gid变成65534。

media和public提示只读

root用户挂载test后,新建的bb文件,用户属主和属组都是65534,即匿名用户nfsnobody,实际应用用户映射改变uid和gid时,不会映射到65534,这里仅为方便实验而已,一般是映射为其他普通用户,因为all_squash,anonuid=65534,anongid=65534 等效于root_squash

2)192.168.13.0/24对media、public、test情况与192.168.10.0/24类似,这几个步骤忽略。对于work目录会将root用户映射为匿名用

户,所以只测试work目录,使用work挂载点时,会自动将root映射为匿名用户。

新建文件aaa时,自动映射为nfsnobody用户

3)仅192.168.13.102访问security,并具有读写权限。

3、启动自动挂载nfs 文件系统

vim /etc/fstab

仅添加一项示例,修改/etc/fstab,添加如下语句,并保存重启即可实现自动挂载。

温馨提示:整个实验过程,请确保目录权限已配置正确,防火墙已开放相应访问策略,如/nfs/test对所有人都有读写权限,但如果test目录并没有配置o+rw文件权限时,即使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服务器的情况:

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

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.360docs.net/doc/f42537117.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 实验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:

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

虚拟机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.360docs.net/doc/f42537117.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 ]

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.360docs.net/doc/f42537117.html,(ro,sync) https://www.360docs.net/doc/f42537117.html,(rw,sync) 上面的规则代表将/mnt/cdrom目录以只读同步方式共享给*https://www.360docs.net/doc/f42537117.html,域,并且以读写同步方式共享给https://www.360docs.net/doc/f42537117.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目录的子目录

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如

相关文档
最新文档