linux(10):期中架构---nfs存储服务(代码片段)

neozheng neozheng     2022-12-06     597

关键词:

1. 共享存储服务概念:

# NFS是Network File System的缩写,中文意思是网络文件系统,
# 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。

2. NFS共享存储服务的应用:

# 将数据存储到一台服务器上,实现数据统一一致,共享访问
# NFS存储服务器中主要存储哪些信息:用户上传的图片 音频 视频 附件等信息
# NFS服务是分为服务端和客户端
# 存储服务器:NFS服务端   网站web服务器:NFS客户端

# 实现共享存储好处:
01. 实现数据统一一致
02. 节省网站磁盘资源
03. 节省网站访问带宽

3. NFS共享存储服务的原理:

①. nfs服务端创建共享存储目录
②. nfs客户端创建远程挂载点目录
③. nfs客户端进行远程挂载
④. 实现客户端数据信息统一一致

4. NFS服务重要概念说明:

4.1 NFS共享文件系统RPC服务介绍

技术图片

4.2 NFS共享文件系统RPC服务由来:

# NFS服务启动进程和端口过程,需要由rpc服务统一管理

 

5. NFS服务部署实践过程

5.1 NFS服务端部署流程:

# 第一步:检查服务软件是否安装
[[email protected] ~]# rpm -qa|egrep "nfs-utils|rpcbind"    # 检查 nfs 和 rpc 服务是否已经安装 

# 第二步:进行软件服务安装
[[email protected] ~]# yum install -y nfs-utils rpcbind
...
[[email protected] ~]# rpm -qa|egrep "nfs-utils|rpcbind"
nfs-utils-lib-1.1.5-13.el6.x86_64
rpcbind-0.2.0-16.el6.x86_64
nfs-utils-1.2.3-78.el6_10.1.x86_64
[[email protected] ~]# 

# 补充说明:nfs-utils 和 rpcbind两个软件大礼包
    rpm -ql nfs-utils    # 查看软件包内容 的命令
    /etc/rc.d/init.d/nfs     <-- nfs服务启动脚本文件
    /usr/sbin/showmount      <-- 检查nfs服务共享目录信息
    
    rpm -ql rpcbind
    /etc/rc.d/init.d/rpcbind   <-- rpcbind服务启动脚本文件
    /usr/sbin/rpcbind          <-- 检查nfs服务向rpc服务注册信息
    

# 第三步:编写nfs服务配置文件
[[email protected] ~]# ll /etc/exports 
-rw-r--r--. 1 root root 0 Jan 12  2010 /etc/exports
[[email protected] ~]# vim /etc/exports     # 编写服务配置文件; /etc/exports ---> 系统默认的配置共享存储的文件,NFS服务会识别这个文件实现共享存储
[[email protected] ~]# cat /etc/exports
/data  172.16.1.0/24(rw,sync)        # /data 表示数据存储的目录; 172.16.1.0/24 表示允许哪个网段的主机可以挂载到我这台共享服务器上; (rw,rsync) ---> rw 表示共享目录是可读可写的,rsync 是一个同步参数; 172.16.1.0/24 和 (rw,sync) 之间不能有空格
[[email protected] ~]# 

# 说明:配置文件信息 指定共享目录   指定共享目录访问控制网段或主机信息(共享目录参数信息)


# 第四步:创建nfs服务共享目录,并且进行授权
[[email protected] ~]# mkdir /data
[[email protected] ~]# chown -R nfsnobody.nfsnobody /data/
[[email protected] ~]# 

# 第五步:启动nfs和rpc服务
[[email protected] ~]# /etc/init.d/rpcbind start        # 要先启动 rpc 这个“中介”服务
Starting rpcbind:                                          [  OK  ]
[[email protected] ~]# /etc/init.d/nfs start            # 再启动 nfs 服务
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[[email protected] ~]# 


# 第六步:进行服务配置检查
# 检查 nfs 是否向 rpc 服务注册
[[email protected] ~]# rpcinfo -p 172.16.1.31   # 检查本地主机(172.16.1.31,也可用10.0.0.31)是否已经向 rpc 注册
...

# 检查是否存在可用的共享目录
[[email protected] ~]# showmount -e 10.0.0.31        # showmount -e 服务端的地址  ---> 检查是否有可用的共享目录
Export list for 10.0.0.31:
/data 172.16.1.0/24
[[email protected] ~]# 

5.2 NFS客户端部署流程:

# 第一步:检查服务软件是否安装
[[email protected] ~]# rpm -qa|egrep "nfs-utils|rpcbind"
[[email protected] ~]# 

# 第二步:进行软件服务安装


