I've found myself needing redundant storage at a block level. File-level replication (Gluster, GFS, etc) does not work for my use case.
It looks like DRBD is the go-to solution for block replication. There don't seem to be too many other sane options. Have I failed in my research, or is DRBD the only game in town?
Yes, DRBD is the only replicated block device out there that can handle concurrent writes. If you plan to put a filesystem on top, it obviously needs to handle multiple writers as well, like GFS(2) and OCFS(2) do.
Please note that if you can afford higher levels of abstraction for redundancy, you'll likely be much, much happier with file-level semantics, so you should really think twice before going with block-level semantics. If you can't use higher levels of abstractions, but have money to throw at the problem, you can achieve significantly better performance with a good SAN.
But you probably know that already.
Well, there's also MARS (Light). According to the documentation this widely used at German provider 1&1
You could set up a RAID set using iSCSI devices but I'd be wary of doing this with asymmetric storage devices (which in the case of remote storage includes the network) - OTOH DRBD is explicitly designed to support such usage.
Is there a reason you don't like DRBD?
If you think that GFS is a replicating cluster filesystem, then I'm afraid so.
I have heard about a variant of the network block device (NBD) which supports replication: ENBD. However, I don't know about the status of that project. The website doesn't look as if it was still supported, though.
There is one alternative: You could use SAN devices with native replication where the disk arrays's controllers do all the replication work themselves. It's quite expensive though, but doesn't need configuration on the hosts.
The question is wrong:
No, it is not. You have e.g. Linux MD (software RAID), LVM RAID. They provide redundancy for block devices.
So you probably wanted to ask:
And then again you have other options.
If the client is one node only you can build software RAID on the client which replicates over several network storages.
If you have multiple clients you can use clustered LVM block devices.
GFS( Redhat's GFS2) is a shared device cluster file system. It does not provide redundancy. Other local filesystems like BTRFS and ZFS can do it though. As well as other distributed file systems.
That's an inaccurate statement. SIOS Technology www.us.sios.com has DataKeeper (https://us.sios.com/resources/product-brief-sios-datakeeper/) that does block level replication in Linux and Windows.