linux配置NFS
- 格式:docx
- 大小:16.16 KB
- 文档页数:4
LINUX NFS 双机配置详解服务端双机共享文件系统/mnt/share服务ip地址:192.168.1.100,客户端ip:192.168.1.0服务端配置1、备份VCS双机文件/etc/VRTSvcs/conf/config/main.cf2、使用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<sys>命令强制启动双机,<sys>为双机中任一个主机名。
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 onSUSE10操作系统中请执行以下命令:# /etc/init.d/nfsserver restart# chkconfig nfsserver on检查nfs服务状态输入./nfsserver status命令查看NFS服务是否为Running状态,若是则表示NFS服务正常。
一:安装配置NFS服务器1> 要使NFS服务器提供服务,必须启动inet 、portmap、nfs 和mount这4个守护进程,并保持在后台运行。
2> 规划好要共享的分区或目录3> 定义客户机的参数4> 配置NFS主配置文件:/etc/exports5> 重启NFS服务1、配置/etc/exports文件的语法#vi /etc/exports/sharedir -maproot=daemon host2/sharedir2 -ro -network 192.168.1.0或者用下面的格式/sharedir host3(OPTION)/sharedir 192.168.1.12/24(OPTION)第一段:为共享目录,一定要绝对路径。
第二段:一些参数,如:-maproot=daemon表示若访问者为root 用户,则转换为daemon用户;-ro :表示只读权限。
第三段:表示允许访问的客户端,可以是一台主机,如host2;也可以是一个网段;主机可以用域名表示,也可以用IP表示,域名支持通配符,但是不包括点。
如* ,可以表示或等等,但不能表示。
第三种格式表示可以把那些读写,只读等参数写在括号里,并用逗号隔开。
2、激活服务portmap 和nfsportmap激活后,会出现端口号为111的Sunrpc服务#service portmap restart#service nfs restart3、客户端配置3.1 开启portmap服务3.2 使用mount命令挂载共享目录#mount –t type -o option device dir#mount -t nfs -o hard 192.168.1.22:/sharedir /tmp#把远程192.168.1.22主机上的/sharedir目录挂载到本地/tmp目录上3.3 用户除了使用mount命令挂载外,还可使用/etc/fstab挂载或autofs挂载。
参数说明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 ⽂件中匿名⽤户的 GIDLinux 环境下NFS 服务安装及配置⼀、 NFS 服务端安装1. 确认是否安装$ rpm -qa nfs-utils rpcbind如未安装,请安装# 服务端$ yum install -y nfs-utils rpcbind # 客户端$ yum install -y nfs-utils⼆、NFS 配置及使⽤我们在服务端创建⼀个共享⽬录 /data/share ,作为客户端挂载的远端⼊⼝,然后设置权限。
$ mkdir -p /data/share $ chmod 666 /data/share然后,修改 NFS 配置⽂件 /etc/exports$ vim /etc/exports/data/share 10.222.77.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)说明⼀下,这⾥配置后边有很多参数,每个参数有不同的含义,具体可以参考下边。
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服务,它们各有不同的功能,有的负责装载服务,有的保证远程命令指向正确的位置。
Linux系统NFS服务器的配置方法一、NFS服务器的安装检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包)命令#rpm -q nfs-utils portmap二、查看NFS服务器是否启动命令#service nfs status#service portmap status三、如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)命令#service nfs start#service portmap start四、指定NFS服务器的配置文件NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享命令#vi /etc/exports配置“exports”文件格式如下/home *(sync,ro)Home:共享目录名*:表示所有主机(sync,ro):设置选项exports文件中的“配置选项”字段放置在括号对(“()”)中,多个选项间用逗号分隔sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项ro:设置输出的共享目录只读,与rw不能共同使用rw:设置输出的共享目录可读写,与ro不能共同使用exports文件中“客户端主机地址”字段可以使用多种形式表示主机地址192.168.152.13 指定IP地址的主机 指定域名的主机192.168.1.0/24 指定网段中的所有主机* 指定域下的所有主机* 所有主机五、重新输出共享目录Exportfs管理工具可以对“exports”文件进行管理,命令#exportfs –rv 可以让新设置的“exports”文件内容生效六、显示NFS服务器的输出目录列表显示当前主机中NFS服务器的输出列表# showmount -e七、显示NFS服务器中被挂载的共享目录显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录# showmount -d八、在另外一个linux系统中挂在共享目录显示NFS服务器的输出# showmount -e 172.16.75.1挂载NFS服务器中的共享目录# mount -t nfs 172.16.75.1:/software /mnt/ (前者为服务器共享目录,后者为挂载点)九、查看mnt目录中的内容cd /mnt | ll十、卸载系统中已挂载的NFS共享目录命令# umount /mnt/ (挂载点)注意点:1、在配置NFS服务器之前用ping命令确保两个linux系统正常连接,如果无法连接关闭图形界面中的防火墙#service iptables stop2、在配置中确保输入的命令是正确的3、更改完“exports”文件后要输入exportfs –rv ,使得“exports”文件生效。
linux NFS配置NFS,Network File System,将远程主机的目录挂载到本地,实现文件共享与远程访问。
NFS目前常用的版本是V3NFS配置主要分为服务器的配置,以及客户端的配置。
1.服务器端的配置a)配置文件:/etc/exports此文件是NFS的配置文件。
设定共享目录、访问ip、以及访问参数等等。
配置格式如下:共享目录主机名1或者IP1(参数1,参数2) 主机名2或者IP2(参数3,参数4)例如配置如下:/data 192.168.0.*(rw,sync,no_root_squash)表示共享目录是/data,允许ip为192.168.0.段的所有主机访问。
而参数的含义表示可读写、数据同步写入存储器、不限制root用户的权限(登录NFS服务器使用分享目录的使用者,如果是root用户的话,那么对于这个分享目录来说,他就具有root的权限)常用的参数说明:(linux下可使用命令man exports查看参数帮助文档)rw:可读写的权限ro:只读的权限no_root_squash:不限制root用户的权限(如果是root用户登录NFS服务器使用分享目录,那么就具有root用户的权限)root_squash:限制root用户的权限(如果是root用户登录NFS服务器使用分享目录,那么使用者的权限会被限制为匿名使用者,通常他的UID与GID都会变成nobody那个身份)all_squash:不管登录NFS主机的用户是什么都会被重新设定为nobodyanonuid=xxx:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中anongid=xxx:类似于anonuid,不过指定的是gidsync:数据同步写入硬盘async:数据异步写入硬盘(NFS V3支持的新特性。
收到客户端的写入请求后,数据并不是马上写入存储器。
而是由服务器确定何时写入。
NFS配置:由sun公司提出,多用于Linux系统,通过网络将远程主机共享的文件系统利用mount方式加入本机的文件系统,在LAN中应用较多,NFS有V2和V3两个版本,后者增加了错误报告功能,RH同时支持两者,且默认为V3,NFS使用Remote Procedure Calls (RPC)来传递客户端和服务器间的信息,双方通信时必须先启动Portmap,Portmap服务运行时,需要以下程序协作,1、rpc.mountd:该程序主要用来接收来自NFS客户端的安装请求,检查此请求是否符合当前输出的文件系统2、rpc.nfsd:属于NFS服务中的用户层,它配合Linux内核来满足NFS客户端的动态请求#rpcinfo –p <NFS服务器主机名> 查验信息NFSV2使用UTP作为客户端和服务器通信协议,在客户端通过身份验证并允许访问共享资源后,NFS服务器会发送Cookie到客户端,以减少网络流量。
#rpm –qa nfs-utils portmap#rpm –ivh nfs-utils-<版本号>#rpm –ql nfs-utils-<版本号>#/etc/rc.d/init.d/nfs start(restart/stop/status)#ps -aux | grep nfsd开机时启动NFS1、以Ntsysv,设置NFS自动启动2、以“服务配置”设置NFS自动启动3、以“chkconfig”设置NFS自动启动#more /etc/exports 配置文件默认为空,设置该文件时要注意空格,除分开共享目录和共享主机,分隔多台共享主机,其余情形下不可使用空格,系统对所有用户默认权限为只读,在()前后不可留有任何空白,否则无法设置该目录共享格式:共享目录 [客户端(访问权限,选项,用户ID对应)]共享目录:必须使用绝对路径(远程连接客户端无法得知本地文件系统的相对路径)客户端:“单一主机”—可以是主机名,别名,IP地址,超过一个,用空格分隔开“群组”—使用“@群组名称”指定允许连接NFS服务器群组通用字符—使用*或?指定允许连接NFS服务器的客户端“网络节点”—可使用CIDR,如192.168.0.0/24访问权限:sync 设置NFS服务器同步写磁盘,不易失数据Ro 输出的共享目录只读,与rw不能同Rw 输出的共享目录可读写,与ro不能同用选项:secure 可以使用小于1024端口进行连接,默认值Insecure 不可以使用小于1024端口进行连接Noaccess 不可以访问此目录下的内容Link_absolute 将文件系统内符号连接的目的地从绝对路径换成相对 Sqush_uids Nobody对应的uid列表Sqush_gids Nobody对应的gid列表Anonuid 设置nobody帐号的uidAnongid 设置nobody帐号的gid用户ID对应:将原本高权限的登录帐号对应到一般帐号Root_squash 将uid0和gid0对应到“anonymous”使用的idNo_root_squash 停用“root_squash”功能,适合于无盘客户端All_squash 将所有uid和gid对应到“anonymous ”使用的idNo_all_suqash 停用“all_squash”功能如:/home/share *(sync,ro) 192.168.1.19(sync,rw)/home/ftp 192.168.1.0/24(sync,ro)/home/public 192.168.1.19(sync,rw)/tmp 192.168.1.113(sync,rw,no_root_squash)/home/public192.168.1.0/24(sync,rw,all_squash,anonuid=500,anongid=500)启动NFS服务器 (portmap,nfs两个服务)#service portmap start(stop)#service nfs start(stop)查询NFS服务器状态#service portmap status#service nfs status在指定的运行级上自动启动portmap,NFS#chkconfig __list protmap#chkconfig __list nfs#chkconfig __level 35 portmap on#chkconfig __level 35 nfs on#showmount 显示当前主机中NFS服务的信息#showmount –e 显示指定NFS服务器的输出目录列表,客户端查看,“e”-export #showmount –d 显示指定NFS服务器中已被客户端连接的所有输出目录#showmount –a 显示指定NFS服务器的所有客户端主机及其所连接的目录Exportfs程序主要用来维护NFS文件系统列表,运行该指令时,它会将/etc/exportfs 文件中的内容复制到/var/lib/nfs/etab,客户端访问此目录时,mountd程序将会检查/var/lib/nfs/etab文件内容,决定用户的访问权限。
Linux下的NFS配置篇2010-11-25 22:50:32标签:Linux配置休闲NFS职场版权声明:原创作品,如需转载,请与作者联系。
否则将追究法律责任。
1. 简介1) 介绍NFS是Network File System的简写,即网络文件系统,也被称为NFS。
NFS允许一个系统在网络上与它人共享目录和文件。
通过使用NFS,用户和程序可以像访问本地文件一样访问远程系统上的文件2) NFS好处Ø本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到Ø用户不必在每个网络机器中都有一个home目录,home目录可以被放在NFS服务器上并且在网络上处处可用Ø U盘与CDROM等存储设备可以在网络上面被别的机器使用,这可以减少整个网络上的可移动介质设备的数量3) 三个守护进程Ø rpc.nfsd基本的NFS守护进程,主要管理客户端是否能登入服务端Ø rpc.mountdRPC的安装守护进程,主要管理NFS的文件系统。
当客户端通过rpc.nfsd登陆NFS服务端后,在使用NFS服务端所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端权限Ø portmapportmap进行端口映射,当客户端尝试连接并使用RPC服务端提供的服务(如NFS服务)时,portmap会将所管理与服务对应的端口号提供给客户端,使客户端可以通过该端口向服务端请求服务。
portmap如果没有运行,NFS客户端就无法查找从NFS服务端中共享的目录4) 重要的文件Ø /etc/exportsl 介绍NFS中目录共享配置文件,用于编写需要共享的目录以及所共享的网络和用户权限l 格式共享的目录 [主机名称1|网段1|域1](参数1,参数2) [主机名称2|网段2|域2] (参数3,参数4)l 参数:n rw:可读可写的权限n ro:只读的权限n no_root_squash:登入到NFS主机的用户如果是root用户,他就拥有root的权限,此参数很不安全,建议不要使用。
Linux——配置NFS及autofs⾃动挂载服务⼀、NFS服务配置步骤NFS的作⽤:能够使两台虚拟机之间实现⽂件共享、数据同步(⼀)准备:主机名、⽹络、yum源1、更改主机名:[root@localhost ~]# hostnamectl set-hostname $主机名[root@localhost ~]# bash #环境变量重载2、配置⽹络(1)虚拟交换机、⽹络适配器选择仅主机模式,并且配置为192.168.100.0⽹段;(2)编辑⽹络配置⽂件:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=static #改为静态IP地址ONBOOT=yes #改为开机⾃启IPADDR=192.168.100.10PREFIX=24 或者 NETMASK=255.255.255.0(3)重启⽹络服务:[root@localhost ~]# systemctl restart network3、配置yum源(1)先在VMware⾥⾯把系统镜像⽂件连接到虚拟机的光驱上;(2)挂载光驱⾥的镜像:[root@localhost ~]# mount /dev/cdrom /media(3)修改yum源配置⽂件:[root@localhost ~]# vim /etc/yum.repos.d/local.repo[rhel]name=rhelbaseurl=file:///mediaenabled=1gpgcheck=0(4)清空yum源缓存信息:[root@localhost ~]# yum clean all(5)检索当前yum源信息:[root@localhost ~]# yum repolist(⼆)配置NFS服务步骤Server端:1、安装nfs-util和rpcbind:(图形化⾃带)[root@server ~]# yum -y install nfs-util rpcbind2、新建共享⽬录及标记⽂件:[root@server ~]# mkdir /opt/share[root@server ~]# touch /opt/share/flag3、开放读写权限:[root@server ~]# chmod -R 777 /opt/share4、修改配置⽂件:[root@server ~]# vim /etc/exports写⼊:/opt/share 192.168.100.0/24(rw,sync)5、⽣效配置:[root@server ~]# exportfs -r6、启动并开机⾃启NFS服务:[root@server ~]# systemctl start rpcbind[root@server ~]# systemctl start nfs[root@server ~]# systemctl enable rpcbind[root@server ~]# systemctl enable nfs7、查看挂载⽬:[root@server ~]# showmount -e 192.168.100.108、查看端⼝是否开启(111和2049):[root@server ~]# netstat -pantClient端:1、安装nfs-util和rpcbind:(图形化⾃带)[root@client ~]# yum -y install nfs-util rpcbind2、关闭SELinux服务:[root@client ~]# setenforce 03、挂载共享⽬录:[root@client ~]# mount -t nfs 192.168.100.10:/opt/share /mnt 4、查看挂载情况:[root@client ~]# df -h5、在/mnt⾥⾯创建⽂件验证[root@client ~]# cd /mnt[root@client mnt]# touch abc⼆、autofs⾃动挂载配置步骤(⼀)准备:要在NSF的基础上进⾏配置如上操作(⼆)配置autofs步骤Server端:检查nfs是否开启:[root@server ~]# systemctl status nfs检查端⼝号:[root@server ~]# netstat -pant检查防⽕墙:[root@server ~]# systemctl status firewalldClient端:先查看挂载⽬:[root@client ~]# showmount -e 192.168.100.101、安装autofs:[root@client ~]# yum -y install autofs2、配置/share:[root@client ~]# vim /etc/auto.master.d/test.autofs写⼊:/share /etc/auto.test3、配置pub:[root@client ~]# vim /etc/auto.test写⼊:pub 192.168.100.10:/opt/nfsshare4、重启并开启⾃启:[root@client ~]# systemctl restart autofs[root@client ~]# systemctl enable autofs5、访问⽬录:[root@client ~]# cd /share/pub注意:第⼀个⽂件要以autofs结尾,第⼆个配置⽂件名要与第⼀个配置⽂件⾥定义的参数⼀致。
linux安装配置NFS服务器⼀、Ubuntu安装配置NFS1.安装NFS服务器sudo apt-get install nfs-kernel-server安装nfs-kernel-server时,apt会⾃动安装nfs-common和portmap2.创建NFS共享⽬录在⾃⼰想要设置的路径下创建共享⽂件,如:cd /homesudo mkdir nfs_share3.修改NFS共享⽬录权限sudo chmod 777 /home/nfs_chare -R注意:不修改共享⽬录的权限会导致nfs共享服务⽆法正常启动。
4.修改配置⽂件 "/etc/exports"在最后⼀⾏添加⾃⼰的共享路径,如:sudo vim /etc/exports/home/nfs_share *(rw,sync,no_root_squash,no_subtree_check)/home/nfs_share:是nfs服务端的共享路径。
*:表⽰所有⽹段都可以访问(可以指定具体的ip)。
rw:挂接指定共享⽬录的客户端具有读写权限。
sync:资料同步写⼊内存和硬盘.no_root_squash:客户机⽤root访问该共享⽂件夹时,不映射root⽤户。
no_subtree_check:不检查⽗⽬录的权限。
5.重启NFS共享服务sudo /etc/init.d/nfs-kernel-server restart6.挂载NFS共享⽬录测试NFS是否安装配置成功sudo mount -t nfs localhost:/home/nfs_share /mntlocalhost:是共享NFS的地址(⾮本机客户端使⽤ip即可)。
/home/nfs_share:共享⽬录的路径。
/mnt:客服端设备的挂载路径7.NFS常⽤指令显⽰配置的共享⽬录showmount -e取消挂载(注意:取消挂载是需要离开挂载所在的⽬录,否则会取消挂载失败,有点像windwos系统的⽂件已开⽆法卸载⼀样)sudo umount /mnt以上是Ubuntu的安装配置教程,centos的安装配置类似,⽬前我使⽤的是Ubuntu系统,以后有⽤到centos系统时再补上安装配置教程错误需要安装nfs-common和nfs-utils服务apt-get install nfs-commonapt-get install nfs-utils。
Linux下NFS服务器的配置相关命令:rpcinfo -p [IPADD]:查看服务器提供的rpc服务showmount -e:查看服务共享的目录一、NFS挂载设置Server端:主机ip 192.168.0.5(服务器提供文件共享的机器)1./etc/exports格式:目录选项例:共享/share目录给192.168.0.6的用户/share 192.168.0.6 (rw)2. 修改/etc/hosts (存放IP地址与主机名的对应关系)添加以下内容192.168.0.5 nfsserver注:当NFS Server 上面的/etc/hosts文件中的域名与本机IP不对称时,会出现无法导出共享目录的现象3. 启动portmap服务:service portmap start[restart]注:因NFS及其辅助程序都是基于RPC,所以要确保系统中首先运行portmap服务4.启动NFS服务:service nfs start[restart]5、验证nfs和portmap状态service nfs/portmap status6、showmount -e 192.168.0.5 显示本机的/etc/exports里面共享的目录7、设置nfs、portmap开机自启动打开/关闭chkconfig --level 2345 nfs/portmap on/offchkconfig --list nfs/portmap 查看服务是否设置成开机自启动Client端:主机ip 192.168.0.6(客户端就是访问服务器的机器)1. 修改/etc/hosts (存放IP地址与主机名的对应关系)添加以下内容192.168.0.6 nfsclient2.启动portmap服务:service portmap start[restart]3.挂载服务器端的共享目录(假设服务器端192.168.0.5):mount -t nfs 192.168.0.5:/share /mnt/localshare注:这里我们假设192.168.0.5是NFS服务端的主机IP地址,当然这里也可以使用主机名,但必须在本机/etc/hosts文件里增加服务端ip定义。
1、开始→系统设置→服务器设置→服务
2、在弹出的服务配置框中,拉动下拉条,找到smb选项框并打勾,点击重启。
(会显示restart successful 以及nfs(pid xxxx)is running)
3、开始→系统设置→服务器设置→nfs服务器
前linux的ip号,选择权限,点击确定
5、通过终端输入命令moumt –t nfs 192.168.0.11:/home/user /mnt/nfs (192.168.0.11可以改为你的linux的ip /home/user是你在第4步选择的目录) 两个文件夹的所含文件相同,说明已经完成操作
也许,你的共享文件无法访问。
这可能是因为你的共享文件的权限不足。
可以用以下命令:在linux中修改该文件的权限
# chmod 755 user(可以改为你要修改的文件名)。
Linux下NFS(网络文件系统)的建立与配置方法引:听董远老师的课介绍过NFS,只是提到小公司一般用,大公司不太用,不知道IBM用不用。
学了总之没有坏处哈网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远程主机的共享分区(目录)进行操作。
因为NFS支援的功能相当的多,而不同的功能都会使用不同的程式来启动,每启动一个功能就会启用一些port来传输资料,因此, NFS的功能所对应的port 才没有固定住,而是采用随机取用一些未被使用的小于1024的埠口来作为传输之用。
此时我们就得需要远端程序呼叫(RPC)的服务啦。
RPC最主要的功能就是在指定每个NFS功能所对应的port number ,并且回报给用户端,让用户端可以连结到正确的埠口上去。
那RPC又是如何知道每个NFS的埠口呢?这是因为当伺服器在启动NFS时会随机取用数个埠口,并主动的向RPC注册,因此RPC可以知道每个埠口对应的NFS功能,然后RPC又是固定使用port 111来监听用户端的需求并回报用户端正确的埠口,所以当然可以让NFS的启动更为轻松愉快了!步骤:用户端会向伺服器端的RPC (port 111)发出NFS档案存取功能的询问要求;伺服器端找到对应的已注册的NFS daemon埠口后,会回报给用户端;用户端了解正确的埠口后,就可以直接与NFS daemon来连线。
由于NFS的各项功能都必须要向RPC来注册,如此一来RPC才能了解NFS这个服务的各项功能之port number, PID, NFS在主机所监听的IP等等,而用户端才能够透过RPC的询问找到正确对应的埠口。
也就是说,NFS必须要有RPC存在时才能成功的提供服务,因此我们称NFS为RPC server的一种。
在嵌入式Linux 的开发过程中,开发者需要在Linux 服务器上进行所有的软件开发,交叉编译后,通用FTP 方式将可执行文件下载到嵌入式系统运行,但这种方式不但效率低下,且无法实现在线的调试。
Linux下配置安装NFS在Redhat Linux中查看是否已安装NFS及portmap的命令如下:[root@localhost root]# rpm -qa |grep portmapportmap-4.0-54 //portmap软件包组件[root@localhost root]# rpm -qa |grep nfsredhat-config-nfs-1.0.4-5 //在图形界面下配置nfs的软件包组件nfs-utils-1.0.1-2.9 //nfs后台套件如果没有安装这两个软件包,在第1张安装光盘中查找以下3个软件包安装程序(或者使用redhat-config-packages打开图形界面更新)。
安装命令如下:[root@localhost root]# rpm -ivh portmap-4.0-54.i386.rpm[root@localhost root]# rpm -ivh redhat-config-nfs-1.0.4-5.i386.rpm//(要使用图形界面配置nfs,必须安装)[root@localhost root]# rpm -ivh nfs-utils-1.0.1-2.9.i386.rpm1.1NFS概述NFS(Network File System)是一种分布式文件系统,允许网络中的安装不同操作系统的计算机间共享文件和外设,所以它的通讯协定设计与主机及作业系统无关. 它是由SUN公司于1984年推出,使得可以本地机一样的使用另一台联网计算机的文件和外设。
NFS在文件传送或信息传送过程中依赖于RPC协议。
NFS 的当前版本是V4(RFC3010)RPC, 远程过程调用(remote procedure call) 是能使客户端执行其他系统中程序的一种机制。
由于使用RPC 的程序不必了解支持通信的网络协议的情况,因此RPC 提高了程序的互操作性。
常用于分布式客户端/服务器模型,发出请求的程序是客户程序,而提供服务的程序是服务器。
NFS:Network File System,linux中共享文件的服务。
使用NFS需要启用RPC(remoteprocedure call),RPC可以指定每个NFS功能所对应的端口号,重启RPC后,RPC所管理的所有NFS功能服务都需重新向RPC注册。
设置NFS需要安装nfs-utils和portmap程序,使用rpm –q可以查看是否安装Nfs-utils:提供rpc.nfsd和rpc.mountd两个daemon与其他document说明文件。
rpc.nfsd:管理client是否能够登入主机,及对登入者ID的辨别。
rpc.mountd:管理NFS文件系统,读取/etc/exports对比client取得相应的权限。
Portmap:端口映射;在启动rpc之前做好端口映射工作。
NFS的配置文件有两个:/etc/exports:NFS配置文件/var/lib/nfs/*tab:NFS服务器日志放置路径;etab记录共享出来的目录完整权限设置值;xtab记录曾经连接到此NFS主机的相关客户端数据两个命令:/usr/sbin/exportfs:维护NFS共享资源;重新共享/etc/exports变更目录或将NFSserver共享目录卸载或重新共享/usr/sbin/showmount:在客户端查看NFS服务器共享出来的目录资源/etc/exports配置文件首先需要手动编辑/etc/exports配置文件共享目录必须使用绝对路径,权限部分依照不同的权限共享给不同的主机,括号内是设置权限参数的位置,权限不止一个时,使用,隔开,主机名和括号连在一起。
主机名设置可以使用网段:192.168.1.0/24或完整IP:192.168.1.23也可以使用主机名称,但此主机名称需要存在于/etc/hosts中或使用DNS可以找到,找到IP即可,主机名支持通配符,如*?/mnt/sda4/share/a 192.168.23.129(rw)设置共享目录/mnt/sda4/share/a,仅192.168.23.129主机允许访问此共享目录,具有读写权限/mnt/sda4/share/b 192.168.23.129(rw) *(ro)设置共享目录/mnt/sda4/share/b,192.168.23.129可以读写该共享目录,其他主机只可以读取该共享目录/mnt/sda4/share/c 192.168.23.129(no_root_squash)设置共享目录/mnt/sda4/share/c,仅192.168.23.129可以访问和读写,root登录时拥有root权限/mnt/sda4/share/d 192.168.23.0/24(rw)设置共享目录/mnt/sda4/share/d,仅有192.168.23.0/24网段的主机才可访问和读写此目录文件/mnt/sda4/share/e *(rw,all_squash,anonuid=500,anongid=500)设置共享目录/mnt/sda4/share/e,所有主机都允许访问此共享目录,具有读写权限,但他们访问该共享目录时,已将其UID、GID设置成500。
Linux NFS配置文件说明以及实验文档NFS的主要配置文件是/exports,该文件默认在/etc/下。
安装完成后,默认是空文件。
而我们需要把一些共享参数写进入。
它的格式:[共享的目录] [主机名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(一)配置共享因为我们的系统默认都安装过这样的包。
(当然我们这里所说的还是Red Hat Linux Enterprise Linux 5.0啦)首先我们来创建共享目录。
#mkdir /home/share我们可以给以一些权限,那么chown更改此目录属主,当然也可以chmod给以相应权限,更或者其他权限设置。
mkfs -t ext4 -c /dev/vdb /*格式化磁盘分区*/一、环境介绍:服务器:centos 192.168.1.225客户端:centos 192.168.1.226二、安装:NFS的安装配置:yum -y install nfs-utils rpcbindyum –y install nfs三、服务器端配置:1、创建共享目录并mount光纤存储:[root@centos2 /]# mkdir /data[root@centos2 /]# mount /dev/disksafe/ /dev/disksafe/mapper/(tab补全) /data2、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地址或者是一个域名,域名支持通配符,如:*,地址与权限中间没有空格,权限说明: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 startStarting rpcbind: [ OK ][root@centos2 /]# service nfs startStarting NFS services: [ OK ]Starting NFS quotas: [ OK ]Starting NFS mountd: [ OK ]Stopping RPC idmapd: [ OK ]Starting RPC idmapd: [ OK ]Starting NFS daemon: [ OK ][root@centos2 /]#centos 5[root@centos2 /]# service portmap start[root@centos2 /]# service nfs start[root@centos2 /]#四、客户端挂载:1、创建需要挂载的目录:[root@localhost ~]# mkdir /data[root@localhost ~]#2、测试挂载:[root@localhost ~]# showmount -e 10.0.0.97Export list for 10.0.0.97:/data 10.0.0.96[root@localhost ~]#如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙(稍候会详细说)。
3、挂载:[root@localhost ~]# mount -t nfs 10.0.0.97:/data /data[root@localhost ~]# mount/dev/mapper/VolGroup-lv_root on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (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)192.168.1.225:/usr/local/test on /usr/local/test type nfs (rw,vers=4,addr=192.168.1.225,clientaddr=192.168.1.226)[root@localhost ~]#如果信息如上显示则挂载成功!4、测试:客户端生成一个文件:[root@centos2 /]# cd /usr/local/test/[root@centos2 test]# echo "hello nfs test">>test[root@centos2 test]# lltotal 4-rw-r--r-- 1 root root 15 Apr 9 13:24 test[root@centos2 test]#服务端检查:[root@centos2 /]# cd /usr/local/test/[root@centos2 test]# lltotal 4-rw-r--r-- 1 root root 15 Apr 9 13:24 test[root@centos2 test]#挂载成功!五、解除挂载:[root@localhost ~]# umount /usr/local/test[root@localhost ~]# mount/dev/mapper/VolGroup-lv_root on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw)/dev/sda1 on /boot type ext4 (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)[root@localhost ~]#如果遇到:umount.nfs: /usr/local/test: device is busy可能用命令:[root@localhost /]# fuser -m -v /usr/local/test用户进程号权限命令/usr/local/test/: root 2798 ..c.. bashroot 2996 ..c.. su[root@localhost /]# kill -9 2798[root@localhost /]# kill -9 2996[root@localhost /]# umount /usr/local/test[root@localhost /]#六、服务器端防火墙设置(NFS 开启防墙配置):1、修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)# Local servicesmountd 1011/tcp #rpc.mountdmountd 1011/udp #rpc.mountdrquotad 1012/tcp #rpc.rquotadrquotad 1012/udp #rpc.rquotad2、重起Linux NFS服务service nfs restart3、此时rpc相关端口已经被固定,可以为Linux NFS添加防火墙规则#portmap/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 111 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 111 -j ACCEPT#nfsd/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 2049 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 2049 -j ACCEPT#mountd/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 1011 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 1011 -j ACCEPT#rquotad/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 1012 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 1012 -j ACCEPT#rpc.statd/sbin/iptables -A INPUT -s 192.168.1.0/254 -p tcp --dport 32768 -j ACCEPT/sbin/iptables -A INPUT -s 192.168.1.0/254 -p udp --dport 32768 -j ACCEPT---TCP方法成功--------------------------------------------A INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 1011 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 1012 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 32768 -j ACCEPT客户端在挂载的时候遇到的一个问题如下,可能是网络不太稳定,NFS默认是用UDP协议,换成TCP协议即可:mount -t nfs 192.168.1.225:/usr/local/test /usr/local/test -o proto=tcp -o nolock。