文件共享之nfs

author author     2022-08-28     292

关键词:

在服务器共享中常用的服务有:

ftp服务器端:linux  windows   客户端:linux  windows  范围:内网  外网

nfs服务器端:linux客户端:linux范围:内网  外网

samba服务器端:linux  windows   客户端:linux  windows范围:内网


文件系统:

文件系统是对一个存储设备上的数据和元素进行组织的一种机制

 

nfs作用:共享存储,保证数据一致性

优点:简单,容易上手,数据是在文件系统之上的

2方便,部署快速,维护简单

3可靠,从软件层面上,数据可靠性高,经久耐用

 

局限;

1存在单点故障,要用负载均衡高可用方案弥补

2在高并发的场合,nfs效率性有效,一般几千万pv的网站都不是瓶颈

3客户端认证事基于ip和主机名的,安全性一般

4nfs数据是明文的,对数据完整性不作验证

5多台机器挂载nfs服务器时候,链接管理维护麻烦,尤其nfs服务端出问题后,所有客户端都挂载状态

 

 

 

etc/exports文件配置格式

nfs共享目录  nfs客户端地址1(参数1,参数2....)客户端地址2(参数1..参数2

nfs一定要用绝对路径,注意权限,nfs地址可以是单独ip,网段,域名,也可以用*匹配

同步:发送端等待接收端收到消息后才会锻掉

异步:发送端不会等接收端来接收,生产中必须用到的,门户网站中必须用到

 

dfs生产重要技巧

1确保所有服务器对nfs共享目录具备相同的权限

a all——squash把所有客户端都压缩成匿名用户

b所有的客户端和服务端都需要有一个相同的uidgid ,即nfsnobody

 

实现多台客户端同时候挂一台server端,server用户和组都是同一个名称lushneg,操作步骤

1建立一个nfs共享用户,所有机器都存在并且uid gid相同

2cat >>/etc/exports <<eof

/tmp/data 172.16.10.0/24(rw,sync,all_squash,anonuid=555,anongid=555)

3showmount -e 172.16.10.10

df -h

mount -t nfs 172.16.10.10:/tmp/data /mnt/data

 

挂载开机自启动:

echo "/bin/mount -t nfs 172.16.10.10:/tmp/data mnt/data" >>/etc/rc.local

缺点:偶尔开机挂载不上,工作中除了开机自启动配置,对挂载点监控

 nfs网络文件系统不要放到fstab

1fstab优先于网络启动,此时还连不上nfs服务器

2即使是本地文件系统,也要注意,那么客户端开机后可能会导致无法启动的风险,fstab最后

两列,要设置0 0,否则会有导致无法启动服务器的问题

 

nfs rpc服务的启动命令和挂载命令都放入/etc/rc.local.然后用监控软件监控开机后的状态

经验:为什么要把所有开机当做服务器的档案,所有服务器启动配置都放在档案里,做好注释,

或者写好启动脚本都用chkconfig管理

现实生活中太多这多没交接好,根本就不知道这台电脑是做什么用的,连重启都不敢,更别说更改了

 

fstab修改错误导致系统无法启动故障修复案例

维护模式

mount -o rw,remount

然后修改/etc/fstab

 

实际挂载优化

mount -t nfs -o noatime,nodiratime,nosuid,noexec 172.16.10.10:/tmp/data /mnt/data

非性能参数越多,速度会越慢

 

需要退出挂载目录在进行卸载,或者是nfs server宕机了,需要强制卸载 mount -lf/mnt/dev


故障解决步骤

1)服务端一定要开启两个服务 rpc nfs

2)客户端一定要开启rpc服务

 

 

nfs 至少启动两个进程,一个rpc服务,一个nfs服务

1)先开启rpc服务(中介)

2)再启动nfs服务,启动后会向rpc服务注册启动的端口(房源)

3)客户向rpc请求nfs服务

4rpc返回端口给租客

5)拿着地址端口请求传输数据

 

Nfs实操演示

 

服务端环境准备

nfsserver  172.16.10.10

nfsclient  172.16.10.20

 

服务端和客户端都要安装

nfs服务需要安装下面的软件包

nfs-utils portmap rpcbind

写文档一定要有这几步基本信息

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.5 (Final) 操作系统版本信息

[[email protected] ~]# uname -r

[[email protected] ~]# uname -r  内核版本信息

2.6.32-431.el6.x86_64

[[email protected] ~]# uname -m

x86_64

 

 

[[email protected] ~]# rpm -qa nfs-utils  rpcbind

rpcbind-0.2.0-11.el6.x86_64

nfs-utils-1.2.3-39.el6.x86_64

 

如果没有,yum -y install nfs-utils  rpcbind

 

 

服务端操作:

[[email protected] ~]# /etc/init.d/rpcbind start

[[email protected] ~]# ps -ef |grep rpc

