NFS drupal实现

时间:2013-04-16 10:58:43

标签: php drupal nfs multiserver

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

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

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

我还有一个服务器用于文件,我如何将这个使用NFS的Drupal服务器以及NFS如何工作?

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

两个drupal服务器中的

符号(软)链接,并在共享服务器中添加文件?

有人可以告诉我并传给我一个链接,为我的MultiServer Drupal Setup实现NFS。

1 个答案:

答案 0 :(得分:3)

让我们假设Server-A(ip:a.a.a.a)是您要保存文件的服务器,Server-B(ip:b.b.b.b)和Server-C(ip:c.c.c.c)将有drupal。在Server-A中,您可能将文件存储在/ store文件夹中。这将安装到Server-B和Server-c中的文件夹/ mnt / store。

为此,您需要在所有三台服务器上的Server-A和nfs-common和portmap中安装nfs-kernal-server。 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-commonNEED_IDMAPD=yesNEED_GSSD=no

sudo vi /etc/idmapd.conf设置[Mapping]Nobody-User = nobody

下的此文件中的

Nobody-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.allow SET:portmap : a.a.a.a {Server-A的ipaddress}

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

sudo vi /etc/idmapd.conf下添加[Mapping]Nobody-User = nobody

下的

Nobody-Group = nogroup

modprobe nfs
mkdir /mnt/store
sudo mount -t nfs4 a.a.a.a:/ /mnt/store