NFS共享存储服务

目录

1.NFS(Network File System)网络文件系统

2.NFS架构

3.NFS工作原理

4.NFS配置

示例

1.安装软件包

2.修改/etc/exports文件

3.启动 NFS 服务程序

4.查看共享目录

5.修改共享配置文件的权限

6.服务卡死的解决方法和在线发布共享目录

7.永久挂载

5.总结


1.NFS(Network File System)网络文件系统

NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目

录一样访问远程服务器中的共享资源。

对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的做法,NFS也是NAS存

储设备必然支持的一种协议。但是NFS没有用户认证机制,而且数据在网络上明文传输,所以安全

性很差,一般只能在局域网中使用。

NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映

射过程。

所以需要安装nfs-utils、rpcbind 软件包来提供NFS共享服务,前者用于NFS共享发布和访问,后者

用于RPC支持。

NFS的配置文件为/etc/exports

格式为:

共享的目录位置   客户机地址   (权限选项)

注:Windows  共享存储服务  cifs

        Linux       共享存储服务   nfs

2.NFS架构

把一个磁盘共享出去,让主机1、主机2、主机3像使用自己的目录一样使用,通过NFS共享

3.NFS工作原理

NFS服务是依赖于RPC服务的,它把端口位置放在了RPC服务上,先启动RPC,在启动NFS,通过/etc/exporets目录,把服务端的目录挂载到本地目录,然后通过TCP/IP协议把服务端和客户端连接到一起,客户端通过mount -t nfs 把对方目录挂载到自己的目录当中,客户端通过RPC服务,远程调用服务端NFS服务,获取服务端的所共享的文件数据。

4.NFS配置

1.先安装服务端rpcbind、nfs软件包

2.修改/etc/exports文件

vim /etc/exports

/opt/ wwwroot 192.168.80.0/24(rw, sync,no_root_squash)

/var/ftp/pub 192.168.4.11 (ro) 192.168.4.110 (rw)
/share * (rw, sync)

客户机地址可以是主机名、IP地址、网段地址,允许使用"*”、"?"通配符。

"rw”表示允许读写,"ro”表示为只读。

sync :表示同步写入到内存与硬盘中。

no_root_squash :表示当客户机以root身份访问时赋予本地root权限(默认是root_squash ) 。

root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。

其它常用选项

all_squash :所有访问用户都映射为匿名用户或用户组。

async :将数据先保存在内存缓冲区中,必要时才写入磁盘。

subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。

no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提

高效率。

anonuid=xxx:指定NFS服务器/etc/passwd文件中匿名用户的UID

anongid=xxx :指定NFS服务器/etc/group文件中匿名用户的GID

3.启动 NFS 服务程序

#手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs

systemctl start rpcbind

systemctl start nfs

systemctl enable rpcbind

systemctl enable nfs

netstat   -anptu  | grep  111           查看rpcbind端口是否开启,rpcbind默认使用端口111

netstat   -anptu  | grep   2049        nfs默认使用的端口是2049                     

4.查看共享目录

exportfs -avr                           在线发布

showmount -e

示例

1.安装软件包

2.修改/etc/exports文件

把pgk目录作为共享目录

 vim /etc/exports

3.启动 NFS 服务程序

服务端启动rpcbind服务和nfs服务

注:启动服务有先后顺序,一定要先启动rpcbind服务

4.查看共享目录

 进入客户端

在客户端创建一个目录,把服务端的共享目录挂载到该目录下

 客户端就会出现服务端的共享目录

 但是在客户端写入一个文件,发现就没有权限创建

 这是因为服务端的目录权限没有给其他用户写入权限

 我们把服务端目录的权限提升到最大

客户端可以写入文件,但是我们发现属主与属组变成了匿名用户,我们被降权了,服务端也是一样

———————————————————————————————————————————

5.修改共享配置文件的权限

vim /etc/exports

把服务端的/etc/exports文件的(rw)改为(ro),并重启

 

 客户端这次同样创建不了文件因为这次是只读系统,只能读不能写

———————————————————————————————————————————

修改服务端的/etc/exports文件,把(rw)修改为(rw,no_root_squash),只针对root用户

客户端在服务端修改前解挂,在服务端重启服务后挂载,客户端再创建一个新文件,这时客户端的属主和属组都成了root

 

即使客户端切换到lisi账号上,创建文件后,文件属主和属组依然是zxr,无论是什么用户都会被降为指定用户

———————————————————————————————————————————

6.服务卡死的解决方法和在线发布共享目录

服务端共享完目录后,客户端解挂再挂载会有一段时间卡死,所以我们用exportfs -在线共享目录 

在客户端查看共享目录

注:如果出现挂载卡死现象,可以用umount  挂载目录    -lf命令,强制解挂

7.永久挂载

vim /etc/fstab

 mount  -a    挂载/etc/fstab中的设置

5.总结

windows  共享存储服务   cifs

linux         共享存储服务   nfs

NAS

存储类型:

块存储: 硬盘 LVM  RAID

文件存储:NFS

对象存储:OSS

nfs 网络文件共享服务

1.安装软件,启动服务

yum insatll  -y          nfs-utils        rpcbind
                     端口号nfs (2049)    rpcbind (111)

systemctl start rpcbind

systemctl start nfs

systemctl enable rpcbind

systemctl enable nfs

2.住备共享目录

先准备硬盘/LVM/RAID,格式化后挂载到需要共享的目录(比如/share),并设置相应的权限chmod

777 /share    如果无需客户端写入文件则省略

3.修改共享配置文件

vim /etc/exports

共享目录        客户端地址/网段(共享参数选项,...)

4.发布共享目录 

sysemctl  restart  nfs

exportfs -avr

showmount  -e    测试目录

服务端别忘记关防火墙

5.客户端挂载使用

showmount   -e   服务端IP

mount  [-t  nfs] 服务端IP:共享目录    本地挂载点

永久挂载

vim  /etc/fstab

服务端IP:共享目录        本地挂载点       nfs       defaults,_netdev    0   0

如果客户端挂载目录出现卡死现象    umount    -lf     强制解挂

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值