buffindexed.conf - configuration file for buffindexed
ovmethod
DESCRIPTION
The file <pathetc in inn.conf>/buffindexed.conf is
required if buffindexed ovmethod is used.
Buffindexed is one of ovmethod which is specified in
inn.conf(5). It uses preconfigured buffer files which are
used to store overview data and index, and never needs
more disk space other than those files. The files are
devided 8KB block internally and the block is allocated
for each purpose; overview index and overview data. The
block is never shared by each newsgroup, so owned by one
newsgroup. There is a database file: <pathdb in
inn.conf>/group.index which includes the information of
the newsgroup; the pointer to the index block for the
group, high mark, low mark, flag of the group, the number
of the articles and etc. This file is created automati
cally when all buffers are initialized and must not be
edited manually. If all buffers are filled up, innd(8)
throttles itself. Note that the buffer files are never
rolled over and overwritten the way CNFS does. You need
to append another buffer file in the case. You can see
the buffer usage with inndf(8) with ``-o'' option.
The file consists of a series of lines; blank lines and
lines beginning with a number sign (``#'') are ignored.
There is only one kind of configuration line. The order
of lines in this file is not important.
index:file_name:buffer_size
``Index'' is an index of overview buffer. ``Index'' must
be between 0 and 65535. ``File_name'' is the path to
overview buffer file. The length of this path should be
within 63 letters. ``Buffer_size'' is the length of
buffer file in kilobytes in decimal (1KB = 1024 bytes).
If the ``file_name'' is not a special device, actucal file
size must be buffer_size * 1024 bytes. You can NOT use
buffers over 2GB even if you specify
<--with-largefiles at configure>. Or buffers will be bro
ken. It'll be fixed in the future.
To create new overview buffer, there are two different
methods for creating the files.
1. Create a big file on top of a standard filesystem.
The use "dd" to create the overview buffer files,
such as "dd if=/dev/zero of=/path/to/ovbuff bs=1024
count=N" where N is the buffer_size.
If your operating system will allow you to mmap()
block disk devices (Solaris does, FreeBSD does
not), this is the recommended method. But note
that Solaris(at least 2.6) seems to have a problem
in regional locking of block disk devices, and
should not be used. Or overview data will be cor
rupted. Partition the disks to make each partition
slightly larger (a few MB larger) than the intended
size of each overview buffer. It is not recommend
to use the block device files already located in
``/dev.'' Instead, use "mknod" to create a new set
of block device files. In order to do this, do an
"ls -Ll" of the /dev/dsk partition. The major and
minor device numbers are in the fifth and sixth
columns (right before the date) respectively. This
information should be fed to "mknod" to make a
"block-type special file" (b). Here is a short
script that accomplishes this when fed the
``/dev/dsk/'' partition name:
#!/bin/sh
disk=$1
major=`ls -l /dev/dsk/$disk | awk '{print $5}' | tr -d ,`
minor=`ls -l /dev/dsk/$disk | awk '{print $6}`
mkdir /ovbuff
mknod /ovbuff/$disk b $major $minor
The created device files themselves consume very
little space.
In either case, make certain that each overview buffer
file is owned by
<USER specified with --with-news-user at configure>,
<GROUP specified with --with-news-group at configure>, and
has read/write modes for the owner and group (mode
``0664'' or ``0660'').
When you first start innd(8) and everything is configured
properly, you should see messages in <pathlog in
inn.conf>/news.notice which look like:
Aug 27 00:00:00 kevlar innd: buffindexed: No magic cookie found for buffindexed 0, initializing
You MUST recreate whole overview, if you remove or relpace
buffers. You need not recreate, if you just append new
buffers. And whenever recreate overview data base, you
need to clean all buffers.
HISTORY
Written by Katsuhiro Kondou <kondou@nec.co.jp> for Inter
NetNews. This is revision 1.3.2.3, dated 2000/10/12.
SEE ALSO
inn.conf(5).
Man(1) output converted with
man2html