当前位置: 首页 > news >正文

Linux中网络文件系统nfs使用

一、nfs服务

NFS(Network File System) 是一种用于在网络中共享文件的协议,允许不同操作系统(如 Linux、Unix、MacOS 等)之间进行文件共享。

NFS 的工作原理基于客户端-服务器模型,服务器提供共享文件系统,客户端通过挂载这些文件系统来访问共享的文件。

二、安装配置nfs

1、准备两台虚拟机。

本文使用centos7和 fedora 27系统版本

server:192.168.18.134

client:192.168.18.130

确保两台机器都安装了nfs服务

# rpm命令查看是否安装,没有安装直接yum安装
# 服务端
[server root ~] # ip a|grep ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.18.134/24 brd 192.168.18.255 scope global noprefixroute ens33
[server root ~] # rpm -qa|grep nfs-utils
[server root ~] # yum -y install nfs-utils# 客户端
[nfsclient root ~] # ip a|grep ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000inet 192.168.18.130/24 brd 192.168.18.255 scope global ens33
[nfsclient root ~] # rpm -qa|grep nfs-utils
nfs-utils-2.1.1-6.rc5.fc27.x86_64

2、准备一个专门用作nfs的磁盘分区,格式化,挂载(server端)

# 这里使用sdb6作为nfs挂载点
[server root ~] # lsblk 
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0   40G  0 disk 
├─sda1              8:1    0  512M  0 part /boot
├─sda2              8:2    0    4G  0 part [SWAP]
└─sda3              8:3    0 35.5G  0 part /
sdb                 8:16   0   20G  0 disk 
├─sdb1              8:17   0    5G  0 part 
├─sdb2              8:18   0    1K  0 part 
├─sdb5              8:21   0    5G  0 part 
└─sdb6              8:22   0    6G  0 part 
sr0                11:0    1  4.4G  0 rom  
[server root ~] # df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  900M     0  900M   0% /dev
tmpfs          tmpfs     910M     0  910M   0% /dev/shm
tmpfs          tmpfs     910M  9.6M  901M   2% /run
tmpfs          tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/sda3      xfs        36G  3.7G   32G  11% /
/dev/sda1      xfs       509M  138M  371M  28% /boot
tmpfs          tmpfs     182M     0  182M   0% /run/user/0# 格式化分区
[server root ~] # mkfs.ext4 /dev/sdb6 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
393216 inodes, 1572864 blocks
78643 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1610612736
48 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736Allocating group tables: done                            
Writing inode tables: done                            eating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

创建目录,挂载

[server root ~] # mkdir /nfs-share
[server root ~] # mount /dev/sdb6  /nfs-share/
[server root ~] # df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  900M     0  900M   0% /dev
tmpfs          tmpfs     910M     0  910M   0% /dev/shm
tmpfs          tmpfs     910M  9.6M  901M   2% /run
tmpfs          tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/sda3      xfs        36G  3.7G   32G  11% /
/dev/sda1      xfs       509M  138M  371M  28% /boot
tmpfs          tmpfs     182M     0  182M   0% /run/user/0
/dev/sdb6      ext4      5.8G   24M  5.5G   1% /nfs-share

编写exports配置文件,直接写192.168.18.0/24整个网段

[server root ~] # cat /etc/exports
/nfs-share 192.168.18.0/24(rw)

重启nfs服务,关闭防火墙,selinux设置为disabled

[server root ~] # systemctl status nfs-server
● nfs-server.service - NFS server and servicesLoaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)Active: active (exited) since Wed 2024-11-27 16:51:15 CST; 8s agoProcess: 7636 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)Process: 7619 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)Process: 7618 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)Main PID: 7619 (code=exited, status=0/SUCCESS)CGroup: /system.slice/nfs-server.serviceNov 27 16:51:15 server systemd[1]: Starting NFS server and services...
Nov 27 16:51:15 server systemd[1]: Started NFS server and services.
[server root ~] # systemctl stop firewalld
[server root ~] # setenforce 0
setenforce: SELinux is disabled

或者防火墙开启nfs访问,重新启动nfs服务

server root ~] # firewall-cmd --zone=public --add-service=nfs --permanent
success
[server root ~] # firewall-cmd --reload
success
[server root ~] # systemctl restart nfs-server
[server root ~] # 

 

nfs服务已正常挂载,挂载目录为/nfs-share

