nfs

简介
NFS(Network File System)即网络文件系统,它的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件

nfs特点
在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
nfs不仅适用于Linux与Unix之间实现文件共享,也能实现Linux与Windows间的文件共享功能
nfs是运行在应用层的协议,其监听于2049/tcp和2049/udp套接字上(固定端口是2049,nfs还会开启很多端口,而且这些端口不固定)
客户端认证是基于IP地址(没有用户名和密码的说法),这也是它的缺点之一
NFS网络文件系统一般用来存储共享视频、图片、附件,用户家目录等资源文件

nfs的应用场景
nfs有很多实际应用场景,以下是一些常用的场景:
多个机器共享一台CDROM或其他设备。这对于在多台机器中安装软件来说更加便宜与方便。
在大型网络中,配置一台中心NFS服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。
不同客户端可在NFS上观看影视文件,节省本地空间。
在客户端完成的工作数据,可以备份保存到NFS服务器上用户自己的路径下

架构图
在这里插入图片描述
首先服务器端启动RPC服务,并开启111端口。
服务器端启动NFS服务,并向RPC注册端口信息。
客户端启动RPC,向服务端的RPC服务请求服务端的NFS端口。
服务端的RPC服务反馈NFS端口信息给客户端。
客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

nfs配置
服务安装

//安装rpc和nfs服务
[root@server ~]# yum -y install rpcbind nfs-utils

//启动服务,同样启动两个服务,注意启动顺序
[root@server ~]# systemctl start rpcbind nfs-server

配置nfs输出目录

//创建共享目录,/hzz目录可读可写,/zzh目录只读
[root@server ~]# mkdir /lzx
[root@server ~]# mkdir /lzx

//配置共享目录的访问权限,针对客户端访问的用户设置
[root@server ~]# chmod 777 /lzx/
[root@server ~]# chmod 755 /lzx/

//编辑配置文件,配置共享目录
[root@server ~]# vim /etc/exports
/zrz 192.168.14.50/24(rw)
/zzz 192.168.14.50/24(ro)

//服务端重启服务
[root@server ~]# systemctl restart nfs-server

//在客户端挂载共享目录,先创建挂载点
[root@client ~]# mkdir /mnt/lzx
[root@client ~]# mkdir /mnt/lzx

//客户端也要安装nfs才能挂载
[root@client ~]# yum -y install rpcbind nfs-utils

//使用mount命令挂载
[root@client ~]# mount -t nfs 192.168.14.51:/zrz /mnt/lzx/
[root@client ~]# mount -t nfs 192.168.14.51:/zzz /mnt/lzx/

//永久挂载
[root@client ~]# vim /etc/fstab
192.168.14.51:/lzx /mnt/lzx nfs defaults,_netdev 0 0
192.168.14.51:/lzx /mnt/lzx nfs defaults,_netdev 0 0

//查看挂载情况
[root@client ~]# df -h
文件系统               容量  已用  可用 已用% 挂载点
/dev/mapper/rhel-root   17G  1.1G   16G    7% /
devtmpfs               901M     0  901M    0% /dev
tmpfs                  912M     0  912M    0% /dev/shm
tmpfs                  912M  8.7M  903M    1% /run
tmpfs                  912M     0  912M    0% /sys/fs/cgroup
/dev/sda1             1014M  143M  872M   15% /boot
tmpfs                  183M     0  183M    0% /run/user/0
192.168.14.51:/lzx     17G  1.1G   16G    7% /mnt/lzx
192.168.14.51:/lzx     17G  1.1G   16G    7% /mnt/lzx

案例
开放/nfs/shared目录,供所有用户查阅资料

// 服务端与客服端下载安装nfs
[root@service ~]# yum -y install nfs-utils
[root@client ~]# yum -y install nfs-utils

// 关闭防火墙与selinux
[root@service ~]# systemctl disable --now firewalld.service 
[root@service ~]# setenforce 0
[root@client ~]# systemctl disable --now firewalld.service 
[root@client ~]# setenforce 0

//创建共享目录
[root@service ~]# vim /etc/exports
[root@service ~]# cat /etc/exports
/nfs/shared
[root@service ~]# mkdir -p /nfs/shared     
[root@service ~]# systemctl restart nfs-server.service 

//客服端进行挂载
[root@client ~]# showmount -e 192.168.14.50
Export list for 192.168.14.50:
/nfs/shared *
[root@client ~]# mount -t nfs 192.168.14.50:/nfs/shared /lzx

// 测试
[root@service shared]# cd /nfs/shared/
[root@service shared]# touch zhen      // 在服务端创建一个文件
[root@client lzx]# ls        // 客服端查看
zhen
// 创建目录
[root@service ~]# mkdir /nfs/upload

// 创建用户且UID与GID均为300
[root@service ~]# useradd -r -u 300 nfs-upload
[root@service ~]# id nfs-upload 
uid=300(nfs-upload) gid=300(nfs-upload) 组=300(nfs-upload)

// 编辑共享目录
[root@service ~]# vim /etc/exports
[root@service ~]# cat /etc/exports
/nfs/upload 192.168.14.0/24(rw,anonuid=300,anongid=300,sync)

// 重启nfs-server.service 
[root@service ~]# systemctl restart nfs-server.service 

// 更改所属的用户组
[root@service ~]# chown nfs-upload.nfs-upload /nfs/upload
[root@service ~]# ll /nfs/
总用量 0
drwxr-xr-x. 2 root       root       29 9月  24 20:47 shared
drwxr-xr-x. 2 nfs-upload nfs-upload  6 9月  24 20:47 upload

// 客服端进行挂载
[root@client lzx]# showmount -e 192.168.14.50
Export list for 192.168.14.50:
/nfs/upload 192.168.14.0/24
[root@client ~]# mkdir /opt/l
[root@client l]# mount -t nfs 192.168.14.50:/nfs/upload /opt/l/

// 测试
[root@service ~]# cd /nfs/upload/
[root@service upload]# touch yy
[root@client z]# ls
yy
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值