热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7中配置NFS服务

在做dockervolume挂载的实验,想要挂载一个网络卷,所以学习了一些CentOS7中配置nfs服务的知识。实验环境:NFS服务器地址:192.168.0.105系统:CentOS

在做docker volume挂载的实验,想要挂载一个网络卷,所以学习了一些CentOS7中配置nfs服务的知识。
实验环境:

NFS服务器
地址:192.168.0.105
系统:CentOS Linux release 7.2.1511 (Core)

NFS客户端
地址:192.168.0.104
系统:CentOS Linux release 7.2.1511 (Core)

1、服务端首先安装nfs-utilsrpcbind

[root@localhost etc]# yum -y install nfs-utils rpcbind

修改/etc/exports文件,添加配置

[root@localhost etc]# vi /etc/exports
/opt/test/ 192.168.0.105/24(rw,no_root_squash,no_all_squash,sync,anOnuid=501,anOngid=501)

保存后,到/opt目录,创建test目录作为共享目录

[root@localhost etc]# cd /opt/
[root@localhost opt]# mkdir test

2、服务端生效配置文件

[root@localhost opt]# exportfs -r

配置文件说明:

  • /opt/test: 共享目录

  • 192.168.0.105/24: 可以为一个网段,一个IP,也可以是域名,域名支持通配符 如: *.qq.com

  • rw:read-write,可读写;

  • ro:read-only,只读;

  • sync:文件同时写入硬盘和内存;

  • async:文件暂存于内存,而不是直接写入内存;

  • no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

  • root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

  • all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

  • anonuid:匿名用户的UID值,可以在此处自行设定。

  • anongid:匿名用户的GID值。

3、服务端启动NFS服务

[root@localhost opt]# systemctl start nfs rpcbind

为了避免麻烦,关闭防火墙

[root@localhost opt]# systemctl stop firewalld

关闭防火墙会降低安全性,实验环境为内网环境,相对还好。如果在外网环境,需要将服务器的24端口加入防火墙的通过列表

如果启动了iptables服务,同样也关闭

[root@localhost opt]# systemctl stop iptables

4、客户端安装nfs-utils

[root@localhost ~]# yum install -y nfs-utils 

查看服务端的情况:

[root@localhost ~]# showmount -e 192.168.0.105
Export list for 192.168.0.105:
/opt/test 192.168.0.105/24
[root@localhost ~]# rpcinfo -p 192.168.0.105
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 49340 status
100024 1 tcp 42911 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 59176 nlockmgr
100021 3 udp 59176 nlockmgr
100021 4 udp 59176 nlockmgr
100021 1 tcp 33527 nlockmgr
100021 3 tcp 33527 nlockmgr
100021 4 tcp 33527 nlockmgr

客户端挂载目录到/mnt

[root@localhost ~]# mount -t nfs 192.168.0.105:/opt/test /mnt

测试对共享目录的操作情况:

[root@localhost ~]# cd /mnt
[root@localhost mnt]# ls
[root@localhost mnt]# touch hahaha
[root@localhost mnt]# ls
hahaha

服务端查看文件:

[root@localhost ~]# cd /opt/test/
[root@localhost test]# ll
总用量 0
-rw-r--r--. 1 root root 0 64 20:01 hahaha

NFS服务最基本的功能就完成了,详细的说明可以看鸟哥的私房菜,非常非常详细!
鸟哥私房菜–>NFS 服务器(简体)
鸟哥私房菜–>NFS 服务器(繁体)


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • linux树莓派和n1,树莓派 斐讯N1 搭建NFS
    什么是NFS?1台Linux主机的磁盘可以通过网络挂载到其他Linux主机上,实现云盘效果。NFS是一套软件和协议,同时也是一种文件系统& ... [详细]
  •  在使用PHP多年之后,我对PHP的优势和劣势已经非常清楚,与后起之秀Golang相比,两者已经不在一个重量级。 PHP更像是70kg级别的选手,脚本语言,极速开发,部署方便,性能 ... [详细]
  • centos samba 看不到共享目录_samba共享服务
    会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送 ... [详细]
  • Jenkins自动部署SpringBoot项目实践教程
    Jenkins自动部署SpringBoot项目实践教程-目录1、Jenkins安装2、Jenkins插件安装3、点击添加凭据4、Jenkins环境配置4.1、全局配置4.2、系统配 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • helm V3版本
    1、引入(1)之前方式部署应用基本过程*编写yaml文件**deployment**Service**Ingress(负载均衡、 ... [详细]
  • 大数据学习环境安装关于防火墙​centos7使用的是firewalld,centos之前使用的是iptablesCentOS7关闭防火墙查看防火墙状态sudosy ... [详细]
  • uniapp运行到浏览器跨域H5页面的跨域问题解决方案
    官方文档对跨域的解决方案推荐:https:ask.dcloud.net.cnarticle35267更方便的解决方案项目根目录直接创建一个vue.config.js文 ... [详细]
  • jenkins中 Slave使用Docker
    原因就不说了,网上的自动化测试Docker教程太不靠谱,还是学学官网吧。目的:在现在各种虚拟化的大条件下,还在建立N个节点机 ... [详细]
  • SpringBoot 整合 ShardingJDBC(mysql8.0)(简单入门含gitee源码)
    SpringBoot整合Sharding-JDBC(mysql-8.0)感谢​我也是从网上的资源查找后进行学习的,所以该项目仅适用与个人学习,不建议使用于生产项目。​这里感谢如下: ... [详细]
  • Docker基础和常用命令详解_docker
    这篇文章主要介绍了Docker基础和常用命令方法的相关资料, ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
author-avatar
小新亚笔
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有