一、环境介绍:

服务器:centos 192.168.1.225

客户端:centos 192.168.1.226

二、安装:

NFS的安装配置:
centos 5 :

portmap:实现RPC(协议)的应用程序
yum -y install nfs-utils portmap

centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :

yum -y install nfs-utils rpcbind

三、服务器端配置:

1、创建共享目录:

[root@centos2 /]# mkdir /usr/local/test

2、NFS文件配置:

[root@centos2 /]# vi /etc/exports
#增加一行:
/usr/local/test/ 192.168.1.226(rw,no_root_squash,no_all_squash,sync)

:x保存退出;

使配置生效:

[root@centos2 /]# exportfs -r

注:配置文件说明:

/usr/local/test/ 为共享的目录,使用绝对路径。
192.168.1.226(rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,地址可以是一个网段,一个IP地址或者是一个域名,域名支持通配符,如:*.youxia.com,地址与权限中间没有空格,权限说明:
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 ]
Starting NFS mountd: [ OK ]
Stopping RPC idmapd: [ OK ]
Starting RPC idmapd: [ OK ]
Starting NFS daemon: [ OK ]

centos 5

[root@centos2 /]# service portmap start
[root@centos2 /]# service nfs start

四、客户端挂载:

1、创建需要挂载的目录:

[root@localhost ~]# mkdir /usr/local/test
[root@localhost ~]#

2、测试挂载:

[root@localhost ~]# showmount -e 192.168.1.225
Export list for 192.168.1.225:
/usr/local/test 192.168.1.226
[root@localhost ~]#

如果显示:rpc mount export: RPC: Unable to receive; errno = No route to host,则需要在服务端关闭防火墙(稍候会详细说)。

3、挂载:

[root@localhost ~]# mount -t nfs 192.168.1.225:/usr/local/test /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=,mode=)
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=,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]# ll
total
-rw-r--r-- root root Apr : test
[root@centos2 test]#

服务端检查:

[root@centos2 /]# cd /usr/local/test/
[root@centos2 test]# ll
total
-rw-r--r-- root root Apr : 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=,mode=)
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 ..c.. bash
root ..c.. su
[root@localhost /]# kill - [root@localhost /]# kill - [root@localhost /]# umount /usr/local/test
[root@localhost /]#

六、服务器端防火墙设置(NFS 开启防墙配置):

1、修改/etc/service,添加以下内容(端口号必须在1024以下,且未被占用)

# Local services
mountd 1011/tcp #rpc.mountd
mountd 1011/udp #rpc.mountd
rquotad 1012/tcp #rpc.rquotad
rquotad 1012/udp #rpc.rquotad

2、重起Linux NFS服务

service nfs restart

3、此时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

[root@bogon vagrant]# rpm -ql nfs-utils

启动nfs 服务器
[root@bogon ~]# service nfs start [root@bogon ~]# service rpcbind status
//查看rpcbind 状态
[root@bogon ~]# service rpcbind status //查看端口
[root@bogon ~]# netstat -tunlp //查看一台主机所有rpc进程监听的端口号
[root@bogon ~]# rpcinfo -p loacalhost //nfs 开机启动
chkconfig nfs on //nfs的配置文件 是 /etc/exports
格式:
/path/to/somedir CLIENT_LIST
多个客户之间使用空白字符分隔,每个客户端后面必须跟一个小括号
,里面定义了此客户访问特性,如访问权限登。
例如:
172.16.0.0/(ro,async) 172.16.0.0/(rw,sync) showmount 显示共享
//查看NFS服务器共享的各文件系统
showmount -e 172.16.0.0 //查看NFS服务器所有被挂载的文件系统及其挂载的客户端列表
showmount -a 172.16.0.0 //查看NFS服务器所有被挂载的文件系统及其挂载的客户端列表
//查看NFS服务器所有导出的文件系统中被客户端挂载了文件系统列表
showmount -d 172.16.0.0 //客户端使用mount命令挂载
mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT /PAT/TO/SOMEWHER nfs会启动3个进程, nfsd(nfs服务,文件传输进程),mountd(挂载),quotad(磁盘配额) nfsd:/tcp,/udp
mountd:端口会改变(半随机)
quotad:端口会改变(半随机) CentOS6(Linux Kernel 2.6.)中,portmap已经被rpcbind代替了,仔细查看安装信息就会发现,执行命令yum install portmap时安装的就是rpcbind。安装完成后也可以通过命令:yum whatprovides portmap来查看详细信息。
通过yum或者rpm安装完portmap后,发现执行命令service portmap start时报如下错误:portmap: unrecognized service。