# 第三步:进行共享目录挂载
[[email protected] ~]# mount -t nfs 172.16.1.31:/data /mnt        # -t nfs 表示挂载 nfs 文件系统类型 ; 172.16.1.31:/data ---> 这个服务器上的 /data 目录; /mnt 表示挂载到 /mnt 目录
[[email protected] ~]# df -h
Filesystem         Size  Used Avail Use% Mounted on
/dev/sda3          8.8G  1.5G  6.9G  18% /
tmpfs              238M     0  238M   0% /dev/shm
/dev/sda1          190M   40M  141M  22% /boot
172.16.1.31:/data  8.8G  1.5G  6.9G  18% /mnt        # 共享目录挂载到了 /mnt 
[[email protected] ~]# 

# 第四步:进行共享存储测试
# 网站服务器01上的操作
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# ll
total 0
[[email protected] mnt]# touch test.txt
[[email protected] mnt]# ll 
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May  3 16:58 test.txt
[[email protected] mnt]# 

# 存储服务器上的操作
[[email protected] ~]# ll /data/
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May  3 16:58 test.txt    # 存储在 网站服务器的 /mnt 目录下的内容 就相当于 存储在了 存储服务器的 /data目录下
[[email protected] ~]# 

# 网站web服务器02 上的操作
[[email protected] ~]# ll /mnt/
total 0
-rw-r--r-- 1 nfsnobody nfsnobody 0 May  3 16:58 test.txt    # 在 web02 上也能看到 web01 上的数据
[[email protected] ~]# 

# 说明:在web01的mnt目录中创建的数据,在nfs和web02服务器上都可以看到,即已经实现数据共享存储
        客户端上不需要启动NFS服务

# 共享文件系统的工作原理(服务端3步 客户端3步)
    # 服务端做了三件事:
    1. 启动rpcbind服务,创建中介
    2. 启动nfs服务,创建“房源”信息
    3. 将“房源”信息向中介进行注册,在nfs服务稳定运行过程中,“房源”信息只注册一次
    
    # 客户端做了三件事:
    1. 启动rpcbind服务(可选)
    2. 确保客户端和服务端网络连接建立成功
    3. 执行mount命令进行网络存储挂载

 

6. NFS服务部署进程信息详述

[[email protected] ~]# ps -ef|egrep "rpc|nfs"
rpc        1564      1  0 09:32 ?        00:00:00 rpcbind
rpc        1065      1  0 09:32 ?        00:00:00 rpc statd        # <- 检查数据存储一致性
root       4736      2  0 21:31 ?        00:00:00 [rpciod/0]    
root       5363      1  0 21:47 ?        00:00:00 rpc.rquotad      # <- 磁盘配额进程(remote quote server)
root       5368      1  0 21:47 ?        00:00:00 rpc.mountd       # <- 权限管理验证等(NFS mount daemon)
root       5375      2  0 21:47 ?        00:00:00 [nfsd4]
root       5376      2  0 21:47 ?        00:00:00 [nfsd4_callbacks]
root       5377      2  0 21:47 ?        00:00:00 [nfsd]           # <- NFS主进程
root       5378      2  0 21:47 ?        00:00:00 [nfsd]           # <- NFS主进程
root       5379      2  0 21:47 ?        00:00:00 [nfsd]           # <- NFS主进程,管理登入,ID身份判别等。
root       5380      2  0 21:47 ?        00:00:00 [nfsd]        
root       5381      2  0 21:47 ?        00:00:00 [nfsd]        
root       5382      2  0 21:47 ?        00:00:00 [nfsd]        
root       5383      2  0 21:47 ?        00:00:00 [nfsd]        
root       5384      2  0 21:47 ?        00:00:00 [nfsd]        # <- NFS主进程
root       5415      1  0 21:47 ?        00:00:00 rpc.idmapd    # <- name mapping daemon
                                                                # 用户压缩/用户映射(记录)
root       5512   4670  0 22:02 pts/0    00:00:00 egrep rpc|nfs

 

7. NFS共享存储服务配置说明

7.1 NFS共享文件系统配置文件格式说明:

# NFS共享目录:
    为NFS服务器端要共享的实际目录,要用绝对路径,如(/data)。
    注意共享目录的本地权限,如果需要读写共享,一定要让本地目录可以被NFS客户端的用户(nfsnobody)读写。

# NFS客户端地址:
    为NFS服务器端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等,也可以为整个网段地址。
    还可以用“*”来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务的业务服务器,例如:web服务。具体说明见表10-3
    权限参数集
    对授权的NFS客户端的访问权限设置。参数具体说明见后文。
    nfs权限(共享目录【借给你手机】) nfs配置的/etc/exports /data 172.16.1.0/24(rw)
    本地文件系统权限(【手机密码不告诉你】) 挂载目录的权限rwxr-xr-x root root /data

NFS共享配置文件语法格式:

技术图片

同步和异步(sync 和 async):

技术图片

NFS客户端地址配置说明:

技术图片

 

期中集群架构-第六章-ansible批量管理服务介绍

期中集群架构-第六章-ansible批量管理服务介绍======================================================================01.批量管理服务知识介绍aansible是一个基于Python开发的自动化运维工具bansible是一个基于SSH协议实现远程管理的工具cansible软件可... 查看详情

