如何创建挂载点然后在所有服务器中挂载目录?

如何创建挂载点然后在所有服务器中挂载目录?

我是一名 Linux 新手,我有一个非常基本的问题。我有三台机器 -

machineA
machineB
machineC

所有这些机器都安装了 Ubuntu 12.04,并且我对这三台机器都有 root 访问权限。

现在我应该做以下事情 -

Create mount point /opt/exhibitor/conf
Mount the directory in all servers.
 sudo mount <NFS-SERVER>:/opt/exhibitor/conf /opt/exhibitor/conf/

我已经/opt/exhibitor/conf在上述三台机器上创建了目录。现在我不确定如何/opt/exhibitor/conf在这三台服务器上创建挂载点并挂载目录?

有什么想法吗?

答案1

由于工作人员在计算机上使用 Windows,因此我在服务器上使用 Samba。/etc/smb.conf 中的示例条目:

[Projects]
    comment = Projects share
    read only = true
    path = /home/kovica/Projects
    browsable = yes
    writable = no
    valid users = kovica
    create mask = 0644

此条目共享目录 /home/kovica/Projects。没有人可以写入/删除/更改其中的文件。客户端必须进行身份验证,并且唯一有效的用户是 kovica。您可以使用以下命令将用户添加到 samba

smbpasswd -a kovica

使用此命令可以为用户 kovica 设置密码。这是客户端在进行身份验证时必须使用的密码。

答案2

使用 NFS 的话,情况是这样的:

mount -t nfs machine2:/path/to/data /opt/exhibitor/conf/

这假设 machine2 在您的 /etc/host 或 DNS 中定义,或者您必须输入其 IP 地址(假设它是静态的。)

通过编辑 /etc/fstab,您可以使其“永久”存在,就像每次重新启动时它都在那里一样:

machine2:/path/to/data    /opt/exhibitor/conf   nfs    rsize=8192,wsize=8192,timeo=14,intr

nfs 和 mount 手册中定义了这些参数:

man mount
man nfs

请注意,我想象其中一台机器不使用 NFS 挂载,因为它本身具有“参展商”数据。

NFS 的一个可能缺点是,我已经很久没有使用它了,但是当我前段时间使用时,如果目标机器出现故障,则在该挂载点上的读取或写入会阻止应用程序尝试。这是一个低级内核阻止,它完全阻止 KILL 终止访问 NFS 的进程。我希望随着时间的推移这个问题会得到解决,但您需要测试一下才能知道会发生什么。Samba 解决方案在这方面更安全,因为它利用了网络流量并且是非阻塞的,但是,我发现在我这边很难设置……我从未使用过的另一件事是基于 SSH 的连接(与 NFS 相反)。我从未使用过它,我测试过一次,它有效……您可以创建一个隧道,然后使用该隧道挂载目录。非常实用,而且不会像 NFS 那样阻塞。此外,所有流量都经过加密。但是它可能速度较慢(坦率地说,有了我们今天拥有的快速服务器……您应该没问题。)

相关内容