High-availability inn?
Russ Allbery
rra at stanford.edu
Wed Sep 14 21:41:24 UTC 2005
Lars Magne Ingebrigtsen <larsi at gnus.org> writes:
> Right. I'll be setting up a slave server when I get the hardware next
> week... I guess I need to start by writing a script that makes a "feed"
> from the entire existing spool to boot-strap the slave server?
Right.
> And "newgroup messages", too.
Note that the newgroup has to be received and processed before any
messages in that group are processed or things won't work the way that you
want.
> Well, that should be pretty trivial to write, but does such a script
> already exists, by any chance?
URL: <http://www.eyrie.org/~eagle/faqs/inn.html#S6.4>
Subject: 6.4. Feed all articles on a server to another server
To feed all articles on an existing server to another one, regardless of
how they're stored on the server, first tell the new server to accept
articles regardless of how old they are (otherwise, INN will reject
articles older than artcutoff in inn.conf):
ctlinnd param c 0
You may also want to set xrefslave to true in inn.conf and then restart
INN on the new server if you want to keep the same article numbers as you
had on the old server.
Next, make sure that the old server is listed in incoming.conf of the new
server, and reload incoming.conf with ctlinnd to pick up that change.
Also make sure that the new server carries exactly the same set of
newsgroups as the old server.
Then try these commands (a variation on commands posted by Katsuhiro
Kondou to inn-workers) on the old server:
cd pathdb
perl -ne 'chomp; ($a,$b,$_) = split " "; print "$_\n" if $_' history \
| tr . / > pathoutgoing/list
innxmit server list
where pathdb is the path to the directory containing the history file
(usually ~news/db), pathoutgoing is the path to the outgoing spool
directory (usually ~news/spool/outgoing), and server is the name of the
new news server to which you're feeding the articles.
When done, set xrefslave to false in inn.conf again if you changed it and
then either restart INN on the new server (necessary if you changed
xrefslave) or use another ctlinnd param command to set the cutoff value
back to what's specified in inn.conf.
Please note that when using xrefslave, this method requires that all of
the articles in your spool have Xref headers. Current versions of INN
will always add an Xref header, but very old versions (earlier 1.x
versions) will only add an Xref header to crossposted articles. If you're
trying to import such a spool, you'll need to modify all of those articles
to add an Xref header.
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers
mailing list