首页 > 代码库 > linux配置nfs服务

linux配置nfs服务



简单介绍:

unix/linux系统一种远程文件文件夹共享的服务,能够把某一个远程的文件文件夹共享到本地,进而像操作本地文件一样,操作这个远程的文件夹。

比如:a主机作为服务端,共享出来test1这个文件夹,b主机作为client,b以其test2文件夹挂载a主机的test1文件夹,那么这个时候查看b主机的test2中的内容则会与a主机的test1中一样,对b主机test2文件夹的操作就是在操作a主机的test1文件夹(增删改查,当然要设置足够的权限)。



注:我配置的时候,由于仅仅有一台linux主机,所以这里服务端和client都在一台机器上,读者可不必注意。


【服务端】

---------------------------------------------------


一、NFSserver的安装   

检查linux系统中是否安装了nfs-utils和portmap两个软件包(RHEL4系统默认已经安装了这两个软件包)。
以root方式登入linux系统,运行命令查看是否安装nfs服务的命令
命令:
-----------------------------------------
# rpm -q portmap
# rpm -qa | grep nfs


假设显示安装则会显示版本号信息
-----------------------------------------


二、启动服务

假设server没有启动,则开启服务(默认服务下nfs没有全然开启)
注意:启动时,portmap一定要先启动,关闭时,portmap一定要后关闭
启动命令:
-----------------------------------------
# service portmap start    //restart 重新启动
# service nfs start  
           //restart 重新启动
-----------------------------------------
--假设启动完毕会显示ok



三、检查RPC程序是否启动

因为NFS是通过RPC(远程过程调用)协议来使用远程计算机上的文件,因此系统中的RPC服务必须启动。
命令:
-----------------------------------------
# rpcinfo | more
# rpcinfo -p | more
-----------------------------------------
--假设成功能够看到
--proto   port
--tcp      111
--udp     111



四、设置要共享的文件夹

(1),准备好要共享的文件夹,比方服务端想要共享出文件系统下/java/tomcat1文件夹。
在文件系统下新建/java/tomcat1文件夹
命令:
-----------------------------------------
# mkdir /java   
# mkdir /java/tomcat1


然后在tomcat1中新建2目录,便于等会配置成功后观察效果(也能够直接手动)。
# mkdir /java/tomcat1/t1
# mkdir /java/tomcat1/t2
# mkdir /java/tomcat1/t3
-----------------------------------------
--这样就能够看到在/java/tomcat1文件夹下有3个文件夹

(2),设置要共享出去的文件夹
找到文件系统下/etc/exports文件,打开编辑加入例如以下内容,格式例如以下:
-----------------------------------------------------------
/java/tomcat1 192.168.56.101(rw,sync,no_root_squash)
-----------------------------------------------------------
--这里代表的含义:192.168.56.101这台主机能够以这种权限(rw,sync,no_root_squash)来訪问我本台机器的/java/tomcat1这个文件夹
--然后保存退出。
--这里的ip:192.168.56.101是我虚拟机中linux系统的ip,能够在linux命令行通过ifconfig查看此ip



參数配置解释:
/java/tomcat1 --要共享出去的文件夹名
可訪问的主机地址 --192.168.56.101
exports文件里“client主机地址”字段能够使用多种形式表示主机地址
192.168.152.13 指定IP地址的主机
nfsclient.test.com 指定域名的主机
192.168.1.0/24 指定网段中的全部主机
*.test.com 指定域下的全部主机
* 全部主机
(rw,sync,no_root_squash)  --訪问的权限
rw:读/写权限,与ro不能共同使用
ro:仅仅读权限,与rw不能共同使用
sync:数据同步写入内存和硬盘,这样不会轻易丢失数据,建议全部的NFS共享文件夹都使用该选项  。
         也能够使用async,此时数据会先暂存于内存中,而不马上写入硬盘。
no_root_squash:NFS server共享文件夹用户的属性,假设用户是 root,那么对于这个共享文件夹来说就具有 root 的权限。


(3)、又一次输出共享文件夹格式
改动了配置文件/etc/exports须要又一次输出共享文件夹格式(或者手动重新启动服务)
又一次输出共享文件夹格式命令:
--------------------------------
exportfs -rv
--------------------------------
--运行之后能够看到从新输出的信息



(4),显示主机中共享出去的输出文件夹列表
命令:
--------------------------------
# showmount -e (nfsserverip地址)     
--------------------------------
--假设不写ip则默认显示当前主机中输出文件夹列表。
--我这里直接写的我的地址192.168.56.101,也能够不写。
--运行这个命令能够看到输入的文件夹中有/java/tomcat1,而且有对应的訪问权限信息。






【client】
---------------------------------------------------


五、挂载nfs


这里也相当于就是把之前设置出来的共享文件夹,挂载某一台主机上去。
一般来说是在client的机器上操作,我这里仅仅有一台linux,所以就直接在这里操作,能够达到相同的目的。

(1),创建挂载点
命令:
---------------------------------
# mkdir /java/tomcat2
---------------------------------
--这个的意思是,要把远程的地址挂载到本地哪一个文件夹上,我这里直接新建一个文件夹来作为挂载点。


(2)、运行挂载命令:
--------------------------------------------
# mount  192.168.56.101:/java/tomcat1 /java/tomcat2 
--------------------------------------------
--格式:mount   nfsserver地址:/共享文件夹  /挂载点
--运行成功无显示信息


(3),查看nfs挂载的共享文件夹
命令:
----------------------------------------
# df -h
----------------------------------------
--通过查看命令能够看到挂载了哪些远程地址的共享文件夹,分别挂载到了那个挂载点上。
--假设有看到192.168.56.101以下的/java/tomcat1被挂载到本机的/java/tomcat2上证明成功了。



(4)、查看挂载文件夹下的信息是否与远程文件夹一致
命令
----------------------------------------
# ls /java/tomcat2
----------------------------------------
--假设显示出文件夹下有t1,t2,t3三个文件夹则是正确的。注:t1,t2,t3为共享文件夹/java/tomcat1中的内容,这里显示则证明共享成功了。
--还能够在tomcat1或者tomcat2中删除某个目录,看对方目录是否有变化,来证明挂载正确。


(5),卸载挂载点
命令:
----------------------------------------
# umount /java/tomcat2
----------------------------------------
--通过这个命令可取消/java/tomcat2这个挂载点,运行命令后从新查看/java/tomcat2中的内容发现,没有了t1,t2,t3等内容了。
--注意,卸载的时候【盘符】一定不能再当前文件夹进行卸载,也就是说你不能在/java/tomcat2文件夹中对/java/tomcat2进行卸载,一定要退出去。



六、设置开机自己主动挂载NFS共享


写入/etc/fstab配置文件

格式:
NFS共享地址:/共享文件夹 本机挂载点 文件系统 权限 是否检測 检測顺序

演示样例:

192.168.56.101:/java/tomcat1 /java/tomcat2 nfs rw 0 0




參考资料:http://hi.baidu.com/guoqs/item/8057c927e5800e889c63d1bc