[server root ~] # cat /etc/exports
/nfs-share 192.168.18.0/24(rw)
[server root ~] # exportfs 
/nfs-share    	192.168.18.0/24
[server root ~] # df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  900M     0  900M   0% /dev
tmpfs          tmpfs     910M     0  910M   0% /dev/shm
tmpfs          tmpfs     910M  9.6M  901M   2% /run
tmpfs          tmpfs     910M     0  910M   0% /sys/fs/cgroup
/dev/sda3      xfs        36G  3.7G   32G  11% /
/dev/sda1      xfs       509M  138M  371M  28% /boot
tmpfs          tmpfs     182M     0  182M   0% /run/user/0
/dev/sdb6      ext4      5.8G   24M  5.5G   1% /nfs-share

3、客户端访问

首先先创建目录,然后挂载服务端IP+目录

[nfsclient root ~] # df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                   tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                   tmpfs     2.0G  4.6M  2.0G   1% /run
tmpfs                   tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/fedora-root xfs        15G  5.2G  9.9G  35% /
tmpfs                   tmpfs     2.0G     0  2.0G   0% /tmp
/dev/nvme0n1p1          ext4       40G  182M   37G   1% /data
/dev/sda1               ext4      976M  117M  793M  13% /boot
tmpfs                   tmpfs     394M     0  394M   0% /run/user/0[nfsclient root ~] # mkdir /nfs-mountpoint
[nfsclient root ~] # mount -t nfs 192.168.18.134:/nfs-share /nfs-mountpoint
[nfsclient root ~] # df -TH
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  2.1G     0  2.1G   0% /dev
tmpfs                     tmpfs     2.1G     0  2.1G   0% /dev/shm
tmpfs                     tmpfs     2.1G  4.9M  2.1G   1% /run
tmpfs                     tmpfs     2.1G     0  2.1G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   xfs        17G  5.6G   11G  35% /
tmpfs                     tmpfs     2.1G     0  2.1G   0% /tmp
/dev/nvme0n1p1            ext4       43G  191M   40G   1% /data
/dev/sda1                 ext4      1.1G  123M  831M  13% /boot
tmpfs                     tmpfs     413M     0  413M   0% /run/user/0
192.168.18.134:/nfs-share nfs4      6.3G   26M  5.9G   1% /nfs-mountpoint

4、测试创建文件或者目录是否正常访问

# server端正常创建文件
[server root /nfs-share] # ls
lost+found
[server root /nfs-share] # touch test# 客户端创建失败了
[nfsclient root /nfs-mountpoint] # ll
total 16
drwx------ 2 root root 16384 Nov 27 16:31 lost+found
-rw-r--r-- 1 root root     0 Nov 28 08:48 test
[nfsclient root /nfs-mountpoint] # touch test2
touch: cannot touch 'test2': Permission denied

因为服务端设置的other权限是r+x权限,没有写的权限,所有需要加w权限

[server root /nfs-share] # cat /etc/exports
/nfs-share 192.168.18.0/24(rw)
[server root /nfs-share] # ls -ld /nfs-share/
drwxr-xr-x 3 root root 4096 Nov 28 08:48 /nfs-share/
[server root /nfs-share] # ls -ld /nfs-share/
drwxr-xrwx 3 root root 4096 Nov 28 08:48 /nfs-share/# 客户端重新创建文件
[nfsclient root /nfs-mountpoint] # touch test2
[nfsclient root /nfs-mountpoint] # ls
lost+found  test  test2
[nfsclient root /nfs-mountpoint] # ls -ld /nfs-mountpoint/
drwxr-xrwx 3 root root 4096 Nov 28 08:50 /nfs-mountpoint/
[nfsclient root /nfs-mountpoint] # mkdir KFC
[nfsclient root /nfs-mountpoint] # ls -l
total 20
drwxr-xr-x 2 nobody nobody  4096 Nov 28 09:45 KFC
drwx------ 2 root   root   16384 Nov 27 16:31 lost+found
-rw-r--r-- 1 root   root       0 Nov 28 08:48 test
-rw-r--r-- 1 nobody nobody     0 Nov 28 08:50 test2

5、配置永久挂载

客户端配置/etc/fstab,重启reboot

