Centos6.7下NFS的配置安装

一 NFS集群环境搭建准备

1.1        准备好NFS服务器

二 开始安装NFS

2.1 环境信息确认

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.7 (Final)

[[email protected] ~]# uname -r

2.6.32-573.el6.x86_64

[[email protected] ~]# uname -m

x86_64

2.2 NFS软件列表

查看系统是否安装:

[[email protected] ~]# rpm -qa nfs-utils rpcbind

2.3 yum安装软件包

安装epel yum源:

rpm -Uvhhttp://mirrors.kernel.org/fedora-epel/6/i386/epel-release-6-8.noarch.rpm

安装nfs-utilsrpcbind包

[[email protected] ~]# yum install nfs-utilsrpcbind

安装完毕后检查安装结果:

[[email protected] ~]# rpm -qa nfs-utils rpcbind

nfs-utils-1.2.3-64.el6.x86_64

rpcbind-0.2.0-11.el6_7.x86_64

TIPs:为什么所有客户端都安装nfs?因为客户端showmount命令在nfs里面,如果不安装找不到这条命令

三 启动NFS及相关知识讲解

3.1 服务的启动顺序

先把Rpcbind启用:

[[email protected] ~]# /etc/init.d/rpcbindstatus

rpcbind is stopped

[[email protected] ~]# /etc/init.d/rpcbindstart

Starting rpcbind:                                         [  OK  ]

[[email protected] ~]# lsof -i :111

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

rpcbind 25222  rpc   6u  IPv4  34655     0t0  UDP *:sunrpc

rpcbind 25222  rpc   8u  IPv4  34658     0t0  TCP *:sunrpc (LISTEN)

rpcbind 25222  rpc   9u  IPv6  34660     0t0  UDP *:sunrpc

rpcbind 25222  rpc  11u  IPv6  34663     0t0  TCP *:sunrpc (LISTEN)

[[email protected] ~]# netstat -lntup|greprpcbind|grep -v grep

tcp        0     0 0.0.0.0:111                0.0.0.0:*                   LISTEN      25222/rpcbind

tcp        0     0 :::111                      :::*                        LISTEN      25222/rpcbind

udp        0     0 0.0.0.0:805                0.0.0.0:*                              25222/rpcbind

udp        0     0 0.0.0.0:111                0.0.0.0:*                               25222/rpcbind

udp        0     0 :::805                     :::*                                   25222/rpcbind

udp        0     0 :::111                     :::*                                   25222/rpcbind

[[email protected] ~]# netstat -lntup|grep111

tcp        0     0 0.0.0.0:111                0.0.0.0:*                   LISTEN      25222/rpcbind

tcp        0     0 :::111                     :::*                        LISTEN      25222/rpcbind

udp        0     0 0.0.0.0:111                0.0.0.0:*                              25222/rpcbind

udp        0     0 :::111                     :::*                                   25222/rpcbind

[[email protected] ~]# chkconfig --list |greprpcbind

rpcbind         0:off  1:off   2:on    3:on   4:on    5:on    6:off

再次启用NFS服务

[[email protected] ~]# netstat -lntup|grep2049

tcp        0     0 0.0.0.0:2049               0.0.0.0:*                   LISTEN      -

tcp        0     0 :::2049                     :::*                        LISTEN      -

udp        0     0 0.0.0.0:2049               0.0.0.0:*                              -

udp        0     0 :::2049                    :::*                                    -

3.2 rpcbind 查看NFS共享的信息

[[email protected] ~]# rpcinfo -p localhost

program vers proto   port  service

100000    4   tcp   111  portmapper

100000    3   tcp   111  portmapper

100000    2   tcp   111  portmapper

100000    4   udp   111  portmapper

100000    3   udp   111  portmapper

100000    2   udp   111  portmapper

100011    1   udp   875  rquotad

100011    2   udp   875  rquotad

100011    1   tcp   875  rquotad

100011    2   tcp   875  rquotad

100005    1   udp 45070  mountd

100005    1   tcp 51837  mountd

