Recovery Help ...

Russ Allbery rra at
Tue Aug 12 15:42:58 UTC 2003

divya at writes:
>> Divya Sundaram <divya at> writes:

>> I really don't recommend using CNFS for something that you want to back
>> up.  Is there something about those groups that makes tradspool a bad
>> choice?  tradspool is considerably easier to back up since the articles
>> are just files in a directory structure and pretty much all the
>> metainformation that you need can be recovered from the directory
>> hierarchy.

> Well, the reason I chose CNFS was the fixed size of the spooling area
> and not having to worry about setting expiration on a per
> newsgroup/hierarchy basis.

Usually intranet newsgroups don't get enough traffic to worry about that
sort of thing.  If yours do, then yes, that's going to be an issue.

The problem with using CNFS for anything you want to back up is that a
CNFS buffer is not really self-contained.  It's difficult to extract data
(let alone recover server state) from a CNFS buffer in isolation.  The
history and overview databases store critical information, like where the
articles begin and end.  I think that makehistory mostly works on
recovering data, but I'm not sure how much I would really rely on it.

(The other problem is a more prosaic one, but also may be significant.  A
CNFS buffer is basically a single file from the file system perspective
and is being modified all the time.  That means that incremental backups
are probably not going to work unless they're extremely intelligent.)

> The tradspool method has its own issues - for example, on a 200GB disk,
> I could quite easily run out of inodes (I have in the past on a UFS
> partition of 40GB). Expiration is a nightmare on a system that is not
> dedicated to be a news server. CNFS is considerably more idiotproof in
> this regard.

These issues don't really apply if the number of articles is small.

> So, if I was running in tradspool mode and also running expire, I
> suspected that it would impact I/O adversely (even though the news
> server and the FTP repository are on separate controllers and disks from
> each other and from the OS).

The only difference between expire for tradspool and expire for CNFS is
that at the end of the former, a long list of articles gets fed to fastrm,
which wanders around deleting them.  I really doubt you're going to see
that significant of an I/O difference.

> I am considering shutting down INND at night, scp-ing off the CNFS
> buffers to another system along with the active file and then restarting

Use rsync rather than scp if you want to use this method; it should only
copy over the differences.

> The other issue was how to make another server a replica of an existing
> server with identical article numbering so that the loss of one news
> server does not represent downtime.

This is very straightforward.  Just turn on xrefslave in inn.conf on the
slave server and make sure that it always carries exactly the same set of
newsgroups as the master, and then set up a feed from the master to the
slave.  You generally want to use innxmit for this so that you always feed
the articles in order, although recent innfeeds with one connection and
the backlog-first parameter set will also work.

Russ Allbery (rra at             <>

    Please send questions to the list rather than mailing me directly.
     <> explains why.

More information about the inn-workers mailing list