NFS网络文件存储入门

2024-06-15 18:20
文章标签 入门 网络 存储 nfs

本文主要是介绍NFS网络文件存储入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、NFS介绍

  1. NFS全称Network Files System,中文叫网络文件系统,是1980年由SUN发展出来在UNIX&Linux系统间实现磁盘文件共享的一种方法。
  2. NFS是当前互联网系统架构中最常用的服务之一,特别是中小公司应用频率很高。大公司可能用MFS,GFS,FASTFS分布式系统。
  3. RHEL7在默认情况下支持第四版本的NFS,不过在该版本不可用的情况下自动回退到第三版本NFS或第二版本NFS,第四版本的NFS使用TCP协议进行数据传输,以前的版本可能使用TCP或UDP。
  4. NFS的整个工作模式中分为“服务端”和“客户端”两部分,服务端共享出目录(也就是共享出“完成格式化且挂载好”的目录),然后客户端像挂载本地文件系统一样挂载这个服务端共享出来的目录,然后可以对目录进行操作。

二、NFS提供多种传输网络传输方式

  1. none:可对文件进行匿名访问,对服务器文件的写入(如果能写的话),使用nfsnobody用户的UID和GID进行。
  2. sys:文件访问权限基于UID和GID的标准Linux权限,如未特别指定,这是默认方法
  3. krb5:客户端必须使用Kerberos证明身份,然后使用标准的linux文件权限
  4. krb5i:客户端必须使用Kerberos证明身份,然后使用标准的linux文件权限,对数据请求的过程的数据进行加密,传输过程的数据进行完整性的校验,但传输数据不加密
  5. krb5p:客户端必须使用Kerberos证明身份,然后使用标准的linux文件权限,对所有传输请求和传输数据进行加密和校验,这个方法虽然安全性最高,但是传输的效率是最低的

三、sys方式设定nfs共享和挂载

这是默认方式,此时数据没有加密传输,也不支持selinux

1、配置服务端server

1.1 配置NFS共享

chown nfsnobody /nfsshare #先确定共享出去的目录,并改共享目录的权限

yum install nfs-utils #安装软件包

systemctl enable nfs-server; systemctl start nfs-server #启动服务

 echo '/nfsshare  desktop0(rw,sync)'  >> /etc/exports #写配置

 exportfs  -r #让配置生效

配置防火墙

firewall-cmd --permanent --add-service=nfs

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

firewall-cmd --permanent --add-service=mountd

firewall-cmd --reload

注:rpc-bind/mount端口不开,客户端可以挂载nfs,但客户端showmount会看不到服务端的共享

showmount -e localhost 本地验证

1.2 showmount命令的说明

这个命令在NFS的服务端和客户端都能使用

-a 这个选项是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的客户端机器

-e 这个选项后面跟nfs服务器,用查看nfs服务上共享出的目录

showmount -e localhost 看本机的nfs共享目录,这个命令在nfs服务器上运行

showmount -e server0.example.com或者 showmount -e 172.25.0.11 这个服务一般在客户端上运行,查看sever0.example.com上 和172.25.0.11上 通过nfs共享出来的目录

1.3关于配置文件的说明

  • 关于指定谁可以访问这个共享的设定

/nfsshare  desk.example.com(rw,sync,no_root_sqush) 表示只有desk.example.com可以使用这个共享

/nfsshare  172.25.0.10(rw,sync,no_root_sqush) 表示只有172.25.0.10可以使用这个共享

/nfsshare  *(rw,sync,no_root_sqush) 表示所有客户端都可以使用这个共享

/nfsshare 192.168.0.*(rw,sync,no_root_sqush) 表示只有192.168.0.开头的ip地址能使用这个共享

/nfsshare 192.168.0.0/24(rw,sync,no_root_sqush) 只有192.168.0.0/24网段的ip地址能使用这个共享

/nfsshare  *.redhat.com(rw,sync,no_root_sqush) 只有redhat.com这个域名下的所有主机可以使用这个共享

  • 关于对共享目录的操作权限

rw

ro

no_root_squash 登入到NFS主机的用户如果是root,该用户即拥有root权限

root_squash 登入NFS主机的用户如果是root,该用户权限将被限定为匿名使用者nobody

all_squash 不管登陆NFS主机的用户是何权限都会被重新设定为匿名使用者nobody

sync 资料同步写入存储器中。

async 资料会先暂时存放在内存中,不会直接写入硬盘

1.4关于exportfs命令的说明

-a :全部mount或者unmount /etc/exports中的内容

exportfs -av 用于输出NFS服务器的所有共享目录

-r :重新mount /etc/exports中分享出来的目录

 exportfs -rv  全部重新export一次,修改配置后使用

-u :umount 目录

exportfs -auv  全部都卸载,用于停止当前主机中NFS服务器的所有目录输出

-v :在 export 的时候,将详细的信息输出到屏幕上

exportfs -v  查看当前共享配置

2、客户端desktop

2.1确定本地挂载目录

mkdir /mnt/nfsexport

2.2临时挂载

mount  server0:/nfsshare  /mnt/nfsexport

2.3永久挂载

echo 'server0:/nfsshare  /mnt/nfsexport   nfs   defaults   0   0' >> /etc/fstab

mount -a

2.4验证

df -hT

cd /mnt/nfsexport

ls

touch 2.txt

这篇关于NFS网络文件存储入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064217

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al