http://www.zhukun.net/archives/7096

CentOS5.x、CentOS6.x 使用NFS及mount实现两台服务器间目录共享的更多相关文章

  1. CentOS 下实现两台服务器之间的共享NFS

    NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind yum install ...

  2. NFS和mount常用参数详解 本文目录

    NFS和mount常用参数详解   本文目录 NFS权限参数配置 mount挂载参数 原始驱动程序的挂载选项. 新驱动程序的挂载选项. 怎样改变已经挂载的NTFS卷的权限? 怎样自动挂载一个NTFS卷 ...

  3. windows server 2008 R2 部署NFS,实现多台服务器间、客户端间的共享目录。

    如何通过Windows Server 2008 R2建立NFS存储服务? 通过Windows Server 2008 R2,我们可以很容易地将其作为一台NFS存储服务器,得到一个NFS软存储,轻松解决 ...

  4. NFS,两台linux设置网络共享文件系统

    NFS,MOUNT,UMOUNT 简介 NFS是Network File System的简写,网络文件系统.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,根据权限的控制可以对N ...

  5. CentOS6.9下NFS配置说明(转载)

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  6. CentOS6.9下NFS配置说明

    NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端可以通过挂载(mount)的方式将NFS ...

  7. 客户端挂载NFS服务器中的共享目录(用户后台上传图片与前台上传图片放在同一个服务器上)

    服务器端使用showmount命令查询NFS的共享状态 # showmount -e //默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错 # showmount -a //显示已经与客 ...

  8. 使用nfs映射远程服务器磁盘目录

    参考:http://www.centoscn.com/CentosSecurity/SoftSecurity/2015/0408/5118.html          http://www.cnblo ...

  9. centos 7 安装nfs 实现主机目录共享

    多台服务器之间共享目录,实现每个服务器进入目录看到的内容都一样 服务器A 服务器B 1.服务器A和服务器B,安装 nfs-utils和rpcbind #yum install -y nfs-utils ...

随机推荐

  1. APIO2018 铜滚记

    「一旦闭上双眼,就昏昏欲睡」「仿佛与这个世界的联系,被瞬间切断」「可是,负罪感与背德感又会在黑暗中将我吞噬」「即使这样,却也无法与身体的疲惫抗衡」 「如果,这些东西也无法让意识的存在稳定下来的话」「那 ...

  2. 喵哈哈村的魔法考试 Round #12 (Div.2) 题解

    A 注意答案会超过int,考虑分l,r奇数和偶数来考虑即可. #include<bits/stdc++.h> using namespace std; long long l,r; int ...

  3. Linux设置和查看环境变量的方法 详解

    1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...

  4. 初识zookeeper(1)之zookeeper的安装及配置

    初识zookeeper(一)之zookeeper的安装及配置 1.简要介绍 zookeeper是一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件,是一个树型的目录服务,支持变更推送. ...

  5. 学习shader之前必须知道的东西之计算机图形学-渲染管线

    引言 shader到底是干什么用的?shader的工作原理是什么? 其实当我们对这个问题还很懵懂的时候,就已经开始急不可耐的要四处搜寻有关shader的资料,恨不得立刻上手写一个出来.但看了一些资料甚 ...

  6. F800上的CPU有多少个core?

    本来想看看F800的一个节点上,每个core的cpu的使用情况.使用下面的命令,可以进行查看: top –P 从命令输出来看,好像是有32个core嘛. 使用下面的命令可以看到具体的CPU的信息. d ...

  7. APICloud和海马玩模拟器结合调试手机页面

    https://blog.csdn.net/pleasecallme_522/article/details/54577904

  8. 利用Xmanager Enterprise 5的passive显示远程linux主机图形化信息

    问题描述: 最初的需求是,安装oracle数据(第一次安装都是图形化linxu进去一步步操作,后续发现可以命令静默安装不调用图形化,学习就是步步入深,方得始终),最初实现window弹出linux主机 ...

  9. Mac下用zsh

    最近好多实验要跑,有时候Finder切换来切换去,感觉还不如用terminal. Mac默认的shell是bash.所以说我其实今天才弄明白shell和terminal之间的关系.在人和计算机内核之间 ...

  10. Eureka服务注册中心相关错误com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect

    启动项目报错如下 原因: 在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以会出现 com.sun.jersey.api.client.ClientHandlerExce ...