CentOS7配置NFS网络文件系统
NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
查看是否已安装:
CentOS7:
rpm -qa | grep nfs-*
- 如果没有安装,则执行
yum install -y nfs-utils rpcbind
NFS 服务器配置文件常用参数
配置文件介绍(记得先备份):
vim /etc/exports
默认配置文件里面是没啥内容的,我们需要自己加上配置内容,一行表示共享一个目录。为了方便使用,共享的目录最好将权限设置为 777(
chmod 777 目录名
)。假设在配置文件里面加上:
/opt/mytest 192.168.0.0/55(rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check)
该配置解释:
- /opt/mytest 表示我们要共享的目录
- 192.168.0.0/55 表示内网中这个网段区间的IP是可以进行访问的,如果要任意网段都可以访问,可以用
*
号表示 - (rw,sync,all_squash,anonuid=501,anongid=501,no_subtree_check) 表示权限
- rw:是可读写(ro是只读)
- sync:同步模式,表示内存中的数据时时刻刻写入磁盘(async:非同步模式,内存中数据定期存入磁盘)
- all_squash:表示不管使用NFS的用户是谁,其身份都会被限定为一个指定的普通用户身份。(no_root_squash:其他客户端主机的root用户对该目录有至高权限控制。root_squash:表示其他客户端主机的root用户对该目录有普通用户权限控制)
- anonuid/anongid:要和root_squash或all_squash选项一同使用,表示指定使用NFS的用户被限定后的uid和gid,前提是本图片服务器的/etc/passwd中存在这一的uid和gid
- no_subtree_check:不检查父目录的权限
- 修改完后重新加载exports配置
exportfs -r #重载exports配置
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 输出详细的共享参数二、配置端口
nfs除了主程序端口2049和rpcbind的端口111是固定以外,还会使用一些随机端口,以下配置将定义这些端口,以便配置防火墙
# vim /etc/sysconfig/nfs
#追加端口配置
MOUNTD_PORT=4001
STATD_PORT=4002
LOCKD_TCPPORT=4003
LOCKD_UDPPORT=4003
RQUOTAD_PORT=4004
防火墙放开端口
# iptables -I INPUT 5 -p tcp -m tcp --dport 111 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 111 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 2049 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 2049 -j ACCEPT
# iptables -I INPUT 5 -p tcp -m tcp --dport 4001:4004 -j ACCEPT
# iptables -I INPUT 5 -p udp -m udp --dport 4001:4004 -j ACCEPT
# iptables-save >/etc/sysconfig/iptables重新启动服务
# systemctl start rpcbind.service
# systemctl enable rpcbind.service
# systemctl start nfs.service
# systemctl enable nfs.service启动顺序一定是rpcbind->nfs,否则有可能出现错误
客户端挂载
1、直接挂
# mount -t nfs nfs.st.local:/var/nfs /mnt
也可将挂载配置写入fstab文件中,与普通磁盘挂载一样,挂载时同样可以指定权限,只是类型为nfs。
2、autofs挂载
# yum -y install autofs
# vi /etc/auto.master
#添加一行
/- /etc/auto.mount
# vi /etc/auto.mount
#添加一行
/mnt -fstype=nfs,rw nfs.st.local:/var/nfs#启动服务
# systemctl start autofs
# systemctl enable autofs故障解决:
1、nfs只能挂载为nobody
同时修改服务端、客户端/etc/idmapd.conf中的Domain为一样的值,随后重启rpcidmapd服务,或重启所有服务
2、客户端无法卸载nfs目录
umount.nfs4: /var/nfs: device is busy
执行fuser -km /var/nfs/,然后再执行umount
最新文章
- PHP获取当前页面的URL
- j.APR连接器整体框图(含SSL实现分析)
- VS2013 破解
- svn学习笔记(1)入门学习----安装及创建运行仓库
- iOS开发UI篇—APP主流UI框架结构
- leetcode-Single Number III 找独数
- Mysql 排序优化与索引使用(转)
- 【POJ】【1061】/【BZOJ】【1477】青蛙的约会
- MySQL 聚簇索引
- 从vector容器中查找一个子串:search()算法
- JavaScript高级程序设计---学习笔记(一)
- .NET C#转Java没那么难,开发环境篇
- Makefile中的变量和shell变量
- Java与算法之(3) - 斐波那契数列
- 转:HTTPS 协议
- 【mysql】must reset your password using ALTER USER statement before executing this statement
- autoit脚本-从基本的函数用法开始
- MyBatis - 4.动态SQL
- 2、Qt Project之鼠标事件监控
- 备份与还原ORACLE数据库(通过CMD命令执行)
热门文章
- Scala传递参数遇到的坑
- 设置HTML的TextArea标记跟随文本内容自动设置高度
- 记ubuntu sudo无法使用,su密码不对的解决办法
- ZooKeeper设置开机启动
- 损坏的RAID5
- Module not found: Error: Can't resolve ' vue-resource'
- x-pack邮件报警功能
- Http请求详解(转)----请求+响应各字段详解
- 3.并发编程-ReentrantLock 细节说明
- 实验报告三&;&;第五周总结