NFS—共享存储服务

前言

一、NFS共享存储服务

1.1 NFS概述

NFS (Network File System)网络文件系统(做文件存储,共享)
NFS一般用来存储共享视频,图片等静态数据。
它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。
​NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;

依赖于RPC (远端过程调用)客户端访问服务器的过程由RPC服务管理
需安装nfs-utils、rpcbind软件包
系统服务: nfs、 rpcbind
共享配置文件: /etc/exports (唯一 一个配置文件为空的文件)

1.2 NFS工作与原理

客户机存在RPC服务,RPC服务会向NFS服务器索要开放的端口号,(NFS服务不是固定的端口对外开放服务,端口具有随机性),所以RPC服务是专门用来管理端口的。NFS服务启动时RPC同时启动,在启动过程中NFS会向RPC服务申请要开放的端口号,客户端的RPC服务也会通过TCP/IP协议连接到服务端的RPC服务询问客户端需要的访问的端口号,这时,服务端RPC服务告知客户端PRC服务开放的端口号。之后客户端通过访问服务器IP和从RPC服务获取的端口号来访问NFS服务,访问同时NFS服务映射了一个本地文件访问的路径去访问本地磁盘里的文件。所以RPC是在此过程中的中间调度的一个程序。

二、使用NFS服务发布及访问

2.1 使用NFS发布共享资源

2.11 安装nfs-utils、rpcbind软件包

[root@localhost ~]# yum -y install nfs-utils rpcbind
[root@localhost ~]# systemctl enable nfs     服务开启
[root@localhost ~]# systemctl enable rpcbind  服务开启

2.12 设置共享目录

[root@localhost ~]# mkdir -p /opt/wwwroot
[root@localhost ~]# vi /etc/exports
/opt/wwwroot 192. 168.7.0/24(rw,sync,no_ root_ squash)
/var/ftp/pub 192.168.4.11(ro) 192. 168.4.110(rw)
共享目录    开放范围           开放权限

(ro)权限是只读,不允许更改 
rw 是读写权限,
sync是服务器和客户机间开启同步,添加文件双方都可见
no_ root_ squash表示可以是root身份访问服务器

2.13 启动NFS服务程序,

2.14 查看本机发布的NFS共享目录

