0

我发现 NFS 是 Drupal 文件共享中多服务器设置的最佳方式

有人可以告诉我这是如何工作的。

我有两台带有 Drupal 文件的服务器连接到第三台服务器中的公共数据库

我还有一个文件服务器我应该如何链接这两个使用 NFS 的 Drupal 服务器以及 NFS 如何工作?

当用户从第一个 drupal 服务器上传文件时,它会在 Shared Server 中制作副本还是制作一个

两个drupal服务器中的符号(软)链接并将文件添加到共享服务器中?

有人可以告诉我并给我一个链接来为我的 MultiServer Drupal 设置实现 NFS。

4

1 回答 1

3

让我们假设 Server-A (ip:aaaa) 是您要保存文件的服务器,Server-B(ip: bbbb) 和 Server-C (ip: cccc) 将具有 drupal。在 Server-A 中,您可能将文件存储在 /store 文件夹中。这将被挂载到 Server-B 和 Server-c 中的文件夹 /mnt/store。

为此,您需要在 Server-A 中安装 nfs-kernal-server,并在所有三台服务器上安装 nfs-common 和 portmap。NFS 依赖于远程过程调用 (RPC),并且需要端口映射服务将 RPC 请求映射到正确的服务。

在 Server-A 中执行以下配置:

sudo apt-get install nfs-kernel-server portmap nfs-common
sudo mkdir -p /mnt/nfstest
sudo chmod 777 /mnt/nfstest
sudo mount  --bind /store /mnt/nfstest

sudo vi /etc/default/nfs-kernel-server在这个文件集中 NEED_SVCGSSD=no

sudo vi /etc/default/nfs-common在这个文件集中:NEED_IDMAPD=yesNEED_GSSD=no

sudo vi /etc/idmapd.conf在这个文件下[Mapping]设置Nobody-User = nobodyNobody-Group = nogroup

sudo vi /etc/hosts.deny添加这个:portmap mountd nfsd statd lockd rquotad : ALL

sudo vi /etc/hosts.allow添加这个:portmap mountd nfsd statd lockd rquotad : b.b.b.b, c.c.c.c{ipaddresses}

sudo vi /etc/exports添加这个:/mnt/nfstest b.b.b.b(rw,sync,no_subtree_check,fsid=0)/mnt/nfstest c.c.c.c(rw,sync,no_subtree_check,fsid=0)

sudo exportfs -ra
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart

在 Server-B 和 Server-C 中执行此操作

sudo apt-get install portmap nfs-common
sudo vi /etc/hosts.deny SET: `portmap : ALL`

sudo vi /etc/hosts.allowSET: portmap : a.a.a.a{Server-A 的 ipaddress}

sudo vi /etc/default/nfs-common设置:NEED_IDMAPD=yesNEED_GSSD=no

sudo vi /etc/idmapd.conf[Mapping]添加Nobody-User = nobodyNobody-Group = nogroup

modprobe nfs
mkdir /mnt/store
sudo mount -t nfs4 a.a.a.a:/ /mnt/store
于 2013-04-16T14:32:10.290 回答