100005    2   udp 37124  mountd

100005    2   tcp 49654  mountd

100005    3   udp 59899  mountd

100005    3   tcp 59234  mountd

100003    2   tcp  2049  nfs

100003    3   tcp  2049  nfs

100003    4   tcp  2049  nfs

100227    2   tcp  2049  nfs_acl

100227    3   tcp  2049  nfs_acl

100003    2   udp  2049  nfs

100003    3   udp  2049  nfs

100003    4   udp  2049  nfs

100227    2   udp  2049  nfs_acl

100227    3   udp  2049  nfs_acl

100021    1   udp 42632  nlockmgr

100021    3   udp 42632  nlockmgr

100021    4   udp 42632  nlockmgr

100021    1   tcp 59242  nlockmgr

100021    3   tcp 59242  nlockmgr

100021    4  tcp  59242  nlockmgr

[[email protected] ~]# chkconfig --list nfs

nfs             0:off   1:off  2:off   3:off   4:off  5:off   6:off

[[email protected] ~]# chkconfig nfs on

从这里看出,NFS开启了很多的服务。

3.3 开机自启动顺序情况

Less /etc/init.d/rpcbind

Less /etc/init.d/nfs

3.4 配置开机自启动

四 NFS服务常见进程详解说明

[[email protected] ~]# ps -ef |egrep"rpc|nfs"

rpc      25222      1  0 03:33 ?        00:00:00 rpcbind

root     25310      2  0 03:39 ?        00:00:00 [rpciod/0]

root      25319     1 0 03:39 ?        00:00:00rpc.rquotad        磁盘配额进程

root      25324     1  0 03:39 ?        00:00:00 rpc.mountd        权限管理验证等

root     25331      2  0 03:39 ?        00:00:00 [nfsd4]

root     25332      2  0 03:39 ?        00:00:00 [nfsd4_callbacks]

root      25333     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25334     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25335     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25336     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25337     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25338     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25339     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25340     2  0 03:39 ?        00:00:00 [nfsd]                  nfs主进程

root      25371     1  0 03:39 ?        00:00:00 rpc.idmapd          name maping daem

root     25403   2295  0 03:56 pts/0    00:00:00 grep -E rpc|nfs

五 NFS实战配置服务端

5.1 默认配置文件介绍

NFS默认配置文件/etc/exports是存在的,但是默认是没有内容的,需要配置。有些Linux版本不提供这个配置文件,需要手动创建。

Man exports 我们可以看到exports的书写格式

5.2配置exports文件

vim /etc/exports

[[email protected] ~]# /etc/init.d/nfs reload

exportfs: Failed to stat /nfs_data: Nosuch file or directory

[[email protected] ~]# mkdir /nfs_data

[[email protected] ~]# /etc/init.d/nfs reload

[[email protected] ~]# exportfs -rv

exporting 10.0.0.*:/nfs_data

[[email protected]~]# grep -A 1 "reload" /etc/init.d/nfs          exports –r 为什么等于reload

reload | force-reload)

/usr/sbin/exportfs -r

--

echo $"reload"; exit 0

fi

--

echo $"Usage: nfs {start|stop|status|restart|reload|force-reload|condrestart|try-restart|condstop}"

RETVAL=2

[[email protected] ~]#

5.3 NFS测试

[[email protected] ~]# showmount -e 127.0.0.1

Export list for 127.0.0.1:

/nfs_data 10.0.0.*

[[email protected] ~]#

[[email protected] ~]# mount -t nfs 10.0.0.100:/nfs_data/mnt

[[email protected] ~]# mount

/dev/sda3 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,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

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

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

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

10.0.0.100:/nfs_data on /mnt type nfs(rw,vers=4,addr=10.0.0.100,clientaddr=10.0.0.100)

