我的服务器硬盘空间不足。主要原因是存档的 IMAP 邮件数量巨大。因此我的想法是将所有存档邮件放在我的 NAS 上,并将该文件夹挂载到我的服务器上。
这是我的设置:
NAS——示例.nas
popuser@nas:/root> id
uid=110(popuser) gid=31(popuser) groups=100(users),31(popuser)
文件夹/media/data/ARCHIVE/
,是流行用户具有 rw 访问权限。
服务器-example.com
popuser@server:/$ id
uid=110(popuser) gid=31(popuser) groups=31(popuser)
IMAP 文件夹/var/qmail/mailnames/example.com/info/Maildir/
是流行用户具有 rw 访问权限。
sshfs 挂载
作为流行用户在服务器上,我创建了一个名为.ARCHIVE
IMAP 文件夹的文件夹作为挂载端点。流行用户我正在按如下方式挂载 NAS 文件夹:
SRC=/media/data/ARCHIVE/
MNT=/var/qmail/mailnames/example.com/info/Maildir/.ARCHIVE/
sshfs -o allow_other -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null [email protected]:$SRC $MNT;
作为流行用户我创建了以下 IMAP 文件夹结构:
mkdir -p $MNT/{cur,new,tmp}
当我在 thunderbird 中单击 ARCHIVE 时,出现以下错误:
Oct 8 20:40:33 server imapd: Failed to create cache file: maildir_lock ([email protected])
Oct 8 20:40:33 server imapd: Error: Input/output error
在服务器上,我可以创建/删除已安装文件夹中的文件根并作为流行用户。
我不知道是什么导致了这个错误。
答案1
sshfs
是极差的选择,因为它不提供“真实”文件系统提供的许多功能,例如合理的锁定。这是因为它模拟了一个正常的文件系统,但后端无法满足所有要求。
如果您使用 NAS,它很可能可以处理 NFS。使用这个,这是一个更好的选择(即使如此,您也可能会遇到很多麻烦)。