使用nfs使得mx邮件服务器跟mail storage 分开

使用nfs使得mx邮件服务器跟mail storage 分开
现在我们假设邮件储存的目录是/vmail
一般来说,mail storage就在mx服务器上,也就是邮件就储存在在mx服务器的硬盘上
现在我们使用nfs使得mx邮件服务器跟mail storage 分开,使得邮件储存在nfs服务器的硬盘中
我们假定mx服务器的ip为:192.168.1.2
        nfs服务器的ip为:192.168.1.3
原来的图是:
+------------------+
| MX服务器         |
|                  |
|         +--------|
| vmail-->| Disk   |
+------------------+
使用nfs后

+------------------+               +------------------+      
| MX服务器         |               | NFS服务器        |
|                  |               |                  | 
|                  |               |         +--------|
| vmail-->----->---|------>--->----|---->--->| Disk   |
+------------------+               +------------------+

实现方法如下:
在NFS服务器上安装NFS服务器,然后在MX主机上把NFS的硬盘空间monut到/vmail上
当MX服务器把邮件写到vmail目录中时候,其实邮件是被写到NFS服务器的硬盘上

实现过程:
一.在NFS服务器上建立NFS服务
1.安装必要的包
apt-get  install  nfs-common nfs-kernel-server portmap
2.创建共享目录
mkdir /home/share
chown vmail.vmail /home/share
有些nfs-howto文档中会是:chown nobody.nogroup /home/share
为什么我们这里要是chown vmail.vmail /home/share?
因为本来在mx服务器中,我们是使用maildrop来投递邮件,而maildrop投递邮件的时候是以vmail的身份来投递的,如果chown nobody.nogroup /home/share的话,当mx服务器mount了nfs服务器的/home/share作为mx服务器的/vmail的时候,maildrop投递邮件的时候会报错:
 Command output: /usr/bin/maildrop: Invalid home directory permissions - world writable

maildrop认为/vmail(也就是nfs服务器上的/home/share,因为mx服务器上的/vmail就是nfs服务器上的/home/share的影射)的权限太宽了
 
3.设置配置文件/etc/exports,让mx服务器有权限访问nfs服务器
在/etc/exports加入:
/home/share 192.168.1.2(rw,sync)
4 重启NFS服务
# /etc/init.d/nfs-kernel-server restart
 

二.在mx服务器上设置
相对于nfs服务器,mx服务器就是nfs-client,要想nfs-client跟nfs-server进行通信,要安装以下东西:
apt-get install   nfs-common portmap
使用mount命令即可挂栽共享资源
在客户机(mx服务器上) 192.168.1.2 上加载共享资源
 # mount 192.168.1.3:/home/share /vmail
 

分享到