[[email protected] ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             7.1G  1.5G 5.3G  21% /

tmpfs                 491M     0 491M   0% /dev/shm

/dev/sda1             190M   36M 145M  20% /boot

10.0.0.100:/nfs_data  7.1G 1.5G  5.3G  21% /mnt

六 客户端配置

#/etc/init.d/rpcbind start

#chkconfig rpcbind on

#vim /etc/rc.local

#setenforce 0

#getenforce

#etc/init.d/iptables status

#chkconfig --list|grep iptables

#etc/init.d/iptables stop

#chkconfig iptables off

[[email protected]~]# showmount -e 10.0.0.100                   这里可以看到NFS-SER端共享的目录

Export list for 10.0.0.100:

/nfs_data 10.0.0.*

[[email protected]~]# mount -t nfs 10.0.0.100:/nfs_data /mnt                       挂载到本地/mnt下

[[email protected] ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3             7.1G  1.5G 5.3G  21% /

tmpfs                 491M     0 491M   0% /dev/shm

/dev/sda1             190M   36M 145M  20% /boot

10.0.0.100:/nfs_data  7.1G 1.5G  5.3G  21% /mnt

[[email protected]]# ls                 这里可以看到服务端创建的文件

t1.txt

这个时候在客户端是不能给这个共享目录创建文件,没有写到权限,这个是nfs默认配置的:

[[email protected] ~]# cat /var/lib/nfs/etab

/nfs_data      10.0.0.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

这里我们看到,默认是65534这个uid和gid用户和组,所有我们要给nfs共享的这个目录修改权限:

[[email protected]~]# ll /nfs_data/    查看nfs_data目录权限

total 0

-rw-r--r--. 1 root root 0 Mar  1 04:22 t1.txt

[[email protected]~]# cat /var/lib/nfs/etab         nfs默认参数配置信息

/nfs_data      10.0.0.*(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

[[email protected]~]# grep 65534 /etc/passwd            查看65534属于哪个用户

nfsnobody:x:65534:65534:Anonymous NFSUser:/var/lib/nfs:/sbin/nologin

[[email protected]~]# chown -R 65534 /nfs_data                修改nfs_data共享目录的权限

[[email protected] ~]# ll /nfs_data/

total 0

-rw-r--r--. 1 nfsnobody root 0 Mar  1 04:22 t1.txt

[[email protected] ~]#

[[email protected]]# touch Lamp.txt       测试客户端是可以写了

[[email protected] mnt]# ls

Lamp.txt t1.txt

[[email protected] mnt]#

最后,在客户端我们要把挂载命令写入到rc.loal配置文件里面。

七 NFS常见故障排查及解决方案

附加:★NFS常见故障排除 
-------------------
1、Therpcbind failure error 
故障现象: 
nfs mount: server1:: RPC: Rpcbind failure 
RPC: Timed Out 
nfs mount: retrying: /mntpoint 
原因: 
第一,可能因为客户机的hosts文件中存在错误的ip地址、主机名或节点名组合; 
第二,服务器因为过载而暂时停止服务。

2、Theserver not responding error 
现象: 
NFS server server2 not responding, still trying 
原因: 
第一,网络不通,用ping命令检测一下。 
第二,服务器关机。

3、The NFSclient fails a reboot error 
现象: 
启动客户机后停住了,不断显示如下提示信息: 
Setting default interface for multicast: add net 224.0.0.0: gateway: 
client_node_name. 
原因: 
在etc/vfstab的mount选项中使用了fg而又无法成功mount服务器上的资源,改成bg或将该行注释掉,直到服务器可用为止。

4、Theservice not responding error 
现象: 
nfs mount: dbserver: NFS: Service not responding 
nfs mount: retrying: /mntpoint 
原因: 
第一,当前级别不是级别3,用who –r查看,用init切换。 
第二,NFSServer守护进程不存在,用ps–ef | grep nfs检查,用/etc/init.d/nfs.serverstart启动。

5、Theprogram not registered error 
现象: 
nfs mount: dbserver: RPC: Program not registered 
nfs mount: retrying: /mntpoint 
原因: 
第一,当前级别不是级别3。 
第二,mountd守护进程没有启动,用/etc/init.d/nfs.server脚本启动NFS守护进程。 
第三,看/etc/dfs/dfstab中的条目是否正常。

6、Thestale file handle error 
现象: 
stale NFS file handle 
原因: 
服务器上的共享资源移动位置了,在客户端使用umount和mount重新挂接就可以了。

7、The unknownhost error 
现象: 
nfs mount: sserver1:: RPC: Unknown host 
原因: 
hosts文件中的内容不正确。

8、Themount point error 
现象: 
mount: mount-point /DS9 does not exist. 
原因: 
该挂接点在客户机上不存在,注意检查命令行或/etc/vfstab文件中相关条目的拼写。

9、The nosuch file error 
现象: 
No such file or directory. 
原因: 
该挂接点在服务器上不存在,注意检查命令行或/etc/vfstab文件中相关条目的拼写。

10、Noroute to host 
错误现象:
[[email protected] sysconfig]# mount 10.10.11.211:/opt/b2b-data/xmldb /b2b-web1/b2b-data/xmldb  -t nfs  -o rw
mount: mount to NFS server ‘10.10.11.211‘ failed: System Error: No route tohost.

原因:
防火墙被打开,关闭防火墙。

11、Notowner
现象:
[[email protected]:/founder/shell]# mount -F nfs -o rw10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo2
nfs mount: mount: /data/b2b-data/resinfo2: Not owner

原因:
这是Solaris10版本挂载较低版本nfs时报的错误。

解决:
需要用-overs=3参数

示例:
[[email protected]:/founder/shell]# mount -F nfs -o vers=3 10.10.2.3:/mnt/b2b/b2b-data/resinfo2 /data/b2b-data/resinfo2

12、RPC:Program not registered & retrying
现象:
nfs mount: 10.10.2.3: : RPC: Program not registered
nfs mount: retrying: /data/b2b-data/resinfo2

原因:
没有启动NFS共享端服务。

解决:需要重新启动share端的NFS服务,
Linux:
mount: RPC: Program not registered
#service nfs restart

Solaris:
mount: RPC: Program not registered
#/etc/rc.d/init.d/nfs restart

13、can‘tcontact portmapper: RPC: Remote system error - Connection refused
现象:
#exportfs -a
can‘t contact portmapper: RPC: Remote system error - Connection refused

原因:
出现这个错误信息是由于SEVER端的PORTMAP没有启动。

解决:
#service portmap start
#service pcmcia start

八 NFS服务端的权限参数详解

Async 异步写入数据,先写入内存当中,缺点是延迟,丢数据

Sync  同步数据写入到硬盘中,数据安全,但是性能比不加这个参数差

no_root_squash,如果客户端是root权限,那么访问这个目录后也有root权限,用于无盘工作站

root_squash 把普通用户映射成root用户

all_squash 把所有客户端都压缩成指定的匿名用户。这个匿名用户就是/var/lib/nfs/etab 下默认的用户。工作中默认最好是加上。

九 NFS重点知识梳理

十      NFS 客户端mount 挂载深入

十一 客户端优化

11.1 安全的挂载

11.2 挂载性能优化

11.3 挂载内核优化

11.4 生产场景NFS共享优化[K1]

12 NFS效率不高如何解决:

优点:

简单:容易上手,容易掌握

NFS 文件系统内数据是在文件系统之上,是可以看见的

方便:部署快速,维护简单,可控且满足需求是最好的

稳定:  非常稳定

可靠:从软件层面上看,数据可靠性高经久耐用。

局限:

1.     存在单点故障,如果NFS-SERVER宕机,所有客户端都无法访问。

2.     大数据高并发的场合NFS 几千万的pv

3.     客户端认识时候基于IP和主机名,安全性一般。没有密码

4.     多台客户端挂一个服务端,维护麻烦。

Autofs 介绍

作用就是:客户端需要时候,我给你挂载。没有请求时候我就卸载掉。



[K1]多块网卡BOND 如何操作??

时间: 2024-10-09 06:48:43

Centos6.7下NFS的配置安装的相关文章

CentOS6.4下Mysql数据库的安装与配置,导入数据库,授权远程ip

卸载掉原有mysql 因为mysql数据库在Linux上实在是太流行了,所以目前下载的主流Linux系统版本基本上都集成了mysql数据库在里面,我们可以通过如下命令来查看我们的操作系统上是否已经安装了mysql数据库 [[email protected] ~]# rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 有的话,我们就通过 rpm -e 命令 或者 rpm -e --nodeps 命令来卸载掉 [[email protected

Centos6.3下Ganglia3.6.0安装配置

最近安装Ganglia,由于之前Linux基础基本为0,因此费了很大的周折.最后在失败了好多次之后终于看到了梦寐以求的web界面.下面总结下这几天来的工作. ganglia是一个监控软件,他包含三部分:Gmond,Gmetad和Gweb.在需要监控的主机上安装Gmond,他会采集当前主机上的一些信息:Gmetad部署在服务器端,它轮训主机,收集Gmond采集的主机信息,然后存在在rrdtool数据库中:Gweb是一个前台显示的界面,他读取Gmetad保存的rrd文件,显示在web界面上. 部署规

【原】centos6.5下hadoop cdh4.6 安装

1.架构准备: namenode 10.0.0.2 secondnamenode 10.0.0.3 datanode1 10.0.0.4 datanode2 10.0.0.6 datanode3 10.0.0.11 2.安装用户:cloud-user 3.[namenode]namenode到其他节点ssh无密码登录: ssh-keygen     (一路回车) ssh-copy-id [email protected]3 ssh-copy-id [email protected]4 ssh-c

CentOS6.2下搭建LNMP、安装wordpress(大神请远离)

CentOS6.2下搭建LNMP.安装wordpress参考文章:http://www.linuxidc.com/Linux/2014-08/105128.htm 早就给自己安排好了要做的事情,但是每天被繁琐的事情所忙,把去年该做的事情一直拖到了现在.终于在今天,小心脏多跳了几下,手一抖,开始下手去做了,结果半天就这样过去了.时间过得真快啊,尤其是在自己有事情做地时候.        好了,开始记录了,权做写的日记了       先上图,看下成果:(后台管理部分) (貌似很卡顿的样子,是不是该优

RHEL6下NFS的配置

首先检查一下NFS包是否已经安装. [[email protected] Desktop]# rpm -qa|grep nfs-utilsnfs-utils-lib-1.1.5-4.el6.x86_64nfs-utils-1.2.3-26.el6.x86_64如果没有安装则使用yum进行安装 [[email protected] Desktop]# yum install nfs-utils NFS服务依赖于rpcbind服务,因为在启动nfs服务之前先启动rpcbind [[email pro

Centos6.5下对nat123的安装以及使用

前面我有篇文章有说道在我们本地做开发调试的过程中常用到的一个映射工具nat123,简单的文章介绍可以参见[nat123内网地址公网映射实现] ,这里我来说说如何在Centos6.5下对nat123的安装使用! (一)安转环境准备工作 ①环境部署之安装bison环境:如提示已存在时,忽略:如提示是否继续时输入y回车继续! #yum  install bison ②环境部署之安装gettext环境:如提示已存在时,忽略:如提示是否继续时输入y回车继续! #yum  install  gettext

【原】Centos6.5下cdh4.6 hive安装部署

1.前提条件: 只需要选择一台服务器即可,这里选择安装在namenode上:安装用户为cloud-user 2.安装包: sudo yum install -y hive hive-metastore hive-server2 3.安装mysql: sudo yum install -y mysql-server sudo service mysqld start sudo yum install -y mysql-connector-java sudo ln -s /usr/share/jav

nginx+php 在windows下的简单配置安装

开始前的准备 PHP安装包下载:http://windows.php.net/downloads/releases/php-5.5.14-Win32-VC11-x86.zip Nginx 下载地址:http://nginx.org/download/nginx-1.6.0.zip RunHiddenConsole 下载:http://www.yx.lvruan.com:8080/uploadFile/2012/RunHiddenConsole.zip 注:下载时一定选择windows版本 文章案

Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置

原文:http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同