linux中使用nfs共享文件
NFS需要使用远程过程调用 (RPC),也就是说,我们并不是只要启动NFS, 还需要启动RPC这个服务
服务器端
CentOS 7.4
ip:172.16.0.1
共享/tmp目录
共享/data目录给172.16.0.2
安装nfs
# yum install rpcbind
# yum install nfs-utils
# service rpcbind start
# service nfs start
设置rpcbind和nfs服务开机启动
# chkconfig nfs on
# chkconfig rpcbind on
也可以设置rpcbind和nfs服务只在系统运行级别3和5自动启动。
# chkconfig --level 35 rpcbind on
# chkconfig --level 35 nfs on
配置共享文件夹
在/etc/exports添加:
/data 172.16.0.2(rw) #对指定ip共享共享/data目录
也可以用共享给所有IP
/data *(rw,sync,no_root_squash) #共享/data目录
参数 | 作用 |
---|---|
ro | 只读模式 |
rw | 读写模式 |
root_squash | 当NFS客户端使用root用户访问时,映射为NFS服务端的匿名用户 |
no_root_squash | 当NFS客户端使用root用户访问时,映射为NFS服务端的root用户 |
sync | 同时讲数据写入到内存与硬盘中,保证不丢失数据 |
async | 优先将数据保存到内存,然后再写入硬盘,效率更高,但可能造成数据丢失 |
修改后不用重启nfs,执行以下命令生效:
# exportfs -a
添加读写权限
chmod -R 666 /data
防火墙中开放端口
RedHat在7中更改了系统软件,不再使用iptables作为系统的防火墙,而是使用了FirewallD,但是为了兼容过去的命令也可以使用iptables来设置防护规则。
需要开放rpc(111端口),nfs(2049端口),nfs挂载端口(892端口),其中111和892是tcp,udp都用。
# iptables -I INPUT -p tcp -m multiport --dports 111,892,2049 -j ACCEPT
# iptables -I INPUT -p udp -m multiport --dports 111,892 -j ACCEPT
上述配置系统重启后失效,要永久有效,需要修改/etc/sysconfig/iptables-config配置文件,详细请baidu
使用firewall,使用permanent参数,系统重启后依然有效
# firewall-cmd --zone=public --add-port=111/tcp --permanent
# firewall-cmd --zone=public --add-port=111/udp --permanent
# firewall-cmd --zone=public --add-port=892/tcp --permanent
# firewall-cmd --zone=public --add-port=892/ucp --permanent
# firewall-cmd --zone=public --add-port=2049/tcp --permanent
# systemctl restart firewalld.service //重启防火墙
# firewall-cmd --zone=dmz --list-ports //查看开放的端口
重启nfs
# service rpcbind restart
# service nfs restart
# showmount -e //查看自己共享的目录
客户端
CentOS 7.4
ip:172.16.0.2
挂载172.16.0.1:/data到本地/data目录
# mount -t nfs 172.16.0.1:/data /data
开机自动挂载
在/etc/fstab中添加
172.16.0.1:/data /data nfs defaults 0 0
添加读写权限
chmod -R 666 /data
如果还是出现其他权限问题,比如Permission denied等,可以修改文件夹的所有者为nfsnobody
chown nfsnobody.nfsnobody -R /data
最新文章
- Python之路【第一篇】:Python简介和入门
- 日期控件jsdate用法注意事项
- C# 动软生成器对应的Access数据库操作类DbHelperOleDb
- 关于转录组比对STAR软件使用
- 小C的故事(快速学C语言,,,极速版!)
- perl语言书籍教程推荐
- StyleCop学习笔记——自定义规则
- C内联汇编
- hdu 2037 今年暑假不AC (java)
- css3学习笔记之渐变
- Yeoman入门之安装及环境配置
- 转:web_submit_data函数
- S2_SQL_第一章
- css垂直居中方法总结
- EF中关于日期字值的处理
- vue 基础: 组件
- [HDU6146]Pokémon GO
- OpenCV 学习笔记 06 SIFT使用中出现版权问题error: (-213:The function/feature is not implemented)
- jmeter修改ServerAgent的默认端口号
- Java项目性能持续优化中……
热门文章
- Testing - 软件测试知识梳理 - 测试分类
- Django Rest Swagger生成api文档
- apache和tomcat的区别和联系
- [视频]K8飞刀 mysql注入点拿shell &; UDF提权教程
- 求一个集合的所有真子集 Python
- Spring Security使用报错 No bean named 'springSecurityFilterChain' is defined
- QMessageBox的使用
- Guava初识
- C# json反序列化 对象中嵌套数组 (转载)
- LINQ分页和排序,skip和Take 用法