博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NFS(文件共享)服务搭建与配置
阅读量:7142 次
发布时间:2019-06-29

本文共 1716 字,大约阅读时间需要 5 分钟。

hot3.png

NFS介绍

NFS是Network File System的缩写  

NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本  

NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。  

NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

NFS架构

81c100f025dd464a19c263a22990a5c09e3.jpg

NFS原理图

5d213c9b773721f4a854d6753f21b62df60.jpg

NFS服务端安装配置

 yum install -y nfs-utils rpcbind  

vim /etc/exports //加入如下内容

/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)  

保存配置文件后,执行如下准备操作  

mkdir /home/nfstestdir  

chmod 777 /home/nfstestdir  

systemctl start rpcbind  

systemctl start nfs  

systemctl enable rpcbind  

systemctl enable nfs

ps aux|grep rpc/nfs

478da869c7b59f164b6f5a92afb86139abf.jpg

netstat -lntp

dd538fbf457678153ccdd0e00e5206d6c9b.jpg

NFS配置选项

rw 读写 ro 只读 sync 同步模式,内存数据实时写入磁盘 async 非同步模式 no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大 root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户 all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户 anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

客户端挂载

yum install -y nfs-utils  

showmount -e 192.168.109.130 //该ip为NFS服务端ip  

mount -t nfs 192.168.109.130:/home/nfstestdir /mnt  

df -h  

fc49cdc1a9c99e9b3f65e5bc39449b54764.jpg

touch /mnt/cc.txt  

ls -l /mnt/cc.txt //可以看到文件的属主和属组都为1000

6a95a4f42a9a8005699d6f1177360562f24.jpg

2ab5bf61375dbf6f7e8b7b3b9f94e5d9837.jpg

exportfs命令

 常用选项

-a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录

以下操作在服务端上

vim /etc/exports //增加

/tmp/ 192.168.109.0/24(rw,sync,no_root_squash)  

exportfs -arv //不用重启nfs服务,配置文件就会生效

e7bd277008b69845abc400421ce9db17880.jpg

以下操作在客户端

mkdir /cclinux  

mount -t nfs -onolock 192.168.109.130:/tmp /cclinux  

touch /cclinux/test.txt  

ls -l !$

17a5a868b51c4fbc3969574f551a34633d4.jpg

客户端文件属主属组nobody

NFS 4版本会有该问题  客户端挂载共享目录后,不管是root用户还是普通用户,创建新文件时属主、属组为nobody

方法1:在客户端进行挂载时加上选项-O nfsvers=3

monunt -t nfs -o nfsvers=3 192.168.109.130:/tmp/ /mnt/

如果目录已经挂载,而又不想卸载,执行如下命令:

umount /mnt/monunt -t nfs -o remount,nfsvers=3 192.168.109.130:/tmp/ /mnt/

方法2:客户端和服务端都需要

vim /etc/idmapd.conf

//把“#Domain = local.domain.edu” 改为 “Domain = xxx.com” (这里的xxx.com,随意定义吧),然后再重启rpcidmapd服务

转载于:https://my.oschina.net/ccLlinux/blog/1933759

你可能感兴趣的文章
本地存储
查看>>
react-native环境配置入坑指南.
查看>>
使用qemu
查看>>
小试下新博客,一个列传行的SQL
查看>>
带你一分钟理解闭包--js面向对象编程
查看>>
MySql基本使用方法
查看>>
LAME的“命令行”
查看>>
PyQt5学习-day1 -4 退出按钮
查看>>
使用Parallel.Invoke并行你的代码
查看>>
口袋笔记VS松鼠笔记
查看>>
silverlight 将chart图倒入到excel
查看>>
LeetCode – Refresh – Word Search
查看>>
ADO.NET笔记——使用Connection连接数据库,使用Command对象的ExecuteReader()方法创建DataReader对象返回多行数据...
查看>>
HDU sum问题
查看>>
C语言基础知识汇总
查看>>
数字高程模型和地图——thematicmapping.org译文(一)
查看>>
8-5 泛型类型擦除
查看>>
正文处理命令及tar命令
查看>>
实习第三周小记-----生活在于经历 分类: 程序人生 ...
查看>>
将excel中的数据转为json格式
查看>>