[nfsclient root /nfs-mountpoint] # vim /etc/fstab # 
# /etc/fstab
# Created by anaconda on Wed Dec 21 10:49:11 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/fedora-root /                       xfs     defaults        0 0
UUID=8d0e84a0-5871-47cb-80b1-ccdc548d1443 /boot                   ext4    defaults        1 2
/dev/mapper/fedora-swap swap                    swap    defaults        0 0
/dev/nvme0n1p1 /data                        ext4    defaults        0 0
192.168.18.134:/nfs-share       /nfs-mountpoint nfs     defaults 0 0
~                                                                                              
~   [nfsclient root /nfs-mountpoint] # reboot
Connection closing...Socket close.Connection closed by foreign host.Disconnected from remote host(fedora) at 08:52:25.......
Connecting to 192.168.18.130:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed Nov 27 16:15:42 2024 from 192.168.18.1
[nfsclient root ~] # df -Th
Filesystem                Type      Size  Used Avail Use% Mounted on
devtmpfs                  devtmpfs  2.0G     0  2.0G   0% /dev
tmpfs                     tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                     tmpfs     2.0G  4.6M  2.0G   1% /run
tmpfs                     tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/mapper/fedora-root   xfs        15G  5.2G  9.9G  35% /
tmpfs                     tmpfs     2.0G     0  2.0G   0% /tmp
/dev/nvme0n1p1            ext4       40G  182M   37G   1% /data
/dev/sda1                 ext4      976M  117M  793M  13% /boot
192.168.18.134:/nfs-share nfs4      5.8G   24M  5.5G   1% /nfs-mountpoint

相关文章:

Linux中网络文件系统nfs使用

一、nfs服务 NFS&#xff08;Network File System&#xff09; 是一种用于在网络中共享文件的协议&#xff0c;允许不同操作系统&#xff08;如 Linux、Unix、MacOS 等&#xff09;之间进行文件共享。 NFS 的工作原理基于客户端-服务器模型&#xff0c;服务器提供共享文件系统…...

气膜建筑:打造全天候安全作业空间,提升工程建设效率—轻空间

在现代建筑工程中&#xff0c;施工环境的管理和作业效率是决定项目进度和质量的关键因素。然而&#xff0c;施工过程中常常会受到天气变化的影响&#xff0c;诸如大风、雨雪、沙尘等恶劣天气常常延误工期&#xff0c;增加施工难度。为了解决这一问题&#xff0c;气膜建筑以其独…...

【HarmonyOS学习日志(10)】一次开发,多端部署之功能级一多开发,工程级一多开发

功能级一多开发 SysCap机制介绍 HarmonyOS使用SysCap机制&#xff08;即SystemCapability&#xff09;&#xff0c;可以帮助开发者仅关注设备的系统能力&#xff0c;而不用考虑成百上千种具体的设备类型。 在过去&#xff0c;开发不同设备上的应用就用不同设备的SDK进行开发&…...

dmdba用户资源限制ulimit -a 部分配置未生效

dmdba用户资源限制ulimit -a 部分配置未生效 1 环境介绍2 数据库实例日志报错2.1 mpp01 实例日志报错2.2 mpp02 实例日志报错 3 mpp02 服务器资源限制情况4 关闭SELinux 问题解决4.1 临时关闭 SELinux4.2 永久关闭 SELinux 5 达梦数据库学习使用列表 1 环境介绍 Cpu x86 Os Ce…...

【Code First】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列 &#x1f…...

如何在谷歌浏览器中切换DNS服务器

在浏览网页时&#xff0c;DNS&#xff08;域名系统&#xff09;服务器的作用是将您输入的网址转换为计算机可以理解的IP地址。有时&#xff0c;您可能需要更改默认的DNS服务器以提升网络速度或解决访问问题。本文将详细介绍如何在谷歌浏览器中切换DNS服务器&#xff0c;并在此过…...

Spring Cloud Stream实现数据流处理

1.什么是Spring Cloud Stream&#xff1f; Spring Cloud Stream的核心是Stream&#xff0c;准确来讲Spring Cloud Stream提供了一整套数据流走向&#xff08;流向&#xff09;的API&#xff0c; 它的最终目的是使我们不关心数据的流入和写出&#xff0c;而只关心对数据的业务处…...

列表上移下移功能实现

后台管理某列表需实现上移下移功能&#xff0c;并与前端展示列表排序相关。 现将开发完成过程笔记记录下来。 目录 列表增加属性 JQuery脚本 服务端 控制器 服务层 总结 列表增加属性 在循环渲染时&#xff0c;在table表格的tr上增加id和排序的属性值&#xff0c;以便传…...

升级智享 AI 直播三代:领航原生直播驶向自动化运营新航道

在瞬息万变的数字商业世界&#xff0c;直播行业恰似一艘破浪前行的巨轮&#xff0c;原生直播作为初始 “航船”&#xff0c;在历经风雨后&#xff0c;终于迎来智享 AI 直播三代这股强劲 “东风”&#xff0c;校准航向&#xff0c;开启自动化运营的全新航道&#xff0c;驶向一片…...

Llmcad: Fast and scalable on-device large language model inference

题目&#xff1a;Llmcad: Fast and scalable on-device large language model inference 发表于2023.09 链接&#xff1a;https://arxiv.org/pdf/2309.04255 声称是第一篇speculative decoding边缘设备的论文&#xff08;不一定是绝对的第一篇&#xff09;&#xff0c;不开源…...

