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

相关文章

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

C++中使用vector存储并遍历数据的基本步骤

《C++中使用vector存储并遍历数据的基本步骤》C++标准模板库(STL)提供了多种容器类型,包括顺序容器、关联容器、无序关联容器和容器适配器,每种容器都有其特定的用途和特性,:本文主要介绍C... 目录(1)容器及简要描述‌php顺序容器‌‌关联容器‌‌无序关联容器‌(基于哈希表):‌容器适配器‌:(

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

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