nfs共享存储服务

NFS共享存储服务NFS应用场景在企业集群架构的工作场景中,特别是中小型网络公司,NFS网络文件系统一般被用来存储共享视频、图片等静态资源文件,把用户上传的文件放到HFS共享里,通过网络共享目录,让网络上的其他服务器... 查看详情

架构(day04)

...S(NetworkFileSystem)通过网络来做文件存储NFS用于企业集群架构中,如果是大型网站,会用到更复杂的分布 查看详情

linux(11):期中架构---ssh远程管理服务&ansible批量管理服务(代码片段)

SSH远程管理服务 1.远程管理服务知识介绍#1.1SSH远程登录服务介绍说明SSH是SecureShellProtocol的简写,由IETF网络工作小组(NetworkWorkingGroup)制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进... 查看详情

linux网络服务——nfs共享存储服务(包含操作详解)(代码片段)

NFS共享存储服务NFS共享存储服务概述NFS应用场景NFS服务器配置一、服务器的配置二、客户端的配置NFS常见故障解决思路NFS共享存储服务概述NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本... 查看详情

关于linux挂载nas网络存储

...具体说下挂载命令吗?我用过nfsNAS的中文名称是网络附加存储,是基于硬盘的专业存储技术。它可以直接接入计算机网络,为各种操作系统的客户端提供集中式的数据存取服务。NAS支持NFS协议,Linux操作系统也是支持NFS协议的,... 查看详情

主流存储架构比较

 存储架构DASNASSAN数据传输方式文件(File)文件(File)数据块(Block)链接协议——NFS(Linux)CIFS(Windows)FCP,ISCSI数据传输通道SCSI/FC/ATATCP/IPFC,TCP/IP存取特性直接存取多服务器存取,类似于文件服务器,可以让多个使用者... 查看详情

10最为主流的三个存储卷emptydirhostpathnfs

...作逻辑◼PV和PVC规范及用法◼StorageClass及用法Kubernetes存储架构及CSI简介◼存储架构简介◼CSI存储组件及部署架构◼示例:基于NFS的CSI从概念上讲,存储卷是可供Pod中的所有容器访问的目录◼Pod规范中声明的存储卷来源决定了目录... 查看详情

nfs存储服务(上)

...bsp;NFS==网络共享文件系统  互联网中小型网站集群架构后端常用NFS进行数据共享   查看详情

nfs--共享存储(代码片段)

...网络驱动器类似,只不过windows用于局域网,NFS用于企业集群架构中,如果是大型网站,会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS1为什么使用共享存储?1.实现多台服务器之间数据共享2.实现多台服务器之间数据一致二:NFS应用... 查看详情

nfs共享存储服务部署(代码片段)

...网络驱动器类似,只不过windows用于局域网,NFS用于企业集群架构中,如果是大型网站,会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS1.2为什么要使用NFS服务实现多台服务器之间数 查看详情

50台集群架构配置介绍-3(nfs)

...实际上却是远端的NFS服务器目录。互联网中小型网站集群架构后端常常用NFS进行数据共享,如果是 查看详情

nfs网络实时同步存储

1、准备几台(3台)Linux客户机,都是静态IP,关闭安全机制2、再准备一台Linux主机做服务端3、服务器写个目录并创建一个index.html网页文本4、配置nfs对外提供访问的、目录、网段、权限5、开启nfs服务,并设置开机自启动,此时... 查看详情

nfs——网站架构后台仓库的搭建

1.nfs共享存储1.1存储服务的作用将数据进行统一共享存储,节省磁盘存储空间1.2.存储服务部署过程1.2.1.服务端部署第一个历程:安装软件程序Yuminstall-ynfs-utils第二个历程:编写配置文件Vim/etc/exports/data/www172.16.1.0/24(rw,sync)/data/bbs17... 查看详情

centos7/rhel7中nfs简介与配置

...3.NFS的缺点:不能用在linux和windows之间共享文件。4.NFS的架构:C/S架构,即一个服务端,一个或多个客户端5.NFS工作机制:nfs是基于rpc(远程过程调 查看详情

nfs共享存储(代码片段)

目录环境准备NFS服务端NFS客户端httpd服务环境准备主机名wanIPlanIP角色web0110.0.0.7172.16.1.7nfs的客户端web0210.0.0.8172.16.1.8nfs的客户端nfs10.0.0.31172.16.1.31nfs的服务端NFS服务端NFS(NetworkFileSystem)和RPC(RemoteProcedureCall)部署NFS服务端,需要... 查看详情

nfs网络文件共享

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

linux环境下搭建nfs服务

参考技术ANFS(NetworkFileSystem),网络文件存储系统,它最早是由Sun公司开发的,也是FreeBSD支持的文件系统中的一个,它允许网络中的计算机之间通过TCP/IP网络共享资源。通过NFS协议,我们本地NFS的客户端应用可以透明的读写位... 查看详情