On 2013-12-03 17:21, Jeff Larsen wrote:

I agree that lacking highly available NFS is unfortunate, however the
nature of a mail archive is well suited to network storage. So failure
should be handled gracefully.

well, I'm not against NFS (or iscsi for the matter) at all.


I did a simple test on this. I turned off autofs, unmounting
/var/piler/store (see note below) and then sent a message that would
get archived.

mail.log from piler shows:
Dec  3 09:48:27 mailbackup piler[713]: connection from 192.168.1.75
Dec  3 09:48:27 mailbackup piler[713]:
40000000529dfd5500926a6c00458043c02d: mkdir
/var/piler/store/00/529/c0/2d: error=No such file or directory
Dec  3 09:48:27 mailbackup piler[713]:
40000000529dfd5500926a6c00458043c02d: cannot open:
/var/piler/store/00/529/c0/2d/40000000529dfd5500926a6c00458043c02d.m
Dec  3 09:48:27 mailbackup piler[713]:
40000000529dfd5500926a6c00458043c02d: error storing message:
40000000529dfd5500926a6c00458043c02d.m
Dec  3 09:48:27 mailbackup piler[713]:
40000000529dfd5500926a6c00458043c02d: [email protected], size=663,
attachments=0, reference=, message-id=<[email protected]>,
retention=0, delay=0.00, delays=0.00/0.00/0.00/0.00/0.00/0.00

And "postqueue -p" on my mail server shows:
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
9165F18151      665 Tue Dec  3 09:48:27  [email protected]
(host mailbackup.XXX.com[192.168.1.98] said: 451
40000000529dfd5500926a6c00458043c02d <[email protected]> (in
reply to end of DATA command))
                                         [email protected]

-- 1 Kbytes in 1 Request.

this is what I expected


After restoring the NFS mount, the queued message was eventually delivered.

So it appears that the situation is handled gracefully without any
need to stop piler.

good news, thanks for the test. Btw. where do you keep the SQL data, and the sphinx data? And just for curiosity, how big is your NFS share offered
for piler to store emails?


One possibly important element in my configuration is that
/var/piler/store is a symlink to the autofs mounted location. Thus
when the NFS mount is not there, it is impossible to write to that
location. If /var/piler/store were a real directory and you directly
mounted the NFS storage on that point, piler might simply create a new
file structure on the unused mount point which would get hidden the
next time the NFS storage is mounted. I did not test this scenario but
I thought it was worth mentioning in case somebody reads this in the
future and also chooses to use network storage. I do all my NFS mounts
this way to prevent "phantom" writes when NFS is down.

you have a point, that's why I suggested to make /var/piler/store owned
by root, then piler can't create such a "phantom" directories while NFS
is down. Anyway I'll test it.


Janos

Reply via email to