#770247 ITP: mars -- Asynchronous Block-Level Storage Replication

#770247#5
Date:
2014-11-20 00:44:45 UTC
From:
To:
   Package name: mars-dkms
        Version: 0.1.09
Upstream Author: Thomas Schoebel-Theuer <tst@1und1.de>
            URL: http://schoebel.github.io/mars/
        License: GPL-2+, GFDL-1.3+
    Description: Asynchronous Block-Level Storage Replication
 MARS can be used to replicate Linux-based storage devices, or even whole
 datacenters, over arbitrary distances (geo-redundancy).
 .
 Main features:
 .
    Anytime Consistency
    Arbitrary Distances
    Tolerates Flaky Networks
 .
 MARS Light is almost a drop-in replacement for DRBD (block-level storage
 replication). It runs as a Linux kernel module.
 .
 In contrast to plain DRBD, it works asynchronously and over arbitrary
 distances. Our internal 1&1 testing runs between datacenters in the US and
 Europe. MARS uses very different technology under the hood, similar to
 transaction logging of database systems.
 .
 Reliability: application and replication are completely decoupled. Networking
 problems (e.g. packet loss, bottlenecks) have no impact onto your application
 at the primary side.
 .
 Anytime Consistency: on a secondary node, its version of the underlying disk
 device is always consistent in itself, but may be outdated (represent a
 former state from the primary side). Thanks to incremental replication of the
 transaction logfiles, usually the lag-behind will be only a few seconds, or
 parts of a second.
 .
 Synchronous or near-synchronous operating modes are planned for the future,
 but are expected to work reliably only over short distances (less than 50km),
 due to fundamental properties of distributed systems.

#770247#10
Date:
2014-11-20 17:12:41 UTC
From:
To:
Note that the user reading this description need not be familiar with
DRBD to understand it.  Hence I would reverse this sentence to produce
something like

  MARS Light is a block-level storage replication solution implemented
  in the form of a Linux kernel module.
  .
  It's almost a drop-in replacement for DRBD but it works
  asynchronously and over arbitrary distances.

When a user reads the package description, "our" is a moot term for
them at that time; at best, it would mean "Debian" which is clearly not
true. Hence I'd refactor the long description making it as much neutral
as possible, refining the above to become

  MARS Light is a block-level storage replication solution implemented
  in the form of a Linux kernel module.
  .
  It's almost a drop-in replacement for DRBD but it works
  asynchronously and over arbitrary distances using a technology
  similar to transaction logging of database systems.

These two paragraphs sound OK if a bit too long.
advertisement brief, not a package description.

#770247#15
Date:
2014-11-20 22:34:20 UTC
From:
To:
Hi Konstantin,

Thank you for your good description improvement suggestions.
I completely agree with all of them. It was just a quick RFP where I copy-
pasted upstream description as is. Of course it is not perfect but now, thanks
to you, maintainer will have a pretty good ideas how to improve it.
--- Good luck happens when preparedness meets opportunity.
#770247#24
Date:
2021-01-21 21:58:52 UTC
From:
To:
Forwarding to the ITP because I believe mars is an interesting project
and to keep people in the loop.





Hi, thanks for the updates!


Agree, getting mars into mainline will probably take some time,
specially because of the required kernel patches. But I found that mars
module can work fine with the vanilla/debian kernel when compiling it
via dkms.


I tested manually, setting up a small volume and writing lots of stuff
in it while checking the mars file in /proc (it really resembles mysql
replication, yay!). I would like to have some tests running just to give
me more confidence that I will not face any edge case. I'm trying to
have the current test suite running, so far I have a work-in-progress at
https://github.com/fgbreel/mars/tree/wip-dkms-run-test-suite where I'm
setting up two virtual machines, installing the package and running the
tests.


I felt that the existing test suite seems a bit rusty, but I don't mind.
Having *something* to assert that mars dkms works makes me happy :)


I'll check out the link/new test suite you shared and see how it fit the
whole picture. I just landed on a new job, but I'll try to provide an
update soon.

Stay safe,

Gabriel Francisco