一、NFS简介

NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件协定,有SUN公司开发。功能是通过网络让不同的机器、不同的操作系统能够分享个人数据,让应用程序通过网络可以访问位于服务器磁盘中的数据。

NFS在文件传送或信息传送的过过程中,依赖于RPC协议。RPC,远程过程调用(Remote Procedure Call),是使客户端能够执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,就是因为NFS使用了RPC提供的传输协议,可以说NFS就是使用PRC的一个程序。

环境说明:
系统 :CentOS release 6.7 (Final)
NFS IP :10.219.24.22
web IP :10.219.24.25
iptables:未运行防火墙

操作流程:
1、软件安装,NFS只需要安装两个软件,在通常情况下是作为系统默认软件安装的
[root@mysql01 ~]# rpm -qa|grep rpcbind*
rpcbind-0.2.0-11.el6.x86_64
[root@mysql01 ~]# rpm -qa|grep nfs-utils
nfs-utils-1.2.3-64.el6.x86_64
nfs-utils-lib-1.1.5-11.el6.x86_64

说明:
[root@mysql01 ~]# yum install rpcbind nfs-utils (如果没有安装就yum安装)
rpcbind包 :centos 下面RPC主程序
nfs-utils包 :NFS服务主程序,包括NFS的基本命令和监控程序

2、开启RCP服务
[root@mysql01 ~]# /etc/init.d/rpcbind start
查看rpcbind服务端口
[root@mysql01 ~]# netstat -antlp|grep rpcbind
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1462/rpcbind
tcp 0 0 :::111 :::* LISTEN 1462/rpcbind
[root@mysql01 ~]# 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
100024 1 udp 41757 status
100024 1 tcp 42661 status

3、开启NFS服务
[root@mysql01 ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@mysql01 ~]# rpcinfo -p localhost
program vers proto port service
......
100005 3 tcp 59454 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 4 tcp 42905 nlockmgr

说明: rpc上应该能看到好多新被注册的nfs端口

两个服务开机自启动
[root@mysql01 ~]# chkconfig rpcbind on
[root@mysql01 ~]# chkconfig nfs on

4、服务端配置共享目录(/oradata)

4.1 配置前确认rpcbind、nfs服务进程正常

[root@nfs01 ~]# /etc/init.d/nfs status
[root@nfs01 ~]# /etc/init.d/rpcbind status
[root@nfs01 ~]# ps -ef|egrep "rpc|nfs"

