你的就是我的,我的还是我的。NFS教你怎么共享文件
Posted 丁CCCCC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你的就是我的,我的还是我的。NFS教你怎么共享文件相关的知识,希望对你有一定的参考价值。
NFS共享
一、概述
NFS是一种基于TCP/IP传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
- NFS的服务实现依赖于RPC机制,以完成远程到本地的映射过程
- RPC(远端过程调用)
- 安装包需要 nfs-utils 和 rpcbind
- nfs-utils 用于NFS共享发布和访问
- rpcbind 用于RPC支持
- NFS的配置文件为 /etc/exports
- 格式: 共享的目录位置 客户机地址(权限选项)
1.1 原理图
二、在服务器使用NFS发布共享资源
2.1 安装软件
yum -y install nfs-utils rpcbind
2.2 设置共享目录
- mkdir -p /opt/wwwcc22
- 创建一个共享的目录
- chmod 777 /opt/wwwcc22
- 给这个目录最高权限
- 给这个目录最高权限
2.2 编辑共享文件
- vim /etc/exports
- 进入文件编辑
/opt/wwwcc22 192.168.253.0/24(rw,sync,no_root_squash) # 共享目录给这个网段
/share *(rw,sync) # 共享给所有主机
名词解释
名词 | 解释 |
---|---|
rw | 允许读写 |
ro | 只读 |
sync | 同步写入到内存与硬盘中 |
no_root_squash | 当客户机以root身份访问时赋予本地root权限(默认是root_squash) |
root_squash | 客户机用root用户访问该共享目录时,将root用户映射成匿名用户 |
allsquash | 所有访问用户都映射为匿名用户或用户组 |
async | 将数据先保存在内存缓冲区中,必要时才写入磁盘 |
subtree_check(默认) | 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限 |
no_subtree_check | 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限 |
anonuid=xxx | 指定NFS服务器 /etc/passwd 文件中匿名用户的UID |
anongid=xxx | 指定NFS服务器 /etc/passwd 文件中匿名用户的GID |
2.3 启动NFS程序
首先要关闭防火墙和安全功能
- systemctl stop firewalld.service
- setenforce 0
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs
- systemctl start rpcbind
- 开启服务
- systemctl start nfs
- 开启服务
- systemctl enable rpcbind
- 加入自启动
- systemctl enable nfs
- 加入自启动
netstat -anpt | grep rpcbind
查看rpcbind端口是否开启,rpcbind默认使用tcp端口111
2.4 查看本机发布的NFS共享目录
- exportfs -rv
- 发布共享
- 发布共享
三、在客户端访问NFS共享资源
3.1 安装软件包
- yum -y install nfs-utils rpcbind
3.2 开启软件
关闭防火墙和安全
- systemctl stop firewalld.service
- setenforce 0
开启服务
- systemctl start rpcbind
- 开启服务
- systemctl enable rpcbind
- 设置自启动
3.3 查看
- showmount -e 192.168.253.33
- 查看NFS服务器端共享了哪些目录
- 查看NFS服务器端共享了哪些目录
3.4 挂载
- mkdir /cc33
- 创建一个目录
- mount 192.168.253.22:/opt/wwwcc22 /cc33
- 挂载服务器的目录过来
- 挂载服务器的目录过来
自动挂载
- vim /etc/ fstab
192.168.80.22:/opt/wwwcc22 /cc33 nfs defaults, netdev 0 0
netdev:表示挂载设备需要网络
3.5 共享完成
当服务器上传文件结束后,客户端可直接读取到
四、设置一个网页共享
4.1 服务器设置
准备工作
软件安装
需要安装nfs-utils、 rpcbind、httpd软件
开启服务
- systemctl stop firewalld.service
- 关闭防火墙
- setenforce 0
- 安全机制关闭
- systemctl start rpcbind
- systemctl start nfs
- systemctl enable rpcbind
- systemctl enable nfs
- systemctl start httpd
编辑网页内容
安装完httpd后,在var目录下会自动生成一个目录
- cd /var/www/html
- 进入该目录
- vim index.html
- 编辑网页内容
设置共享文件
- vim /etc/exports
- /var/www/html 192.168.253.0/24(ro)
- 共享给80网段的设备
挂载
4.2 客户端设置
软件开启
[root@cc22 ~]# systemctl stop firewalld.service
[root@cc22 ~]# setenforce 0
[root@cc22 ~]# systemctl start rpcbind
[root@cc22 ~]# systemctl enable rpcbind
[root@cc22 ~]# systemctl start httpd
挂载
4.3 测试
访问自己网页没问题
客户端访问也没问题
以上是关于你的就是我的,我的还是我的。NFS教你怎么共享文件的主要内容,如果未能解决你的问题,请参考以下文章