rpc         977      1  0 Mar26 ?        00:00:00 rpcbind

rpcuser     995      1  0 Mar26 ?        00:00:00 rpc.statd

root       2167   2115  0 02:52 pts/0    00:00:00 grep rpc

[[email protected] ~]# rpcinfo -p localhost  //查看rpc有无房源

 

[[email protected] ~]# /etc/init.d/nfs start   //相当于向中介提供房源

启动 NFS 服务:                                            [确定]

关掉 NFS 配额:                                            [确定]

启动 NFS mountd:                                          [确定]

启动 NFS 守护进程:                                        [确定]

正在启动 RPC idmapd:   

 

#nfs  rpc为开机自启动,设置好之后记得检查开机自启动状态

[[email protected] ~]# chkconfig nfs on

[[email protected] ~]# chkconfig rpcbind on

[[email protected] ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[[email protected] ~]# chkconfig --list rpcbind

rpcbind         0:关闭  1:关闭  2:启用  3:启用  4:启用  5

 

 

客户端操作,只需要启动rpc服务即可

[[email protected] ~]# /etc/init.d/rpcbind start

[[email protected] ~]# chkconfig rpcbind on

[[email protected] ~]# chkconfig --list nfs

nfs             0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

 

sync表示把数据从缓存写到磁盘里面 async数据写入到缓存

服务端操作配置服务

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

-rw-r--r--. 1 root root 0 1月  12 2010 /etc/exports

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

[[email protected] ~]# mkdir /data   //创建共享目录

                           

[[email protected] ~]# vim /etc/exports   //编辑配置文件,往里面写配置

 

#shared data for bbs luliechu at 20170327   //这一行注释

/data 172.16.10.0/24(rw,sync)

data表示要共享的目录  172.16.10.0表示可以访问的网段  rw读写  sync表示把数据从缓存写到磁盘里面

 

 

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

#shared data for bbs luliechu at 20170327

/data 172.16.10.0/24(rw,sync)

 

 

[[email protected] ~]# /etc/init.d/nfs reload  //配置完配置文件后平滑重启(提高用户体验)nfs服务

[[email protected] ~]# showmount -e localhost  //在本机上检查是否共享出来

Export list for localhost:

/data 172.16.10.0/24                       //表示共享成功

 

 

在客户端上检查

[[email protected] ~]# showmount -e 172.16.10.10  //在本机上检查是否共享出来

Export list for localhost:

/data 172.16.10.0/24                       //表示共享成功

 

 

然后挂载

df -h 检查有哪些磁盘挂载了

mount -t nfs 172.16.10.10:/data /mnt   //挂载  ,当然于Windows的磁盘映射

df -h 检查有哪些磁盘挂载了

 

注意本地目录权限也要可写可读才能真正可读可写

服务端上操作:

[[email protected] ~]# cat /var/lib/nfs/etab  //查看这个文件可以看到nfs用户id

/data   172.16.10.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)

[[email protected] ~]# grep 65534 /etc/passwd   //查看对应id号的用户名

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

[[email protected] ~]# ls -ld /data   //查看共享目录权限

drwxr-xr-x. 2 root root 4096 3月  28 06:13 /data

[[email protected] ~]# chown  nfsnobody   -R /data      //属于属于nfsnobpdy,让远端用户可写

[[email protected] ~]# ls -ld /data

drwxr-xr-x. 2 nfsnobody root 4096 3月  28 06:13 /data

 

测试效果:

[[email protected] ~]# ls /data

test1  test3                  北大青鸟第2章学习资料

test2  北大青鸟第1章学习资料  北大青鸟第3章学习资料

[[email protected] ~]#

 

 

[[email protected] ~]# ls /mnt

test1  test3                  北大青鸟第2章学习资料

test2  北大青鸟第1章学习资料  北大青鸟第3章学习资料

 

 

--end--

 

 

 

 

 

 

 

 

 

 

 

 

 

 


本文出自 “快乐学习” 博客,请务必保留此出处http://983865387.blog.51cto.com/9838888/1917718

全面分析rhce7(红帽认证工程师)考试题目之----nfs文件共享篇

配置NFS共享(Linux与Linux之间)NetworkFlieSystem网络文件系统 协议:NFS(TCP/UDP2049),RPC(TCP/UDP111)所需软件包:nfs-utils(默认会装)系统服务:nfs-server搭建基本只读NFS服务1.检测是否装包[[email protected]~]#rpm-qnfs-utilsnfs-utils-1.3.0... 查看详情

linux系统之使用autofs自动挂载nfs共享(代码片段)

...务1.检查系统nfs软件包2.安装nfs3.创建共享目录4.编辑配置文件5.重启nfs相关服务6.查看nfs服务状态四、远程客户端测试nfs共享五、配置autofs自动挂载1.安装autofs软件包2.设置服务开机自启3.配置autofs自动挂载4.重启autofs服务六、测试... 查看详情