4.2 创建共享目录并授权("nfsnobody")
#nfsnobody 用户是开启rpc、nfs进程后系统自动创建的
[root@mysql01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 35G 8.9G 25G 27% /
tmpfs 491M 76K 491M 1% /dev/shm
/dev/sda1 2.9G 4.5M 2.7G 1% /tmp
/dev/sr0 3.7G 3.7G 0 100% /media/CentOS_6.7_Final
[root@mysql01 ~]# mkdir /oradata
[root@mysql01 ~]# chown -R nfsnobody.nfsnobody /oradata
[root@mysql01 ~]# chmod 777 /oradata
4.3 修改服务端配置文件(/etc/exports)
[root@mysql01 ~]# cat /etc/exports
#share /data by andy for XXXX at 20170812
/oradata 10.219.24.0/8(rw,sync)
[root@mysql01 ~]#
4.3 查看系统加载的配置
[root@mysql01 ~]# cat /var/lib/nfs/etab
/oradata 10.219.24.0/8(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)
4.4 重新平滑加载服务
[root@mysql01 ~]# showmount -e localhost

5、客户端配置
[root@mysql02 ~]# /etc/init.d/rpcbind status
rpcbind (pid 1469) is running...
[root@mysql02 ~]# /etc/init.d/rpcbind start

挂载nfs共享目录
[root@mysql02 ~]# mount -t nfs 10.219.24.22:/oradata /mnt
[root@mysql02 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 35G 8.7G 25G 26% /
tmpfs 491M 76K 491M 1% /dev/shm
/dev/sda1 2.9G 4.5M 2.7G 1% /tmp
/dev/sr0 3.7G 3.7G 0 100% /media/CentOS_6.7_Final
10.219.24.22:/oradata
35G 8.9G 25G 27% /mnt
6、开机自动挂载
方法一:
[root@mysql02 ~]# echo "mount -t nfs 10.219.24.22:/oradata /mnt">>/etc/rc.local

方法二:
开启netfs服务
[root@mysql02 ~]# chkconfig netfs on
[root@mysql02 ~]# vi /etc/fstab
[root@mysql02 ~]# cat /etc/fstab
10.219.24.22:/oradata /mnt nfs defaults 0 0

7、检验
-- nfs server
[root@mysql01 ~]# touch /oradata/aa
-- client
[root@mysql02 ~]# cd /mnt
[root@mysql02 mnt]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 13 04:31 aa

Linux下搭建 NFS的更多相关文章

  1. 在linux下搭建NFS服务器实现文件共享

    目录 一.关于NFS 二.搭建一台NFS服务器共享特定资源 三.调优 一.关于NFS 1.NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系 ...

  2. linux下搭建NFS服务器

    服务端:10.6.191.183 客户端:10.6.191.182 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984 ...

  3. MongoDB学习笔记—Linux下搭建MongoDB环境

    1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...

  4. Linux下搭建个人网站

    前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...

  5. Linux下搭建PHP环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

  6. Java学习心得之 Linux下搭建Java环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...

  7. Java学习心得之 Linux下搭建JavaWeb环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...

  8. Ruby学习心得之 Linux下搭建Ruby环境

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...

  9. CentOS6.5下搭建NFS文件服务器

    本文参考这里 CentOS下搭建NFS服务器总结 环境介绍: 1. 服务器: 192.168.0.100 2. 客户机: 192.168.0.101 安装软件包: 服务器和客户机都要安装nfs 和 r ...

随机推荐

  1. [算法] 将单链表的每K个节点之间逆序

    题目 给定一个单链表的头结点,实现一个调整单链表的函数,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点. 解答 使用栈结构 import java.util.Stack; pu ...

  2. MySQL主备复制原理、实现及异常处理

    复制概述 MySQL支持三种复制方式:基于行(Row)的复制.基于语句(Statement)的复制和混合类型(Mixed)的复制. 基于语句的复制早在3.23版本中就存在,而基于行的复制方式在5.1版 ...

  3. 调用webservices中 枚举类型没有被序列化问题

    引用服务后,代理类为自动为所有枚举类型生成了一个Bool类型相关字段,命名方式:比如枚举类名为“PayType”,生成的相关字段为“PayTypeSpecified”,此字段有何作用? PayType ...

  4. MapReduce job在JobTracker初始化源码级分析

    mapreduce job提交流程源码级分析(三)中已经说明用户最终调用JobTracker.submitJob方法来向JobTracker提交作业.而这个方法的核心提交方法是JobTracker.a ...

  5. python学习笔记(excel+unittest)

    准备先利用之前整理的python自带的unittest框架 整合excel 实现接口自动化测试功能 先看看excel表格设置: 下来是对excel获取的代码: #!/usr/bin/env pytho ...

  6. Go语言 channel 管道 阻塞 死锁 经典问题

    建议阅读:14.2协程间的信道 问题:为什么代码1会报死锁的错误,而代码2不会报错? 代码1: package main import ( "fmt" ) func main() ...

  7. C# 运行时替换方法(需要unsafe编译)

    /* https://stackoverflow.com/questions/7299097/dynamically-replace-the-contents-of-a-c-sharp-method ...

  8. 列出远程git的全部分支

    列出全部分支 git ls-remote --heads your.git | awk 'sub(/refs\/heads\//,""){print $2}' 其中awk中sub替 ...

  9. @ResponseBody与@RestController的作用与区别

    在使用springmvc框架的时候,在处理json的时候需要用到spring框架特有的注解@ResponseBody或者@RestController注解,这两个注解都会处理返回的数据格式,使用了该类 ...

  10. hibernate12--注解

    在之前的基础上删除hbm.xml映射文件 之后修改实体类内容 /** * 部门的实体类 * strategy对应的就是主键生成策略 * GenerationType: * 01.auto:自动选择合适 ...