美文网首页
NFS存储服务nfs的服务端和客户端搭建

NFS存储服务nfs的服务端和客户端搭建

作者: 古巷挂青灯 | 来源:发表于2019-06-12 21:14 被阅读0次

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

                ext4   C6
                swap  交换分区
                tmpfs   内存文件系统  存放的数据相当于存放在内存中
                        内存文件系统 ,加速,存放缓存
什么是文件系统:决定文件和数据如何在系统存放

常用软件

GlusterFS   分布式存储
Fastdfs     分布式存储
NFS         单点共享

应用场景:共享存储
存放用户上传 附近(zip) 图片(头像 文章里面的图片)


NFS流程原理图

nfs流程图.png

大型企业存储数据,主要使用的是分布式存储系统


mfs
fastdfs   分部式文件系统
glustfs   优秀开源分部式文件系统**

优势:
01. 存储压力减轻了
02. 提升数据安全性
03. 提升存储数据容量
劣势:
01. 成本高
02. 配置复杂 管理(分布式算法)
03. 数据恢复难度较大

服务端部署:


第一个历程:确认检查服务软件是否安装

[root@nfs01 ~]#rpm -qa|grep -E "nfs|rpc"
[root@nfs01 ~]#yum install -y nfs-utils rpcbind  (centos7 centos6)
[root@nfs01 ~]#yum install -y nfs-utils portmap  (centos5)  

第二个历程:启动服务

[root@nfs01 ~]#systemctl start rpcbind.service   首先启动
[root@nfs01 ~]#systemctl start nfs.service       其次启动

第三个历程: 编写配置文件

[root@nfs01 ~]#vim /etc/exports
    man exports
    #存储数据目录信息  主机地址或网段信息(参数信息)
    /upload              172.16.1.0/24(rw,sync)

第四个历程:创建一个共享目录 并且授权为nfsnobody用户管理

[root@nfs01 ~]# mkdir /upload
[root@nfs01 ~]# chown nfsnobody.nfsnobody /upload

第五个历程:测试验证的工作

1)检验nfs进程信息是否向rpc服务进行注册
部署nfs存储服务
RPC(远程过程调用服务--python 网络编程)
相当于一个中介服务

[root@nfs01 ~]#rpcinfo -p 172.16.1.31

2)检查是否有共享存储数据的目录信息

[root@nfs01 ~]#showmount -e 172.16.1.31 
Export list for 172.16.1.31:
 /upload       172.16.1.0/24

3)本地址进行一下挂载操作

[root@nfs01 ~]# mount -t nfs 172.16.1.31:/upload /mnt
[root@nfs01 ~]# df -h
    Filesystem         Size  Used Avail Use% Mounted on
    172.16.1.31:/data   45M  1.0M   40M   3% /mnt
[root@nfs01 ~]# cd /mnt
[root@nfs01 mnt]# touch oldboy123.txt
touch: cannot touch ‘oldboy123.txt’: Permission denied   修改/data 目录权限

常见问题:

[root@nfs01 /]# umount /mnt
umount.nfs4: /mnt: device is busy

1)你所在目录就是在/mnt目录中
2)你挂载目录正在被程序进程所占用
解决

[root@nfs01 ~]#umount -lf /mnt

-l Lazy unmount 懒惰卸载 解决异常问题第一个原因
-f Force unmount 强制卸载 解决异常问题第二个原因


客户端部署:

第一个历程:需要安装服务软件

[root@nfs01 ~]# yum install -y nfs-utils 

如果软件不进行安装

挂载:[root@nfs01 ~]#mount -t nfs 172.16.1.31:/upload /mnt

错误提示:

    mount: wrong fs type, bad option, bad superblock on 172.16.1.31:/data,
           missing codepage or helper program, or other error
           (for several filesystems (e.g. nfs, cifs) you might
           need a /sbin/mount.<type> helper program)
           In some cases useful info is found in syslog - try dmesg | tail or so.

第二个历程:利用命令进行远程挂载

[root@nfs01 ~]#mount -t nfs 172.16.1.31:/upload  /mnt

第三个历程:完成之后进行测试,并讲命令放入开机自动里面


nginx配置文件参数补充:

  • nfs配置文件中常见的参数
rw          重点掌握    Read-write,表示可读可写权限
ro          Read-only,表示只读权限

sync  (同步传输数据)     通过网络传输到存储服务器  在内存里面缓冲  尽可能快的保存在硬盘

async (异步传输数据)     通过网络传输到存储服务器  先在内存里保存  在慢慢保存到硬盘里

no_root_squash          数据的属主属组用户如果是root,保存的时候属主属组属性信息不变

root_squash             数据的属主属组用户如果是root,保存的时候属主属组属性信息发生改变           
                                                                                                                          nfsnobody
all_squash              数据的属主属组用户如果是普通用户,保存的时候属主属组属性信息发生改变                                            
                                                                                                                           nfsnobody
no_all_squash           数据的属主属组用户如果是普通用户, 保存的时候属主属组属性信息不变
   
anonuid                 指定默认将用户身份进行如何转换 默认都转换为nfsnobody

anongid                 指定默认将用户组身份进行如何转换 默认都转换为nfsnobody

相关文章

网友评论

      本文标题:NFS存储服务nfs的服务端和客户端搭建

      本文链接:https://www.haomeiwen.com/subject/qovrfctx.html