002.kickstart部署之nfs架构(代码片段)

...initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件NFS:共享ks.cfg、及所有光盘文件 查看详情

第十章网络文件共享服务之ftp

10.1ftp介绍 网络文件共享服务主流的主要有三种,分别是ftp、nfs、samba。在上一章中我们已经了解了nfs,本章我们将来说说ftp。 FTP是FileTransferProtocol(文件传输协议)的简称,用于internet上的控制文件的双向传输。 FTP... 查看详情

第十一章网络文件共享服务之samba

...们已经了解了NFS和FTP,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。SMB(ServerMessagesB... 查看详情

002.kickstart部署之nfs架构(代码片段)

...initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件NFS:共享ks.cfg、及所有光盘文件注意:此ks.cfg文件和所有光盘文件也可通过HTTP、FTP等方式共享,参考其他笔记即可。1.3TFTP等组件安装[[email protected]~]#yum-yinstalldhcp*t... 查看详情

文件共享服务之ftp

文件共享服务一、什么是文件共享服务简单来说就是文件或存储块设备可以共享给大家使用(一)、实现共享服务有三种:1、ftp:属于应用层服务,可以跨平台使用(linux<->unix<-->windows)2、nfs:属于内核模式,不可以跨... 查看详情

文件共享:nfs

NFS共享概述:NetworkFileSystem:网络文件系统--用途:为客户机提供共享使用的文件夹--协议:NFS(TCP/UDP2049)、RPC(TCP/UDP111)所需软件包:nfs-utils系统服务:nfs-server配置NFS共享目录的记录格式:文件夹绝对路径客户机地址(ro或rw... 查看详情

nfs文件共享服务

NFS简介NFS(NetworkFileSystem)中文叫网络文件系统,主要功能是通过网络(一般是局域网)让不同的主机之间可以共享文件或目录。NFS客户端可以通过挂载的方式将NFS服务器共享出来的目录挂载到本地进行使用。NFS网络文件系统很像Wi... 查看详情

文件共享服务---nfs

文件共享服务---NFS=============================================================================概述:NFS介绍★nfs:NetworkFileSystem★RPC:RemoteProcedureCall远程过程调用★NFS:属于sun公司,是一种协议;★版本:NFSv1,NFSv2,NFSv3, NIS: 查看详情

nfs共享服务

一、网络文件系统共享服务  NFS(NetworkFileSystem,网络文件系统)是一种基于TCP/IP传输的网络文件系统协议,最初由SUN公司开发,通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源,说白了就是linux版... 查看详情

nfs网络共享文件服务搭建

一.NFS(networkfilesystem)1.概念:NFS(networkfilesystem)网络共享文件系统2.作用:类似于windows系统网络共享,但无法部署在windows中,适用于中小型企业共享部署,大型网站不适合(Moosefs,FASTdfs)windows网络共享FTP(linux),samba(linux),... 查看详情

nfs网络文件共享

...kFileSystem)NFS在企业中的应用场景企业集群架构中,NFS网络文件系统一般用来存储共享的视频、图片、附件等静态资源,一般把网站用户上传的文件都放到NFS共享里,例如图片、附加、头像,然后前端所有的节点访问这些静态资源... 查看详情

nfs-网络文件共享服务(代码片段)

...务端(nfs-server)配置客户端(web-client)NFS服务简单执行流程NFS文件访问权限NFS服务端配置客户端地址的表示方法/etc/exports参数/etc/exports生效创建共享目录NFS服务端配置小结NFS客户端配置查看远端共享目录挂载共享目录 查看详情

企业级nfs网络文件共享服务

...操作系统:CentOSrelease6.8(Final)虚拟机:VMware任务:NFS网络文件共享服务默认是没有安装NFS软件包,NFS主要功能是通过网络让不同的主机系统之间可以共享文件或目录。NFS网络文件系统很像Windows系统的网络共享、安全功能、网络驱... 查看详情

nfs企业级网络文件共享(代码片段)

企业级NFS网络文件共享服务1、NFS介绍什么是NFS?NFS是networkfilesystem的缩写,中文意思是网络文件系统。它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或者目录。NFS客户端(一般为应用服务器,例... 查看详情

nfs企业级网络文件共享(代码片段)

企业级NFS网络文件共享服务1、NFS介绍什么是NFS?NFS是networkfilesystem的缩写,中文意思是网络文件系统。它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或者目录。NFS客户端(一般为应用服务器,例... 查看详情

(转)原理到实现|k8s存储之nfs(代码片段)

..._594Gyyn9fHekjw 1NFS介绍NFS是NetworkFileSystem的简写,即网络文件系统,NFS是FreeBSD支持的文件系统中的一种。NFS基于RPC(RemoteProcedureCall)远程过程调用实现,其允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序... 查看详情