Asynchronous Block-Level Storage Replication
Go to file
Thomas Schoebel-Theuer 461ac8b4cd marsadm: new switch semantics on marsadm primary
Apparently, sysadmins often forget to execute "marsadm up mydata"
(or similar) after a failover.

Recall the failover command sequence:
"marsadm pause-fetch mydata; marsadm primary --force mydata"

Some months later, other sysadmins in the group are stumbling over
the very old "pause-fetch" after a regular planned handover via
"marsadm primary mydata". It works, but the former primary
(which is now secondary) does no longer fetch data, because of the
very old pause-fetch command which was never reverted.

Afterwards, /mars is filling up slowly over a long time.

Somewhen later (e.g. a few days), a monitoring alert "/mars too full"
is happening at midnight, leading to an unnecessary on-duty call.

A different type of monitoring could help, by not only
tracking the filling level of /mars, but also view-todo-fetch or
similar. However, some people dislike this, because there
exist operational use cases (like creation of backups) where pause-fetch
is executed _deliberately_ for a longer time.

Here is a workaround for a forgotten resume-fetch / up after
the first failover:

After the  _original_ "marsadm primary" or "primary --force" has
succeeded by appearance of /dev/mars/mydata, we simply execute
the equivalent of "marsadm up mydata".

This changes the semantics of the "primary" command. Hopefully
no scripts on this world will break.
2020-11-07 08:25:47 +01:00
contrib all: globally s/mars-manual.pdf/mars-user-manual.pdf/ 2019-11-05 21:43:45 +01:00
docu doc: checkout version 0.1a-110 2020-09-30 14:24:27 +02:00
football@152f499fbd football: update to Football-2.0 2019-07-10 11:27:37 +02:00
kernel main: allow silent reporting 2020-11-07 08:25:47 +01:00
pre-patches all: update pre-patches for aio_max_nr self-tuning 2020-01-31 08:07:35 +01:00
scripts infra: fix transitive option propagation in gen_config.pl 2014-08-07 15:26:02 +02:00
systemd contrib: improved systemd templates for testing 2019-12-25 09:17:58 +01:00
test_suite all: distinguish contrib from maintained code 2014-06-18 12:10:54 +02:00
userspace marsadm: new switch semantics on marsadm primary 2020-11-07 08:25:47 +01:00
.gitattributes infra: add .gitignore 2013-01-08 15:53:47 +01:00
.gitignore test_suite: current state 2013-12-12 10:59:01 +01:00
.gitmodules all: add subproject football 2018-04-20 12:45:12 +02:00
AUTHORS all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00
ChangeLog all: release mars0.1astable112 2020-10-28 07:02:32 +01:00
COPYING all: prepare publication at github 2013-01-25 11:58:46 +01:00
INSTALL all: globally s/mars-manual.pdf/mars-user-manual.pdf/ 2019-11-05 21:43:45 +01:00
NEWS doc: README points to http://schoebel.github.io/mars/ 2013-11-18 13:41:50 +01:00
README all: clarify license GPLv2+ 2014-11-25 18:09:17 +01:00

MARS Long Distance Replication Software

See http://schoebel.github.io/mars/

Very detailed documentation / motivation / use cases can be found there.
Please look into the docu/ subdirectory.

License: GPLv2+ (see file COPYING)
Documentation is under FDL.

This is intended for the whole project, and is valid for all parts
from the original author as well as parts from 1&1.

Any further contributors to contrib/ subdirectory are strongly encouraged
to put their files also under GPL or FDL, or at least a compatible
license (see newest descriptions at fsf.org).