数据存储张
这个作者很懒,什么都没留下…
展开
-
为什么都说NFS读写性能差,如何进行优化?
如下图是通过Wireshark抓取的网络通信的数据包,可以看出,NFS在访问文件的时候客户端与服务端有的交互除了WRITE之外,还有很多其它的交互,包括ACCESS、LOOKUP和SETATTR等。核心原则是减少客户端与服务端的交互次数,因此我们在访问文件的时候应该尽量保持文件的打开状态,避免重复打开关闭文件,这样NFS全路径的逐级检查。但是,如果是自己开发的应用程序, 在保存数据的时候尽量以大文件的形式,而非小文件的形式,这对性能是有益的。所以,对于一个长路径进行逐级的确认也是必须的。原创 2023-10-02 13:06:53 · 814 阅读 · 0 评论 -
通过实例分析让您彻底理解NFS协议
NFS协议最为权威的参考文档自然是RFC文档了。以NFSv3为例,对应的RFC文档是RFC1813。但是当我们初次接触该文档的时候有种找不到北的感觉。以NFSv3的WRITE例程为例,在文档中的说明如下图所示,从该图中似乎看不太明白协议的具体定义。图1 NFS 写协议描述其实要理解上述内容并不困难,首先是要结合前面文章介绍的RPC的内容来理解,这样再理解NFS协议的内容就不会太难了。在RPC协议中我们了解到,RPC实现了一种远程函数调用的机制。也就是客户端在调用基于RPC的函数(存根)时,该原创 2021-11-06 09:08:22 · 573 阅读 · 0 评论 -
Linux NFS的整体架构与核心代码解析
前面文章我们从应用层面对NFS进行了介绍,接下来的文章我们将进入实现层面。本文首先从整体上对Linux的NFS软件架构进行介绍,然后介绍代码与实际业务逻辑介绍一下NFS的处理流程。NFS文件系统的架构分析NFS分布式文件系统是一个客户端-服务端架构(CS架构)。其客户端是Linux内核中的一个文件系统,跟Ext4和XFS类似,它是虚拟文件系统下的一个具体实现。与其它本地文件系统(例如Ext4,XFS或者Btrfs等)的差异在于其数据请求不存储在本地磁盘,而是通过网络发送到服务端进行处理。如图1是原创 2021-07-16 20:51:45 · 864 阅读 · 0 评论 -
NFS在Linux下的安装、部署与应用
NFS文件系统是Sun公司开发的网络文件系统,也称为分布式文件系统,其基本原理是将某个设备本地文件系统通过以太网的方式共享给其它计算节点使用。也就是说,计算机节点通过NFS存储的数据是通过网络存储在另外一个设备,而不是存储在本地磁盘。图1 NFS网络文件系统最大的特点是可以实现多个计算节点对同一个存储设备的访问,从而提升存储的利用率,并简化存储管理难度。NFS分布式文件系统本身是客户端服务器架构模式。本文将介绍如何基于Linux操作系统部署一个NFS文件系统服务,并且介绍如何在客户端进行使用原创 2021-06-08 20:45:13 · 236 阅读 · 0 评论 -
生产环境NFS服务配置应该考虑的因素
别光收藏,如果觉得不错请帮忙点个za ,在下这厢有礼了!前面我们搭建一个NFS服务,但是只有一个服务节点,而且在配置的时候关闭了防火墙等安全组件。这样配置在生产环境是非常不安全的,只能用于学习。一方面是由于只有一个服务节点,该服务节点就成为单点了,服务器或者内部服务的任何问题都会导致NFS服务的不可用。另外一个如果没有防火墙,那么就存在被攻击的风险。那么有没有一种方式可以提供一个高可用的,安全的NFS服务呢?其实方法是有的,一种方法就是使用商用的存储设备,比如EMC的Unity。另外一种方法.原创 2021-06-08 20:48:06 · 339 阅读 · 0 评论 -
NFS文件系统中的RPC协议详解
前文我们介绍了NFS的整体架构,其核心是将主机端的函数调用通过网络传输到服务端,并转化为服务端的函数调用。其主要实现是主机端与服务端的一一对应的存根。那么这种转化是如何进行的呢?这就涉及到RPC协议了。在Linux NFS中,将网络文件系统分为两层,其中RPC协议承载了NFS协议。由于RPC协议的存在,是的NFS协议变得非常简单。RPC协议的全称为Remote Procedure Call,翻译成中文是远程过程调用。也就是通过该协议,可以实现一个远程的函数调用,这样在客户端调用一个函数,可以在服原创 2021-06-10 19:26:53 · 721 阅读 · 0 评论