Linux运维笔记-文档总结-NFS文件共享(网络文件系统)

简介:

转自:http://m.blog.csdn.net/blog/index?username=Ningdaxing1994

觉得这个写得不错哈哈~


以下所有操作都是在Red-hat 7.0上


1.NFS的介绍

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

以下是NFS最显而易见的好处:

1. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。

2. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。

3. 一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

这里写图片描述

这里写图片描述

2.nfs服务器配置

1.安装服务以及配置防火墙策略

在配置之前先安装nfs-utils

yum install nfs-utils -y

systemctl start nfs-server

systemctl enable nfs-server.service ##开启nfs服务

如果开启防火墙还要访问nfs,要添加以下的服务:

systemctl start firewalld

firewall-cmd –permanent –add-service=nfs

firewall-cmd –permanent –add-service=rpc-bind

firewall-cmd –permanent –add-service=mountd

firewall-cmd –reload ##刷新

这里写图片描述

2.建立一个共享目录并编写/etc/exports 对客户端访问进行设置

mkdir /public

chmod 777 /public/

touch /public/test{1..3}

vim /etc/exports

/public (sync) ##将/public共享给所有人并且数据同步 代表所有人,sync代表数据同步

exportfs -rv ##提示:对配置的文件进行刷新,一定不能重启nfs服务,那样会导致服务卡住,这是已知的bug

这里写图片描述

3.访问控制

vim /etc/exports

/public 172.25.0.0/24(sync) ##只允许172.25.0.0/24网段的ip访问

/public *.example.com(sync) ##只允许同一个域名的主机访问

/public 172.25.254.20(ro,sync) 172.25.254.21(rw,sync) ## 允许20主机只读访问 ,21主机读写访问

/public *(rw,sync,no_root_squash) ##获得root权限

这里写图片描述

访问控制 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述 
这里写图片描述

4.永久挂载NFS文件系统:

vim /etc/fstab

172.25.254.110:/public /mnt nfs defaults 0 0

rw:挂载可读写的文件系统

ro:挂载只读文件系统

vers=4:尝试只使用指定的NFS版本进行挂载。如果服务器不支持该版本,则挂载请求失败

soft:如果NFS请求超时,三次尝试后返回错误。权衡数据完整性与提高客户端响应性。(默认行为hard,将无限期地重试)

5.保护NFS输出

两台主机都得更改主机名 一个server10 一个desktop10,这是因为,我们需要下载对应的keytab。

在两台主机,都加入kerberos认证域,使用ldap用户:

desktop和server都安装yum install authconfig-gtk.x86_64 sssd krb5-workstation.x86_64 ##sssd是控制用户人数,authconfig-gtk可视化配置ldap

在server上:

安装kerberos服务所需的keytab:
wget http://172.25.254.254/pub/keytabs/server20.keytab -O /etc/krb5.keytab 采用ktutil命令检测keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list

重启服务:
systemctl start nfs-secure-server ##server和desktop开启的服务不同systemctl enable nfs-secure-server.service 编写/etc/exports,让拥有证书的用户才可以访问
vim /etc/exports
/public         *(rw,sec=krb5p)  ##使用kerberos验证exportfs -rv1234567891011121314

在desktop上:

安装kerberos服务所需的keytab:
wget http://172.25.254.254/pub/keytabs/desktop20.keytab -O /etc/krb5.keytab 采用ktutil命令检测keytab
ktutilktutil:  rkt /etc/krb5.keytabktutil:  list
重启服务:(与server主机重启的服务不相同,少了个service)
systemctl start nfs-secure
systemctl enable nfs-secure
做本地解析
vim /etc/hosts172.25.254.210 server10.example.com123456789101112

这里写图片描述 
这里写图片描述 
这里写图片描述
这里写图片描述

测试:

[root@desktop10 ~]# su - studentLast login: Sat Jun  3 23:37:20 EDT 2017 on pts/1[student@desktop10 ~]$ cd /mnt
-bash: cd: /mnt: Permission denied ##student用户没有证书所以访问被拒[student@desktop10 ~]$ su - ldapuser1    ##必须从普通用户过去,获得密码权限。Password: Last login: Sat Jun  3 23:54:20 EDT 2017 on pts/0su: warning: cannot change directory to /home/guests/ldapuser1: No such file or directorymkdir: cannot create directory '/home/guests': Permission denied
-bash-4.2$ cd /mnt
-bash-4.2$ ls
file  file2  file3 123456789101112

这里写图片描述



本文转自 yab109 51CTO博客,原文链接:http://blog.51cto.com/12768057/1933966,如需转载请自行联系原作者

相关文章
|
1月前
|
运维 应用服务中间件 nginx
docker运维查看指定应用log文件位置和名称
通过本文的方法,您可以更高效地管理和查看Docker容器中的日志文件,确保应用运行状态可控和可监测。
154 28
|
5月前
|
运维
【运维基础知识】用dos批处理批量替换文件中的某个字符串(本地单元测试通过,部分功能有待优化,欢迎指正)
该脚本用于将C盘test目录下所有以t开头的txt文件中的字符串“123”批量替换为“abc”。通过创建批处理文件并运行,可实现自动化文本替换,适合初学者学习批处理脚本的基础操作与逻辑控制。
351 56
|
4月前
|
存储 人工智能
从零到一打造知识网络:你选对文档软件了吗?
在信息爆炸时代,学术工作者面临高效管理知识的挑战。传统文档管理软件难以满足“知识动态积累”与“多领域交叉”的需求。动态结构化看板通过多维度卡片化管理,以标签、层级和网状关联方式动态呈现文档和笔记,实现知识的系统化整合。例如多维标签系统和文档流动视图,能够帮助快速检索和关联资料,成为学术研究的“第二大脑”。
|
5月前
|
运维 监控 网络协议
|
4月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
375 3
|
4月前
|
缓存 运维 监控
【运维必备知识】Linux系统平均负载与top、uptime命令详解
系统平均负载是衡量Linux服务器性能的关键指标之一。通过使用 `top`和 `uptime`命令,可以实时监控系统的负载情况,帮助运维人员及时发现并解决潜在问题。理解这些工具的输出和意义是确保系统稳定运行的基础。希望本文对Linux系统平均负载及相关命令的详细解析能帮助您更好地进行系统运维和性能优化。
199 3
|
5月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
225 1
|
7月前
|
存储 运维 监控
运维.Linux下执行定时任务(中:Cron的常用替代方案)
本文是关于Linux下执行定时任务系列的第二部分,主要探讨除了Cron之外的常用替代方案。介绍了Systemd Timers、Anacron及at命令三种工具,它们分别适用于不同场景下的定时任务需求。文章详细分析了每种工具的特点、工作原理、基本使用方法及其高级功能,并对比了它们各自的优缺点,帮助读者根据实际情况选择最适合的定时任务解决方案。此外,还提供了指向具体实例和进一步阅读材料的链接。
291 4
运维.Linux下执行定时任务(中:Cron的常用替代方案)
|
7月前
|
移动开发 运维 网络协议
运维必备 | Linux netstat命令详解
运维必备 | Linux netstat命令详解
164 8
|
7月前
|
运维 Ubuntu 安全
在Linux中,如何配置NFS共享?
在Linux中,如何配置NFS共享?