开发者社区> 技术小牛人> 正文

搭建NFS环境

简介:
+关注继续查看

一.简介

什么是NFS?    NFS是网络文件系统network file system的缩写,他的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。

比较适用于IDC机房,集群。工作中NFS一般被用来存储视频,图片,附件等静态文件,或者理解为用户上传的文件都适合放到NFS共享里。

还有一个类似的服务叫samba,它更像是windows的文件共享,多用于办公场景。


二.不得不说

要成功运行nfs服务,还需要rpcbind的支持(在Centos6之前叫portmap)。本人比较俗,所以俗语解释就是rpcbind就是个租房的中介,要想挂载共享目录(好比租到房子)没它不行。

下面有盗图一张,清楚的说明了rpcbind的作用。


三.实验环境准备

首先准备两台虚拟机,系统为CentOS6.3 x64,一台服务器,一台客户端。都需要安装 nfs-utils 和rpcbind ,关闭selinux和防火墙。


四.开始搭建nfs-server 服务器

安装 nfs-utils和rpcbind服务,安装完后检查一下

启动rpcbind服务,并检查

rpcbind服务运行在tcp/udp的111端口

# rpcinfo p localhost   查看当前的资源池

启动nfs服务,并检查

查看nfs的主端口号2049

# vim /etc/rc.local  编辑/etc/rc.local文件,将rpcbind,nfs-utils加入开机自启动

注意顺序:rpcbind在前,nfs-utils在后

接下来就该编辑nfs的配置文件。路径为 /etc/exports,默认该文件为空

将/data目录做为将要共享的目录,* 表示任意主机都可以访问,并且有读写权限,sync为客户端可以同步写入服务器磁盘,保证文件不会丢失

创建 /data目录,并在创建几个子目录,方便后面实验

reload可以实现平滑加载服务,不影响在线客户

查看本机有哪些共享目录(showmount e 127.0.0.1  也可)

本机挂载本机的共享目录测试,挂载点为 /mnt


五.客户端配置

同样需要安装 nfs-utils 和 rpcbind

确定rpcbind服务正常运行

# vim /etc/rc.local    将rpcbind服务加入开机启动

测试能否与nfs-server通信,并查看有哪些共享目录

将 /data 目录挂载到nfs-test1的本地 /mnt目录下

访问成功

但是通过nfs-test1无法在共享目录的 /mnt 目录中创建任何文件,是因为在nfs-server服务器端的配置权限中,默认都是以65534用户登录的,该文件的路径为 /var/lib/nfs/etab

介个65534就是nfs服务的伪用户了,可以在 /etc/passwd 中查看他叫啥。如下图:为用户名称为 nfsnobody

更改共享目录的属主,将其该为nfsnobody

做了改变,来个平滑加载吧

在回到nfs-test1中测试一下,可以实现之前给/data目录设置的rw权限了,但是创建的目录文件用户的属主属组都为nfsnobody

最后将挂载目录加到开机启动中就好了 /etc/rc.local

ok。测试成功。


六.nfs服务重点总结

/etc/exports       服务主配置文件,nfs具体共享服务的地点,默认为空。

showmount e 192.168.87.135      挂载前检查有权限需要挂载的信息,是否能够挂载

关于开机自启动:

1)/etc/rc.local    缺点:偶尔开机挂不上,工作中除了开机自启动配置,还要对是否挂载上进行监控

2)/etc/fstab    fstab优先于网络被linux系统加载。网络没启动,fstab肯定会导致nfs服务器端无法实现开机挂载

本文转自   mlwzby   51CTO博客,原文链接:http://blog.51cto.com/aby028/1871156

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2Ubuntu/RedHat下nfs服务器搭建,Linux多台电脑共享目录
 1安装nfs(网络文件系统)服务器 共享的原理: 安装命令: sudo apt-get install nfs-kernel-server 2设置/etc/exports配置文件 添加以下这行配置 其中: *表示所有ip,如果想指定ip,可以把*换成你自己的ip地址。 rw:表示只读权限,如果想变成只读的,修改配置为ro sync:表示同步的方式。任何人对这个目录的修改,其它人都可以
1790 0
轻松搭建一个Windows SVN服务器
前文所述SVN客户端使用的时候,用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行有效的管理。
1383 0
阿里云服务器Linux主机如何搭建网站环境
网站环境是网站运行的必备条件,因为是运行PHP,所以搭建的环境包括APACHE和MYSQL数据库。   1、使用上一节说明搭建好的FTP上传一键安装包;   2、使用putty远程登录服务器。这里不在赘述,如下图。
5379 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
18999 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
25240 0
从零开始学Xamarin.Forms(二) 环境搭建、创建项目
原文: 从零开始学Xamarin.Forms(二) 环境搭建、创建项目 一、环境搭建 Windows下环境搭建:     1.下载并安装jdk 、Android SDK和NDK,当然还需要 VS2013 update 2(VS2010、VS2012均可)以上; a.
1181 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
20698 0
5723
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载