Deutsch   English   Français   Italiano  
<vofpbq$pmf$1@herbert.ortolo.eu>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!news.nobody.at!news.mb-net.net!open-news-network.org!news.gegeweb.eu!gegeweb.org!news.ortolo.eu!.POSTED.localhost!not-for-mail
From: Tanguy Ortolo <tanguy@ortolo.eu>
Newsgroups: news.software.nntp
Subject: Switching INN 2 storage format
Date: Tue, 11 Feb 2025 15:11:54 -0000 (UTC)
Sender: tanguy@localhost
Message-ID: <vofpbq$pmf$1@herbert.ortolo.eu>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 11 Feb 2025 15:11:54 -0000 (UTC)
Injection-Info: herbert.ortolo.eu; posting-account="tanguy"; posting-host="localhost:::1";
	logging-data="26319"; mail-complaints-to="usenet@ortolo.eu"
Summary: I want to switch INN 2 storage from timecaf to timehash. IIRC,
 this can be done /for new articles/ by /adding/ the new storage backend
 to storage.conf, can it not?
Keywords: news, INN, storage, backend, method, timecaf, timehash,
 switch, migrate, btrfs, filesystem, CoW, copy-on-write
User-Agent: tin/2.6.2-20221225 ("Pittyvaich") (Linux/6.12.9+bpo-amd64 (x86_64))
Cancel-Lock: sha1:loH2kvu7eEMJKdgKpmWcT5oAul8=
Bytes: 3335
Lines: 50

Hello all,

My news server running INN 2 is storing all articles to a timecaf. I am
currently in the process of switching my file systems to btrfs (mainly
to get bitrot detection, see below for more details about that).

I do not expect timecaf and a CoW filesystem such as btrfs to play well
together. Indeed, writing a new small article to a large file should
inevitably fragment it. To avoid that, I disabled copy-on-write for the
timecaf, but that also disables file extent checksuming and therefore
bitrot detection, defeating the main reason I am switching to btrfs in
the first place.

Therefore, I am considering switching to a news storage format more
suitable with a CoW filesystem. I think the best option would be
timehash, any thoughts on that?

As I understand it, switching storage format for /new/ articles can
simply be done by simply adding the new storage backend in first
position in storage.conf, can it not?

I do not plan on migrating existing articles, but simply to wait for
them to expire since there does not seem to exist any simple migration
procedure. But if someone knows a way to do so, I could be interested.
;-)

Thanks for reading!


For those interested, I have two SSDs that are set up in a software
RAID1 with Linux LVM lvmraid(7). This is very flexible and will support
a drive failure… but not bitrot. Indeed, bitrot is detected by the
LVM /scrubbing/ process, but it will not know which drive has the
unaltered data (if any).

Linux LVM RAID has an optional integrity layer that can identify
corrupted data, but while it does fix it on-the-fly by querying the
other drive, it does not report which drive is altering data. And it
disables volume snapshotting.

After doing some research, it seems btrfs does fix all this, since it
maintains data checksums, and its scrubbing process does update
per-drive error counters. 

Btrfshat checksuming works with its copy-on-write design. In practice,
disabling CoW on some files, or even on an entire filesystem, also
disables checksuming. Therefore, I am looking for a way to store news
that would work well with btrfs' copy-on-write. :-)

-- 
Tanguy