NFS网络文件共享服务

NFS网络文件共享服务

NFS(network file system)网络文件系统

可以把对方主机资源直接挂载到自己电脑上,比FTP更加方便

  明文传输   没有认证机制 安全性很差 只在局域网使用

  依赖RPC(远程过程调用)

  需要安装nfs-utils(提供NFS服务),rpcbind(提供RPC服务)软件包

  系统服务:nfs、rpcbind

  共享配置文件:/etc/exports

Windows 共享存储服务   CIFS
Linux 共享存储服务         NFS

存储类型
块存储: 硬盘  LVM  RAID
文件存储:  NFS
对象存储:  OSS

NFS服务流程

  1. 服务器将/dev/sdb1磁盘进行分区并格式化,挂载到/data目录(根据需求自定义)
  2. 服务器开启rpcbind远程调用服务
  3. 服务器开启NFS服务,注册到rpcbind上。NFS通过/etc/exports配置文件将文件共享
  4. 客户端启动rpcbind服务,并挂载到本地目录(mount -t nfs)

        保证RPCbind先启动 NFS再启动!

配置NFS服务

1)安装软件,启动服务

rpm -q nfs-utils rpcbind #查看是否安装
yum install -y nfs-utils rpcbind #服务端
yum install -y rpcbind #客户端

保证RPCbind先启动 NFS再启动!

##########服务端##########
systemctl start rpcbind
systemctl start nfs
# 保证RPCbind先启动 NFS再启动!
systemctl enable rpcbind
systemctl enable nfs
#设置开机自启

##########客户端##########
systemctl start rpcbind 

服务端口 nfs (2049)  rpcbind (111) [重中之重]

2)准备共享目录

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

mount -t xfs /dev/sdb1 /share
chmod 777 /share    
#如果无需客户端写入文件则省略

3)修改共享配置文件
 

vim /etc/exports

    共享目录   客户端地址/网段(共享参数选项,...)
    /share 192.168.80.0/24(rw)
        #客户端挂载默认使用匿名方式
        #root默认降权到nobody匿名(other其他用户权限)
        #无法进行目录创建等操作(视文件夹设定的权限而定)
    /share2 192.168.80.0/24(rw,no_root_squash) 
    #加上no_root_squash,客户机root不会降权

    /share1 192.168.80.0/24(ro)
    #与上方软件级别的设置不同 这里直接使用系统级别的read only
    #会显示无法创建 只读文件系统

    /share4 192.168.80.102(rw) 192.168.80.103(ro)
    #102主机可读可写 103主机只能读取

    /share3 192.168.80.0/24(rw,all_squash,anonuid=1001,anongid=1001)
    #客户端访问用户全部降价为服务端UID 1001的用户
    
共享参数选项
rw     读写
ro     只读

sync   数据同步写入内存与硬盘(不先写入缓存在写入硬盘,更安全,但是损耗IO)
async  数据先保存在内存缓冲区,必要才写入磁盘(写入性能高,但是不安全)

no_root_squash  客户机用root访问时赋予本地root权限(默认为root_squash)
root_squash     客户机用root访问时降级为匿名用户
all_squash      客户机所有访问用户都降级为匿名用户匿名组
anonuid=xxx    指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx    指定NFS服务器/etc/group文件中匿名用户的GID
#anonuid=1001 1001为zhangsan的UID 匿名用户默认被降权为zhangsan用户
#anonuid=1001,anongid=1001 1001为zhangsan的UID与GID 匿名用户默认被降权为zhangsan用户

no_subtree_check 即使输出的目录是一个子目录 NFS服务器也不检查父目录的权限,可以提高效率

服务端修改配置文件,重启服务systemctl restart nfs.会需要一定时间设置。

客户端仍然在挂载状态可能会卡死,若需要马上刷新可以客户端umount解挂再挂载

4)发布共享目录

systemctl restart nfs
#或者
exportfs  -avr #在线发布,可以避免服务端重启服务后客户端的卡死

showmount -e   #查看共享目录情况

5)客户端挂载使用

showmount -e 192.168.80.101 #服务端IP      
#查看共享目录情况

mkdir /data
mount -t nfs 192.168.80.101:/share /data #可以不用[-t nfs]会自动识别
#mount [-t nfs] 服务端IP:共享目录  本地挂载点
vim /etc/fstab  #写入fstab实现开机挂载
    #服务端IP:共享目录  本地挂载点 nfs  defaults,_netdev  0  0   #如果是通过网络必须加_netdev
    192.168.80.101:/share  /data  nfs  defaults,_netdev  0  0

若服务端nfs服务停止或重启导致客户端挂载目录出现卡死现象,umount /share无法解挂

umount -lf 
强制解挂
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值