Linux下搭建 NFS

本文涉及的产品
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

一、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

文章可以转载,必须以链接形式标明出处。

本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/7351457.html    ,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Linux
Linux安装NFS挂载NFS卸载客户端服务端都有
Linux安装NFS挂载NFS卸载客户端服务端都有
83 0
|
2月前
|
Ubuntu 网络协议 Unix
【Linux】新唐NUC977挂载NFS实现网络文件传输
【Linux】新唐NUC977挂载NFS实现网络文件传输
|
2月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
226 0
|
2月前
|
存储 监控 网络协议
【Linux】文件服务NFS(Network File System)
【Linux】文件服务NFS(Network File System)
140 0
|
2月前
|
存储 Linux 网络安全
Linux系统安装NFS服务器
NFS是一种网络文件系统,英文全称Network File System,通过NFS可以让不同的主机系统之间共享文件或目录。通过NFS,用户可以直接在本地NFS客户端读写NFS服务端上的文件,是非常好的共享存储工具。本篇文章将介绍如何在CentOS7上安装NFS服务器,包括服务端和客户端安装两部分。
95 0
|
2月前
|
域名解析 Unix Linux
AIX上如何正确挂载Linux 的nfs共享目录分享篇
AIX上如何正确挂载Linux 的nfs共享目录分享篇
53 1
|
2月前
|
Unix Linux Shell
linux 配置NFS
NFS(Network File System)是跨平台的网络文件系统,允许不同操作系统和硬件通过RPC协议共享文件系统。服务端启动RPC服务和NFS,注册端口信息。客户端请求服务器的NFS端口,建立连接进行数据传输。优点包括配置简单、数据可靠、支持多系统间文件共享。缺点包括端口不固定、数据明文传输、安全性较低(基于IP认证)。在Redhat 9环境下,通过安装nfs-utils和rpcbind,配置共享目录和exports文件,设置权限,客户端安装相同软件包,使用showmount命令查看共享,挂载NFS目录,实现透明访问。
72 1
|
2月前
|
Linux 网络安全
Linux NFS协议详解
Linux NFS协议详解
156 5
|
2月前
|
存储 网络协议 Linux
哇~真的是你呀!哎呀!今天是LINUX中的NFS存储服务
NFS(Network File System)是一种用于共享文件系统的协议,常用于Linux系统中。它允许在网络上共享文件和目录,使得多台计算机可以共享和访问相同的文件资源。以下是关于Linux中的NFS服务的简要介绍。
85 0
|
7月前
|
存储 网络协议 Unix
小白带你学习Linux的NFS存储(二十五)
小白带你学习Linux的NFS存储(二十五)
77 0