📜  什么是DFS(分布式文件系统)?

📅  最后修改于: 2021-08-27 18:20:50             🧑  作者: Mango

顾名思义,分布式文件系统(DFS)是分布在多个文件服务器或多个位置上的文件系统。它允许程序像访问本地文件一样访问或存储隔离的文件,从而使程序员可以从任何网络或计算机访问文件。

什么是DFS?

分布式文件系统(DFS)的主要目的是允许物理分布式系统的用户通过使用通用文件系统来共享其数据和资源。通过局域网(LAN)连接的工作站和大型机的集合是分布式文件系统上的配置。 DFS作为操作系统的一部分执行。在DFS中,创建了名称空间,并且此过程对客户端是透明的。

DFS有两个组件:

  • 位置透明性:位置透明性是通过名称空间组件实现的。
  • 冗余:冗余是通过文件复制组件完成的。

在出现故障和高负载的情况下,这些组件通过允许将不同位置的数据共享逻辑上分组在一个文件夹(称为“ DFS根目录”)下,共同提高了数据可用性。

不必同时使用DFS的两个组件,可以在不使用文件复制组件的情况下使用名称空间组件,并且在服务器之间不使用名称空间组件的情况下也可以使用文件复制组件。

DFS的功能

  • 透明度:
    • 结构透明:客户端无需了解文件服务器和存储设备的数量或位置。应该提供多个文件服务器以提高性能,适应性和可靠性。
    • 访问透明性:应该以相同方式访问本地文件和远程文件。文件系统应自动位于访问的文件上,并将其发送到客户端。
    • 命名透明性:文件名中不应有任何暗示文件所在位置的提示。为文件指定名称后,在从一个节点转移到另一个节点的过程中,不应更改该名称。
    • 复制透明性:如果将文件复制到多个节点上,则文件的副本及其位置都应从一个节点隐藏到另一个节点。
  • 用户移动性:它将自动将用户的主目录带到用户登录的节点。
  • 性能:性能基于说服客户请求所需的平均时间。该时间包括CPU时间+访问辅助存储器所需的时间+网络访问时间。建议分布式文件系统的性能与集中式文件系统的性能相似。
  • 简单易用:文件系统的用户界面应该简单,文件中的命令数量应该少。
  • 高可用性:分布式文件系统应该能够在出现部分故障(例如链接故障,节点故障或存储驱动器崩溃)的情况下继续运行。
    高度可靠且适应性强的分布式文件系统应具有不同且独立的文件服务器,以控制不同且独立的存储设备。

历史

分布式文件系统的服务器组件最初是作为附加功能引入的。它已添加到Windows NT 4.0 Server中,被称为“ DFS 4.1”。之后,它作为Windows 2000 Server所有版本的标准组件被包含在内。客户端支持已包含在Windows NT 4.0中,并且也包含在Windows版本的更高版本中。

Linux内核2.6.14及其之后的版本带有SMB客户端VFS(称为“ cifs”),它支持DFS。 Mac OS X 10.7(狮子)及更高版本支持Mac OS X DFS。

应用领域

  • NFS: NFS代表网络文件系统。它是一种客户端-服务器体系结构,允许计算机用户远程查看,存储和更新文件。 NFS协议是网络附加存储(NAS)的几种分布式文件系统标准之一。
  • CIFS: CIFS代表通用Internet文件系统。 CIFS是SMB的口音。也就是说,CIFS是Microsoft设计的SIMB协议的应用程序。
  • SMB: SMB代表服务器消息块。它是一种用于共享文件的协议,是IMB发明的。创建SMB协议是为了允许计算机对通过局域网(LAN)到远程主机的文件执行读写操作。可以通过SMB访问远程主机中存在的目录,这些目录称为“共享”。
  • Hadoop: Hadoop是一组开源软件服务。它提供了使用MapReduce编程模型进行大数据的分布式存储和操作的软件框架。 Hadoop的核心包含一个存储部分(称为Hadoop分布式文件系统(HDFS))和一个操作部分,该部分是MapReduce编程模型。
  • NetWare: NetWare是由Novell,Inc.开发的废弃计算机网络操作系统。它主要使用组合的多任务处理,使用IPX网络协议在个人计算机上运行不同的服务。

DFS的工作

可以通过两种方式实现DFS:

  • 独立DFS命名空间:它仅允许本地计算机上存在且未使用Active Directory的那些DFS根目录。仅可以在创建DFS的那些计算机上获取独立DFS。它不提供任何故障释放功能,也不能链接到任何其他DFS。独立DFS根源很少,因为它们的优势有限。
  • 基于域的DFS命名空间:它将DFS的配置存储在Active Directory中,创建可在\\ <域名> \ \\ \ 访问的DFS命名空间根目录

好处

  • DFS允许多个用户访问或存储数据。
  • 它允许远程共享数据。
  • 它提高了文件的可用性,访问时间和网络效率。
  • 提高了更改数据大小的能力,还提高了交换数据的能力。
  • 即使服务器或磁盘出现故障,分布式文件系统也可以提供透明的数据。

缺点

  • 在分布式文件系统中,节点和连接需要得到保护,因此可以说安全受到威胁。
  • 从一个节点移动到另一个节点时,网络中可能会丢失消息和数据。
  • 如果是分布式文件系统,则数据库连接很复杂。
  • 与单用户系统相比,在分布式文件系统中对数据库的处理也不容易。
  • 如果所有节点尝试一次发送数据,则有可能发生过载。