Hbase2.2.7集群部署

环境说明 准备三台服务器&#xff0c;分别为&#xff1a;bigdata141&#xff08;作为Hbase主节点&#xff09;、bigdata142、bigdata143确保hadoop和zookeeper集群都先启动好我这边的hadoop版本为3.2.0&#xff0c;zookeeper版本为3.5.8 下载安装包 下载链接&#xff1a;In…...

【青牛科技】D1671 75Ω 带4级低通滤波的单通道视频放大电 路芯片介绍

概 述 &#xff1a; D1671是 一 块 带 4级 低 通 滤 波 的 单 通 道 视 频 放 大 电 路 &#xff0c; 可 在3V或5V的 低 电 压 下 工 作 。 该 电 路 用 在 有 TV影 象 输 出 功 能 的 产 品 上 面&#xff0c;比如 机 顶 盒 &#xff0c;监 控 摄 象 头 &#xff0c;DVD&#…...

[NeurIPS 2022] Leveraging Inter-Layer Dependency for Post-Training Quantization

Contents IntroductionMethodExperimentsReferences Introduction 作者提出一种端到端的 PTQ 训练策略 Network-Wise Quantization (NWQ)&#xff0c;并通过 Annealing Softmax (ASoftmax) 和 Annealing Mixup (AMixup) 改进了 AdaRound&#xff0c;降低了训练收敛难度 Metho…...

ubuntu+ROS推视频流至网络

目录 概述 工具 ros_rtsp 接受流 web_video_server 源码安装 二进制安装 ros接收rtsp视频流 总结 概述 ros_rtsp功能包可以将ros视频流以rtsp形式推送 web_video_server功能包可以将ros视频话题推HTTP流 rocon_rtsp_camera_relay可以接受同一网段下的rtsp视频流输出为…...

PHP 去掉特殊不可见字符 “\u200e“

描述 最近在排查网站业务时&#xff0c;发现有数据匹配失败的情况 肉眼上完全看不出问题所在 当把字符串 【M24308/23-14F‎】复制出来发现 末尾有个不可见的字符 使用删除键或左右移动时才会发现 最后测试通过 var_dump 打印 发现这个"空字符"占了三个长度 &#xf…...

深度学习—BP算法梯度下降及优化方法Day37

梯度下降 1.公式 w i j n e w w i j o l d − α ∂ E ∂ w i j w_{ij}^{new} w_{ij}^{old} - \alpha \frac{\partial E}{\partial w_{ij}} wijnew​wijold​−α∂wij​∂E​ α为学习率 当α过小时&#xff0c;训练时间过久增加算力成本&#xff0c;α过大则容易造成越过最…...

elasticsearch8.16 docker-compose 多机器集群安装

在网上找了一圈, 发现要么就是单机版的部署了多个节点, 很少有多台机器部署集群的, 有些就拿官网的例子写一写, 没有实战经验, 下面分享一个教程, 实实在在的多台机器, 每台机器部署2个节点的例子 先上.env , docker-compose.yml文件, 这个文件是核心, 里面掺杂太多坑, 已经帮你…...

Flink--API 之 Source 使用解析

目录 一、Flink Data Sources 分类概览 &#xff08;一&#xff09;预定义 Source &#xff08;二&#xff09;自定义 Source 二、代码实战演示 &#xff08;一&#xff09;预定义 Source 示例 基于本地集合 基于本地文件 基于网络套接字&#xff08;socketTextStream&…...

uniapp在小程序连接webScoket实现余额支付

webScoket文档&#xff1a;uni.connectSocket(OBJECT) | uni-app官网 /plugins/event.js const Dep function() {this.Evens Object.create(null); } class Event {constructor({dep new Dep()} {}) {if (dep.constructor Object && Object.keys(dep).length 0…...

Spring Boot【三】

自动注入 xml中可以在bean元素中通过autowire属性来设置自动注入的方式&#xff1a; <bean id"" class"" autowire"byType|byName|constructor|default" /> byName&#xff1a;按照名称进行注入 byType&#xff1a;按类型进行注入 constr…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU&#xff1a;如何让RNN变得更聪明&#xff1f; 在深度学习的世界里&#xff0c;循环神经网络&#xff08;RNN&#xff09;以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而&#xff0c;传统RNN存在的一个严重问题——梯度消失&#…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

springboot 日志类切面,接口成功记录日志,失败不记录

springboot 日志类切面&#xff0c;接口成功记录日志&#xff0c;失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...

若依登录用户名和密码加密

/*** 获取公钥&#xff1a;前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...

Vue3中的computer和watch

computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...