共享文件系统以及NFS介绍和使用

1、故事的起源

很多很多年前,做过一个小系统,是一个和支付相关的小系统。因为是一个小系统,所以一切都那么简单。一台应用服务器,一台数据库服务器;文件、图片都放在应用服务器上,一切都是那么的平淡,一切都是那么的理所当然。

突然有一天,支付成为一个时髦的话题;突然有一天,这个平台居然要孕育成为一个新的支付公司的核心系统;于是,系统的访问就要暴涨了。这一切都很突然……

2、调整后的系统简易架构

一步一步来吧,前端使用负载均衡设备统一进行调度,中端对应于服务器进行横向扩展,后端把数据库升级。剩下的就是文件、图片要怎么放,最终我们的文件系统使用的是共享存储服务器NFS。我们的多个应用服务器通过nfs方式共享一个服务器的存储空间。

3、NFS简介

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

假如有三台机器A、B、C,它们的应用都需要目录IMG中的图片,传统的做法是把这些图片分别放到A、B、C三台服务器中的IMG目录中。但是使用NFS只需要放到A上的IMG目录,然后A把图片目录共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的IMG目录。

4、配置NFS

NFS配置只需要编辑配置文件/etc/exports即可。

[[email protected] ~]# cat /etc/exports

/home/10.0.2.0/114(rw,sync,all_squash,anonuid=118114,anongid=118114)

这个命令的简单的意思:

其中要共享的目录为/home,信任的主机为10.0.2.0/114这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为118114。

这个配置文件就这样简单一行。共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。

rw :读写;

ro :只读;

sync :同步模式,内存中数据时时写入磁盘;

async :不同步,把内存中数据定期写入磁盘中;

no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;

root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;

all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;

anonuid/anongid :要和root_squash
以及 all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

5、使用NFS

当编辑完配置文件/etc/exports后,就该启动NFS服务了。启动方法为:

[[email protected] ~]# service portmap start; servicenfs start

NFS是依托portmap的,所以首先要启动portmap,然后启动NFS才能是刚才的配置生效。启动完NFS后,就该使用NFS服务了。

[[email protected] ~]# showmount -e 127.0.0.1
(用在client上)

Export list for 127.0.0.1:

/home 10.0.2.0/114

用shoumount -e
加IP就可以查看NFS的共享情况,上例中,就可以看到127.0.0.1的共享目录为/home,信任主机为10.0.2.0/114这个网段。另外这个showmount
命令还有一个常用的选项就是-a了,它的意思是,把连接本机的NFS的client全部列出。

NFS服务中还有一个常用的命令那就是exportfs,它的常用选项为[-aruv]。

-a :全部挂载或者卸载;

-r :重新挂载;

-u :卸载某一个目录;

-v :显示共享的目录;

使用exportfs命令,当改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可。

服务器如果要使用nfs,需要通过mount命令来挂载nfs。首先是用-t
nfs 来指定挂载的类型为nfs。另外在使用nfs时,常用一个选项就是nolock了,即在挂载nfs服务时,不加锁。

我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中,挂载时只需要mount
-a即可。

写完/etc/fstab文件后,只需要mount -a即可挂载nfs服务的共享目录。

6、性能

一般情况下,当nfs客户端数目较小的时候,NFS性能不会出现问题;一旦NFS服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的。

时间: 2024-12-21 13:30:33

共享文件系统以及NFS介绍和使用的相关文章

共享文件系统以及NFS数据同步

1.单个NFS的缺点 一般情况下,当nfs客户端数目较小的时候,NFS性能不会出现问题:一旦NFS服务器数目过多,并且是那种读写都比较频繁的操作,所得到的结果就不是我们所期待的. 单个NFS这种架构除了性能问题而外,还存在单点故障,一旦这个NFS服务器发生故障,所有靠共享提供数据的应用就不再可用,可以考虑用rsync方式同步数据到另外一个服务器上做nfs服务的备份,但这对提高整个系统的性能毫无帮助.基于这样一种需求,我们需要对nfs服务器进行优化,将单个NFS进行调整为多台NFS,通过多层NFS

14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 例如: 一个站点,上面传输了很多图片,用户访

NFS介绍,NFS服务端安装配置,NFS配置选项

笔记内容: 14.1 NFS介绍 14.2 NFS服务端安装配置 14.3 NFS配置选项 笔记日期:2017-11-01 14.1 NFS介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样. NFS可以把A.B.C机器之间的文件数据进行共享,例如用户上传了一个文件到A机器上,用户

NFS介绍、NFS服务端安装配置、NFS配置选项

NFS介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样.NFS的数据传输基于RPC(remote procedure call)协议. 应用场景 A,B,C三台机器上需要被访问到的文件是一样的,A共享数据出来,B和C分别取挂载A共享的数据目录,从而B和C访问到的数据和A上的一致.

NFS介绍

NFS介绍 什么是NFS? NFS是Network File System的缩写,即网络文件系统.它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务端共享的数据目录挂载到NFS客户端本地系统中(就是某一个挂载点下).从NFS客户端的机器本地看,NFS服务端共享的目录就好像是客户自己的磁盘分区或者目录一样,而实际上确是远端的NFS服务端的目录. NFS网络文件系统类似windows系

NFS介绍、NFS服务端安装配置、NFS配置选项介绍

NFS介绍 NFS是Network File System的缩写,NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本.NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写.NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致,NFS服务需要借助RPC服务去通信. NFS服务端安装配

NFS介绍,配置(上)

NFS介绍 1.NFS不监听任何端口,rpcbind监听111端口2.NFS服务需要借助于rpc协议 NFS服务端安装配置 1.服务端安装两个服务: [[email protected] ~]# yum install -y nfs-utils rpcbind 2.客户端安装一个服务: [[email protected] ~]# yum install -y nfs-utils 3.服务端编辑配置文件: [[email protected] ~]# vi /etc/exports /home/

14.1-14.3 NFS介绍,服务端安装,客户端挂载NFS

14.1 NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本 NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致 NFS架构 应用场景: A B C为别是三台

NFS介绍,服务端安装配置及配置选项

NFS介绍 NFS是Network File System的缩写 NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本(2010年) NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写,(远程过程调用)为NFS服务提供支持. NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致.用