[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# systemctl start nfs
[root@localhost ~]# netstat -anpt | grep rpc (没有固定的端口号)

tcp 0      00.0.0.0:20048         0.0.0.0:*      LISTEN     10508/rpc.mountd
tcp0       00.0.0.0:52732         0.0.0.0:*     LISTEN       10495/rpc.statd
tcp6        0 0 ::20048                 ...*            LISTEN      10508/rpc.mountd
tcp6         00 ::47669                  ...*          LISTEN        10495/rpc.statd
[root@localhost ~]# showmount -e  查看本机发布的NFS共享目录
/opt/wwwroot 192. 168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11

2.2 在客户机中访问NFS共享资源

2.21 安装rpcbind软件包,并启动rpcbind服务

[root@localhost ~]# yum -y install rpcbind nfs-utils
[root@localhost ~]# systemctl enable rpcbind
[root@localhost ~]# systemctl start rpcbind
[root@localhost ~]# showmount -e 192.168.7.250    服务器的IP
查看NFS服务器共享了那些目录
Export list for 192. 168.7.250:
/opt/wwwroot 192. 168.7.0/24
/var/ftp/pub 192.168.4.110,192.168.4.11

查看rpc安装情况

[root@server1 ~]# rpm -qa rpcbind   默认rpc安装,启动
rpcbind-0.2.0-42.el7.x86_64

在这里插入图片描述

2.22 手动挂载NFS共享目录

[root@localhost ~]# mount 192.168.7.250:/opt/wwwroot /var/www/html 网页的站点目录
[root@localhost ~]# tahl -1 /etc/mtab                            查看挂载情况
192.168.7.250:/opt/wwwroot /var/www/html nfs4
rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,
timeo=60O,retrans=2,sec=sys, clientaddr= 192. 168.7.21,local_ lock=none,
addr=192.168.7.250 0 0

[root@localhost ~]# vi /var/www/html/index.html   
Real Web Server Document
读   写   权限  rw

2.23 fstab自动挂载设置

[root@localhost ~]# vi /etc/fstab
//省略部分信息                                                                 挂载设备需要网络
192.168.7.250:/opt/wwwroot /var/www/html nfs defaults,_netdev 0 0
 defaults,_netdev:代表权限

2.24 强制卸载NFS

[root@localhost ~]# umount /mnt
umount: /mnt: device is busy
[root@localhost ~]# umount -If /mnt
[root@localhost ~]#

三、NFS项目配置

项目准备

三台设备,两台客户机,一台服务器

项目解析

服务器 fw:20.0.0.12 需要安装rpcbind和nfs软件包
客户机1 kh1:20.0.0.10 预装apache
客户机2 kh2:20.0.0.11 预装apache

nfs-utils来实现nfs的共享发布与访问,rpcbind依赖rpc (远程过程调用),充当nfs客户端与服务器的中介,完成远程到本地的映射过程。

项目需求

利用nfs存储服务来实现制作两个不同的网页,将这两个网页分别作为两个网站的主页。

项目具体流程

1.两台客户机上安装apache 服务器安装nfs

[root@kh1 ~]# yum -y install httpd
[root@kh2 ~]# yum -y install httpd

服务器上

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

2.创建共享目录

[root@fw1 ~]# mkdir /opt/web1                         创建目录
[root@fw1 ~]# mkdir /opt/web2
[root@fw1 ~]# cd /opt/web1                               
[root@fw1 web1]# vi index.html                         网页编辑

<html><title>web1</title><body><h1>this is web1!!</h1></body></html>

[root@fw1 web1]# cp index.html /opt/web2        
[root@fw1 web1]# cd /opt/web2
[root@fw1 web2]# vi index.html

<html><title>web2</title><body><h1>this is web2!!</h1></body></html>

[root@fw1 web2]# cd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.发布,服务启动

[root@fw1 ~]# vi /etc/exports 
    
/opt/web1  20.0.0.10(ro)
/opt/web2  20.0.0.11(ro)

[root@fw1 ~]# systemctl start nfs         服务开启
[root@fw1 ~]# systemctl start rpcbind     服务开启

在这里插入图片描述
在这里插入图片描述

4.查看服务启动情况

[root@fw1 ~]# systemctl status nfs
[root@fw1 ~]# systemctl status rpcbind

在这里插入图片描述

5.在服务器上,查看本机发布的NFS共享目录

[root@fw1 ~]# showmount -e
/opt/web2 20.0.0.11
/opt/web1 20.0.0.10

在这里插入图片描述

客户机上

6,在客户机上分别进行查看NFS服务器共享了那些目录

在客户机1上

[root@kh1 ~]# showmount -e 20.0.0.12
/opt/web2 20.0.0.11
/opt/web1 20.0.0.10

进行挂载

[root@kh1 ~]# mount 20.0.0.12:/opt/web1 /var/www/html/
[root@kh1 ~]# df -Th
[root@kh1 ~]# cd /var/www/html/
[root@kh1 html]# ls -lh
[root@kh1 html]# vi index.html

在这里插入图片描述
在这里插入图片描述

在客户机2上

[root@kh2 ~]# showmount -e 20.0.0.12

/opt/web2 20.0.0.11
/opt/web1 20.0.0.10

[root@kh2 ~]# mount 20.0.0.12:/opt/web2 /var/www/html/
[root@kh2 ~]# df -Th
[root@kh2 ~]# cd /var/www/html/
[root@kh2 html]# ls -lh
[root@kh2 html]# vi index.html

在这里插入图片描述
在这里插入图片描述

7.在客户机上开启网页网站服务

[root@kh1 ~]# systemctl start httpd

8,进入客户机网页进行测试
http://localhost
在这里插入图片描述
在这里插入图片描述


总结
通过以上的学习了解,认识到大多数的负载均衡群集,使用NFS协议来共享数据存储是比较常见的做法。但是NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性较差,一般只在局域网中使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值