nfs服务器--RHCE

news/2024/11/18 23:09:09/

一,简介

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

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统 中看来,那个远程主机的目录就好像是自己的一个磁盘分区一样。

由于NFS支持的功能比较多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些 端口来传输数据,因此NFS的功能所对应的端口并不固定,而是随机取用一些未被使用的小于1024的端 口用于传输。但如此一来就会产生客户端连接服务器的问题,因为客户端需要知道服务器端的相关端口才能够连接。

此时就需要RPC(Remote Procedure Call,远程过程调用)的服务。由于当服务器在启动NFS时会随机 选取数个端口号,并主动向RPC注册,所以RPC知道每个NFS功能所对应的端口号,RPC将端口号通知给 客户端,让客户端可以连接到正确的端口上去。RPC采用固定端口号port 111来监听客户端的需求并向 客户端响应正确的端口号。

注:在启动NFS之前,要先启动RPC,否则NFS会无法向RPC注册。另外,RPC若重新启动,原来注册的 数据会消失不见,因此RPC重启后,它管理的所有服务都需要重新启动以重新向RPC注册。

二,nfs配置

#基本配置 
[root@localhost ~]# yum install rpcbind[root@localhost ~]# yum install nfs-utils/etc/exports 主配置文件(文件不一定存在)
/usr/sbin/showmount 该命令主要用在client端。这个命令可以查看NFS共享出来的目录资源
#服务端(192.168.168.128)
[root@server data]# mkdir  /data
[root@server data]# cat /etc/exports/data  192.168.168.140(rw)#共享目录  主机名(权限)
#可以使用完整的IP或者是网络号,例如172.24.8.128或172.24.8.0/24或者
172.24.8.128/255.255.255.0;也可以使用*表示所有主机
[root@server data]# chmod o+w  /data/
[root@server data]# systemctl disable firewalld --now
[root@server data]# getenforce
Enforcing
[root@server data]# setenforce  0
[root@server data]# systemctl restart nfs-server
[root@server data]# showmount -e 192.168.168.128
Export list for 192.168.168.128:
/data 192.168.168.140

 权限相关参数可以写多个,多个参数之间用逗号隔开,具体相关参数说明如下:

 

#客户端(192.168.168.140)
[root@client ~]# showmount -e 192.168.168.128Export list for 192.168.168.128:/data 192.168.168.140[root@client ~]# mkdir -p /nfsclient/client-data/[root@client ~]# mount  192.168.168.128:/data  /nfsclient/client-data/[root@client ~]# df -hFilesystem               Size  Used Avail Use% Mounted ondevtmpfs                 898M     0  898M   0% /devtmpfs                    910M     0  910M   0% /dev/shmtmpfs                    910M  9.6M  901M   2% /runtmpfs                    910M     0  910M   0% /sys/fs/cgroup/dev/mapper/centos-root   37G  1.8G   36G   5% //dev/sda1               1014M  150M  865M  15% /boottmpfs                    182M     0  182M   0% /run/user/0192.168.168.128:/data     40G  6.2G   34G  16% /nfsclient/client-data

三.配置autofs自动挂载 

在一般NFS文件系统的使用过程中,如果客户端要使用服务端所提供的文件系统,可以在 /etc/rc.d/rc.local 中设置开机时自动挂载( /etc/rc.d/rc.local 文件中写入的命令,在每次启动系统用户 登录之前都会执行一次);也可以在登录系统后手动利用mount来挂载。

 #客户端配置autofs[root@client ~]# yum install autofs -y[root@client ~]# grep suibian /etc/auto.master/client  /etc/auto.suibian#本地端目录  具体挂载配置文件[root@client ~]# cat /etc/auto.suibianupload 192.168.168.128:/nfs/upload#本地端子目录 挂载参数 服务器:服务器对应目录[root@client ~]# systemctl restart autofs#触发自动挂载[root@client ~]# cd /client[root@client ~]# cd upload


http://www.ppmy.cn/news/1548094.html

相关文章

<Project-23 Navigator Portal> Python flask web 网站导航应用 可编辑界面:添加图片、URL、描述、位置移动

目的: 浏览器的地址簿太厚,如下图: 开始,想给每个 Web 应用加 icon 来提高辨识度,发现很麻烦:create image, resize, 还要挑来挑去,重复性地添加代码。再看着这些密密麻麻的含有重复与有规则的…

neo4j desktop基本入门

下载安装不在赘述,本文只记述一些neo4j的基本入门操作 连接本地neo4j数据库 1. 点击ADD添加连接 端口一般是7687 账户名和密码忘记了,可以通过neo4j web(默认为neo4jneo4j://localhost:7687/neo4j - Neo4j Browser)重置密码 AL…

C++和OpenGL实现3D游戏编程【连载18】——加载OBJ三维模型

1、本节课要实现的内容 以前我们加载过立方体木箱,立方体的顶点数据都是在程序运行时临时定义的。但后期如果模型数量增多,模型逐步复杂,我们就必须加载外部模型文件。这节课我们就先了解一下加载OBJ模型文件的方法,这样可以让编程和设计进行分工合作,极大丰富我们游戏效…

开发语言中,堆区和栈区的区别

非javascript 1. 存储方式 栈区:栈区(Stack)是由系统自动分配的内存区域,通常用于存储函数的局部变量、参数、返回地址等。栈区的内存按照先进后出的顺序进行管理。堆区:堆区(Heap)是由程序员…

技术理论||01无人机倾斜摄影原理

1.1 无人机倾斜摄影测量原理 倾斜摄影测量技术是在摄影测量的基础上发展而来的,它突破了传统摄影测量只能从单一的垂直角度拍摄影像的局限性,能在同一高度从多个角度获取地物信息。   该技术通过在同一飞行平台上搭载多视角倾斜相机(通常为五镜头相机),在同一航高从垂直和倾斜…

第八章 利用CSS制作导航菜单

8.1 水平顶部导航栏 1.简单水平导航栏的设计和实现 1.导航栏的创建 <nav>标签是HIML5新增的文档结构标签&#xff0c;用于标记导航栏&#xff0c;以便后续与网站的其他内容整合&#xff0c;所以常用<nav>标签在页面上创建导航栏菜单区域 代码 <!DOCTYPE ht…

Axure设计之文本编辑器制作教程

文本编辑器是一个功能强大的工具&#xff0c;允许用户在图形界面中创建和编辑文本的格式和布局&#xff0c;如字体样式、大小、颜色、对齐方式等&#xff0c;在Web端实际项目中&#xff0c;文本编辑器的使用非常频繁。以下是在Axure中模拟web端富文本编辑器&#xff0c;来制作文…

【计算机网络】UDP网络程序

一、服务端 1.udpServer.hpp 此文件负责实现一个udp服务器 #pragma once#include <iostream> #include <string> #include <cstdlib> #include <cstring> #include <functional> #include <strings.h> #include <unistd.h> #incl…