Linux(10):期中架构(2)--- NFS存储服务

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客户端地址配置说明:

原文地址:https://www.cnblogs.com/neozheng/p/10804761.html

时间: 2024-10-07 09:28:21

Linux(10):期中架构(2)--- NFS存储服务的相关文章

NFS存储服务深度实践

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

部署NFS存储服务(下)

作者:Georgekai 归档:学习笔记 2018/1/25 部署NFS存储服务(下) 2.1 服务端有关的配置 2.1.1 练习题:共享不同的俩个目录,分别赋予读和写权限 服务端部署过程: 第一个里程:编写nfs配置文件 vim /etc/exports /data/w  172.16.1.0/24(rw,sync,all_squash) /data/r  172.16.1.0/24(ro,sync,all_squash) 注:服务端配置文件中,尽量避免继承权限的发生(因权限大的会生效) 第二

NFS存储服务部署(上)

作者:George 归档:学习笔记 2018/1/24 NFS存储服务部署(上) 1.1 NFS服务介绍 1.1.1 什么是NFS? 1. NFS--Network File Systemt网络文件系统,叫称为网络共享文件系统 2. 作用:通过网络(一般为局域网)让不同主机系统之间可以共享文件 3. NFS服务和winodws系统的网络共享很相似,但NFS无法部署在windows上 4. windows与linux网络共享使用FTP.samba,它们都支持windows与linux之间共享 5.

NFS存储服务(下)

第1章 回顾及练习 1.1  回顾总结 1.1.1 NFS存储服务是什么? 网络文件系统,实现数据共享统一一致 1.1.2 NFS工作原理 1. 什么是rpc服务 rpc服务类似于中介,nfs服务将启动的进程和端口信息,向rpc服务进行注册 nfs客户端向rpc服务发出请求,进行共享目录挂载,从而实现通过网络存储数据信息 2. 服务端做了三件事: ①. 首先启动rpc服务 ②. 其次启动nfs服务 ③. nfs服务向rpc服务进行注册,只注册一次(如果nfs服务进行了重启,会再次注册) 3. 客

NFS存储服务及部署

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

2020.2.19 10分钟自建对象存储服务!

10分钟自建对象存储服务! 摘要 对象存储服务可以用来存储各类文件,下面如何搭建一个对象存储服务来存储图片 MinIO 简介 MinIO是一款基于Go语言的高性能对象存储服务,它采用了Apache License v2.0 开源协议,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器/虚拟机镜像等. 安装及部署 MinIO的安装方式有很多,这里我们使用它在Docker环境下的安装方式. 下载MinIO 的Docker 镜像: docker pull minio/mini

NFS存储服务(上)

第1章 NFS介绍 1.1 什么是NFS NFS是Network File System的缩写,中文意思是网络文件系统 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录 NFS==网络共享文件系统 互联网中小型网站集群架构后端常用NFS进行数据共享 如果大型网站,那么有可能还会用到更复杂的分布式文件系统,例如:Moosefs(mfs).GlusterFS.FastDFS 扩展:NFS网络文件系统很像Windows系统的网络共享,但是无法部署在windows系统上,NF

NFS存储服务

一.NFS 原理图 二.NFS 原理描述 2.1:什么是NFS NFS中文名字:网络共享存储,就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录的数据(NFS一般都是用来存放视频.附件.图片等静态数据的). NFS是通过网络来进行服务端和客户端数据传输的,那么只要是通过网络的就一定会有端口,那NFS的端口是什么呢?很失望的是NFS的端口是随机的,每次重启服务端口都会改变. 那么客户端是怎样知道服务端的端口的呢?其实NFS服务器是通过远程过程调用(RPC)协议/服务来实现的,也就是说R

LAMP集群项目五 部署NFS存储服务并设置WEB服务挂载

yum install nfs-utils portmap -y 在centos6.5中portmap已经改为rpcbind 先启动rpcbind /etc/init.d/rpcbind start /etc/init.d/nfs start mkdir /backup   创建一个共享目录\ 确保nfsnobody都是同一个uid : 65534 ,否则不是一个权限 grep  nfsnobody  /etc/passwd vim  /etc/exports /backup 192.168.1