我是靠谱客的博主 神勇银耳汤,最近开发中收集的这篇文章主要介绍Linux 挂载(nfs),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、配置nfs服务端和nfs客户端

NFS服务简介

        NFS是Network  File System(网络文件系统)。主要功能是通过网络让不同的服务器之间可以共享文件或者目录。NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下。

        NFS在文件传送过程中依赖与RPC(远程过程调用)协议。NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端。

      NFS和RPC的关系:可以理解为NFS是一个网络文件系统(比喻为租房的房主),而RPC是负责信息的传输(中介),客户端(相当于租房的租客)


系统环境

需要用到的命令: 

cat /etc/RedHat-release   ##查看系统版本信息 

 uname -r                  ##查看内核信息

uname -m                  ##查看系统是32位还是64位的 

服务端配置

        在启动NFS服务之前,首先要启动RPC服务(CentOS5是portmap服务,CentOS6.6以后的版本是rpcbind服务),否则NFS服务器无法向RPC服务注册。另外,RPC服务如果重启,原来以及有的NFS端口就会丢失,因此,只要RPC服务重启,NFS服务就要重启向RPC重新注册新的随机端口号。一般修改NFS配置文件后,不需要重启服务,直接平滑重启即可,命令:/etc/init.d/nfs reload或者exportfs -rv就可以修改/etc/exports生效。

要部署NFS服务,需要安装下面的软件包:
1)nfs-utils:NFS服务的主程序 

2)rpcbing:NFS可以视为一个RPC的主程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作

1)查看NFS的软件包
 [root@linuxidc ~]# rpm -qa nfs-utils rpcbind

nfs和rpc默认是没有安装的,需要yum安装

2)安装nfs

Centos 5:

yum -y install nfs-utils portmap
Cenos 6:
yum -y install nfs-utils rpcbind

3)范例

192.168.0.103     nfs服务端
192.168.0.107     nfs客户端

4) 启动nfs服务

第一步:先启动rpc服务
[root@linuxidc ~]# /etc/init.d/rpcbind start  #启动rpc服务 
[root@linuxidc ~]# /etc/init.d/rpcbind status  #查看rpc服务状态 
rpcbind (pid  4269) 正在运行...

第二步:启动NFS服务
[root@linuxidc ~]# /etc/init.d/nfs start    #启动nfs服务 
[root@linuxidc ~]# /etc/init.d/nfs status    #查看nfs服务状态 
rpc.svcgssd 已停 
rpc.mountd (pid 3282) 正在运行... 
nfsd (pid 3298 3297 3296 3295 3294 3293 3292 3291) 正在运行... 
rpc.rquotad (pid 3277) 正在运行...

  必须要先启动rpc服务,然后再启动NFS服务,如果先启动NFS服务,启动服务时会失败,提示如下
[root@linuxidc ~]# /etc/init.d/nfs start 
启动 NFS 服务:                                            [确定] 
关掉 NFS 配额:无法注册服务: RPC:无法接收; errno = 拒绝连接 
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp). 
                                                          [失败] 
启动 NFS mountd:                                          [失败] 
启动 NFS 守护进程:

picinfo  #查看NFS服务向rpc注册的端口信息

第三步:检查开机是否自启动

[root@linuxidc ~]# chkconfig nfs on 
[root@linuxidc ~]# chkconfig rpcbind on 
[root@linuxidc ~]# chkconfig --list nfs 
nfs            0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭 
[root@linuxidc ~]# chkconfig --list rpcbind 
rpcbind        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭 
[root@linuxidc ~]# tail -2 /etc/rc.local  
/etc/init.d/rpcbind start 
/etc/init.d/nfs  start

在工作中,大都是统一按照运维规范将服务的启动命令放到/etc/rc.local里面,而不是用chkconfig来管理的,所有的服务一旦开机自启动就必须放到/etc/rc.local中。这样的好处是,一旦管理此服务器的人员离职忙活着业务迁移都可以通过/etc/rc.local很容易的查看到服务器对应的相关服务,可以方便的运维管理。


5) nfs服务端配置文件位置:/etc/exports , 默认文件是空的。

/etc/exports配置文件的格式是:
NFS共享的目录    NFS客户端地址(参数1,参数2)

/root/nfs 192.168.0.107(rw,sync,no_root_squash)
nfs客户端地址可以是一个IP,一个网段,一个域名,域名通配符:*.youxia.com,客户端地址和权限之间没有空格
以后主要讲解参数含义:
rw : read-write  读写权限
ro :  read-only  只读权限
(rw,sync) ,其中rw代表拥有读写的权限,sync代表数据同步写入NFS服务器端的硬盘中。也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。
no_root_squash: 如果客户端以root身份登录,则对共享的服务器目录页有root的使用权限(不安全)。
root_squash:如果客户端以root身份登录,则对共享的服务器目录以匿名用户的权限操作,一般为nobody或者nfsnobody.

6)nfs服务端和nfs客户端使用命令

nfs服务端:

showmount   ### 查看挂载状态

nfs客户端

mount       ###查看挂载点状态

df -h          ###查看系统状态 


最后

以上就是神勇银耳汤为你收集整理的Linux 挂载(nfs)的全部内容,希望文章能够帮你解决Linux 挂载(nfs)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部