NFS 、 SAMBA 和 CIFS 是三个不同的术语,每当有人提到两个或者多个系统之间的文件共享时,它们就会被抛出很多。
但是,我们知道这三个实现是做什么的,以及它们的实现方式有何不同吗?
出于某种原因,即使对于一些经验丰富的系统管理员来说,这些技术仍然是神秘的。
实际上,这三者中的每一个都有一些使它们不同的定义特征,并且它们都很难理解。
在本文中,我们将详细介绍 NFS、SAMBA 和 CIFS,并讨论它们在 Linux 系统上下文中的实现。
我们还将权衡这三种技术的利弊,以便我们决定哪一种技术最适合网络。
NFS、SAMBA 和 CIFS 的比较
让我们从 Samba 和 CIFS 开始。
这两者都实现了由微软创建的 SMB(服务器消息块)协议。
Samba 和 CIFS 都能够相互通信,因为它们都做同样的事情,只是方式不同。
除非我们使用的是遗留系统,否则我们应该坚持使用 Samba。
Samba 更新、健壮且速度更快。
所以,这里的决定很容易。
如果我们需要保持与 Windows 计算机的兼容性,请使用 Samba。
如果它不适用于环境,因为我们使用的是过时的系统,那么我们可能会被 CIFS 困住。
这可能会让我们头疼,因为 Samba 服务器可以充当域控制器,而 CIFS 服务器则不能。
这允许 Windows 用户在 Samba 服务器上使用他们的凭据,而不需要在 CIFS 的情况下将整个用户集从 Windows 复制到 Linux。
NFS 的工作方式与 Samba 非常相似——它们都允许一个或者多个客户端与服务器共享文件。
但是有一个明显的警告:NFS 和 SMB 不是兼容的协议。
这意味着 Samba 服务器将无法与 NFS 服务器通信,至少在不进行一些调整的情况下无法进行通信。
NFS 由 Sun Microsystems 开发,但 Windows Server 能够托管 NFS 共享,并且其他 Windows 操作系统能够连接到它。
当然,Linux 系统也可以托管或者连接到 NFS 共享。
我们可以从中得出一个明显的结论,NFS 非常适合 Linux 环境,而 Samba 更适合 Windows 环境或者混合环境(Linux + Windows)。
如果存储服务器是 Linux,请使用 NFS。
如果是 Windows,请坚持使用 Samba。
这应该为我们提供最理想的设置和最佳性能,尽管绝对可以运行任何一个。
如何在 Linux 上安装 SAMBA
要开始在 Linux 上使用 Samba,请使用以下适当的命令在系统上安装该软件。
在 Ubuntu、Linux Mint 和其他基于 Debian 的发行版上:
$sudo apt install samba
在 Fedora、CentOS、AlmaLinux 和其他基于 RHEL 的发行版上:
$sudo dnf install samba samba-client
如何在 Linux 上安装 NFS
要开始在 Linux 上使用 NFS,请使用下面的相应命令在系统上安装该软件。
在 Ubuntu、Linux Mint 和其他基于 Debian 的发行版上:
$sudo apt install nfs-kernel-server
在 Fedora、CentOS、AlmaLinux 和其他基于 RHEL 的发行版上:
$sudo dnf install nfs-utils