1
0
mirror of https://github.com/schoebel/mars synced 2025-02-19 05:27:01 +00:00
Commit Graph

415 Commits

Author SHA1 Message Date
Thomas Schoebel-Theuer
9799fe5417 marsadm: fix usage 2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
36081e51d8 marsadm: show IP only with --verbose 2014-03-31 06:59:10 +02:00
Thomas Schoebel-Theuer
6050b4157f infra: make string allocation fully dynamic 2014-03-26 11:43:05 +01:00
Thomas Schoebel-Theuer
5371c87f4e marsadm: disable file-based warnings by default 2014-03-20 07:55:23 +01:00
Thomas Schoebel-Theuer
8bd0564564 marsadm: implement new 'view' command 2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
15a9d20fff marsadm: prefer 'fetch' over 'connect' 2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
084e56bc96 marsadm: new get-link 2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
2fc05b5373 light: allow limiting the sync parallelism 2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
11bc9f2e91 marsadm: path correction / systematic naming conventions 2014-03-19 17:49:40 +01:00
Thomas Schoebel-Theuer
0edca689bf marsadm: allow omission of nanoseconds 2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
9340f70c36 light: add info symlinks 2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
2ce5e2aad7 light: add per-resource emergency mode 2014-03-19 17:49:39 +01:00
Thomas Schoebel-Theuer
e0a123e827 marsadm: move global variables 2014-03-19 11:44:57 +01:00
Thomas Schoebel-Theuer
1cb78bae47 marsadm: fix warning 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
a43181a84f marsadm: fix split brain detection 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
1715b4fd40 marsadm: fix recursion depth of _get_common_ancestor() 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
0d5349b2ca marsadm: fix transitive closure for log_purge_res() 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
2ec9800d54 marsadm: fix leave-resource 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
a16875fcfe marsadm: prevent only _new_ split brains 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
e78d0a3078 light: fix peer preferences, use connect-* links 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
223467f37f marsadm: disallow intended primary switch when secondaries are syncing 2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
59cce71e2d marsadm: fix fake_versionlink()
Always fake two versionslinks instead of one.
2014-03-19 11:30:24 +01:00
Thomas Schoebel-Theuer
528b72b0c0 light: fix potential race on deletions 2014-03-19 11:30:23 +01:00
Thomas Schoebel-Theuer
dc535711c8 marsadm: fix leave-resource --force 2014-02-07 09:11:07 +01:00
Thomas Schoebel-Theuer
4c36e803f3 marsadm: add --ip=, fix IP detection 2014-02-06 07:15:09 +01:00
Thomas Schoebel-Theuer
c6a3753c1d marsadm: fix --dry-run 2014-02-04 14:29:28 +01:00
Thomas Schoebel-Theuer
73c32a2f83 marsadm: make device detection more robust 2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
e38225a74c marsadm: fix non-monotony of logfile sequence numbers 2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
a11b63a8b2 marsadm: allow create-resource on pre-existing resource directory 2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
7fa62145b5 marsadm: fix resource destruction via 'delete-resource' 2014-02-03 15:07:45 +01:00
Thomas Schoebel-Theuer
b3a1d7ffa2 marsadm: fix _fake_versionlink() after /mars/ full 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
63171f66ae marsadm: log-purge-all for split brain resolution in desperate cases 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
06f5e42ae6 marsadm: introduce --dry-run 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
2fee916477 marsadm: fix 'secondary' when not locally primary 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
4e17138003 light: make detach/down more robust against following commands
Immediately stop syncing when rource should go down.
2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
9e54983283 marsadm: fix split brain detection 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
00d4713aff marsadm: fix set-link source 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
c7fa35ae5f marsadm: fix delete-file --force 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
ab1723f306 marsadm: fix lamport warning when mars.ko is not loaded 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
059abe866b marsadm: fix lamport timestamp substitute when mars.ko is unloaded 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
202afe0fc4 marsadm: fix spelling 2014-02-03 15:07:44 +01:00
Thomas Schoebel-Theuer
49c13052f7 marsadm: try to avoid split brain on primary switching 2014-02-03 15:07:43 +01:00
Thomas Schoebel-Theuer
2b71a212de marsadm: use stderr for errors and warnings 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
f9ea0132f3 marsadm: 'primary' denies waiting for device during split brain 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
d5e3b4e1f1 marsadm: fix split brain detection 2014-02-03 15:06:36 +01:00
Thomas Schoebel-Theuer
07bd8db714 marsadm: fix call of localtime() in old perl versions 2014-02-03 15:06:35 +01:00
Thomas Schoebel-Theuer
7ad628a725 light: create detailed warn message in userspace 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
6755b8e4b8 marsadm: remove superfluous _get_former_primary()
This cannot work in case of split brain.
Therefore, some primary must be designated always explicitly.
2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
adf79307af marsadm: skip sequence number check on every jump 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
a144e5f93b marsadm: always update timestamp of primary symlink 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
afbf794e1a marsadm: fix version links in 'invalidate' 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
3b757354c3 marsadm: fix faking new versionlink on join-resource 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
a3c429fdd1 marsadm: remove all version links at leave-resource 2014-02-03 15:06:34 +01:00
Thomas Schoebel-Theuer
860ec8d37a marsadm: reject join-resource if no primary is designated 2014-01-23 11:56:36 +01:00
Thomas Schoebel-Theuer
7fff95b560 marsadm: better error message at failed 'invalidate' 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
a26198d97e marsadm: wait for devices to {dis,}appear even on {prim,second}ary --force 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
767bb03060 marsadm: allow overrides of "marsadm secondary" in disconnected clusters
When the communication is down in partitioned clusters, the command
"marsadm seconodary" would normally use the current timestamp of
the command execution for the Lamport update protocol.

Make an exception for the case that a concurrent "marsadm primary"
was given somewhere else on a disconnected / partitioned node: let
the "primary" always win over a "secondary" command.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c861a0d202 marsadm: disallow 'primary --force' in connected state
DRBD does not allow to deliberately provoke a SPLIT BRAIN
in connected state.

Thus MARS Light cannot be required to support such silly things
in any way.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c84caa6bf4 marsadm: print warnings when SPLIT BRAIN is detected 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
4c94d82caa marsadm: early abort is-device-on when not designated primary 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
6798580065 marsadm: do resource checks only once per command 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
da3652bba9 marsadm: reject invalidate earlier when no primary is designated 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
561bf67a55 marsadm: wait for deletions after leave-resource 2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
216ecbffde marsadm: prevent mutual overwrite of delete symlinks
Add an (unused) host context. Previously, concurrent
log-delete operations triggered by cron could lead to
unnecessary loss of deletetion symlinks.
2014-01-23 11:56:35 +01:00
Thomas Schoebel-Theuer
c379a5e88f marsadm: remove superfluous connect links 2014-01-23 11:56:35 +01:00
Frank Liepold
02558d5ab0 marsadm: correct message
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Frank Liepold
5766d22e6b marsadm: invalidate does not delete logfiles or version links anymore
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Frank Liepold
83361f0745 marsadm: leave-resource removes logfiles and version links of the resource
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-10-22 09:40:06 +02:00
Thomas Schoebel-Theuer
94e1ac2ad0 all: remove internal URLs 2013-08-02 11:45:21 +02:00
Frank Liepold
820708e712 marsadm: command down includes disconnect
Fixes the following bug:
marsadm down does not disconnect the resource.
2013-07-29 16:30:10 +02:00
Frank Liepold
e3db28c4d7 marsadm: correct wrong condition for checking exclusive access
The fixed bug was introduced in commit:

marsadm: 'create-resource' --force no longer checks for exclusive access
2013-07-25 09:12:46 +02:00
Frank Liepold
2e441d0d11 marsadm: use lamport clock as mtime of symbolic links
Fixes the following bug:
Symbolic links which are created in userspace get the current time
as mtime.
2013-07-25 08:42:27 +02:00
Thomas Schoebel-Theuer
0d8d637dee marsadm: 'create-resource' --force no longer checks for exclusive access 2013-07-22 08:44:03 +02:00
Frank Liepold
08d4f863ff marsadm: command secondary must not change primary link if executed on a secondary
Fixes the bug, that marsadm secondary sets the link <resource_dir>/primary
to (none) even if executed on a secondary host.
2013-07-22 08:44:03 +02:00
Thomas Schoebel-Theuer
ddf28af52d marsadm: fix 'invalidate' racing against replay 2013-07-22 08:44:03 +02:00
Thomas Schoebel-Theuer
295b0f4ada marsadm: relax precondition for create-resource 2013-07-04 07:21:01 +02:00
Thomas Schoebel-Theuer
e0d980223b marsadm: wait-cluster has-device waits for actual device appearance 2013-07-04 07:21:01 +02:00
Thomas Schoebel-Theuer
269c53d565 marsadm: make 'wait-connect' an alias to 'wait-resource' 2013-07-04 07:21:00 +02:00
Thomas Schoebel-Theuer
228a464c8a marsadm: mark "verify" as forbidden
It would be dangerous since DRBD semantics are not implemented.
2013-07-04 07:21:00 +02:00
Thomas Schoebel-Theuer
45f462026f marsadm: fix leave-resource cleanup
Now the sequence leave-resource ; join-resource should work.

When the last member of the resource has gone and create-resource is
tried anew, there is a new saftey measure: the old resource directory
is left over deliberately, thus the new create-resource will deny creation
because some unreachable cluster node may have existed, such that we
didn't even know of its resource membership. This very special
case requires --force and some handwork cleanup.
2013-07-04 07:21:00 +02:00
Frank Liepold
62b016d4cc marsadm: set syncstatus link on primary after marsadm resize 2013-07-04 07:21:00 +02:00
Daniel Hermann
e0ed98eb14 marsadm: secondary waits until device has disappeared
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-06-29 21:15:17 +02:00
Thomas Schoebel-Theuer
fd39137cc9 marsadm: 'secondary' waits until device has disappeared 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
15c76e9ffb marsadm: check block device for exclusive access in {create,join}-resource 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
84bb63ccc8 marsadm: remove potentially dangerous internal _create_cluster() call 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
eec86bf1af marsadm: create initial versionlink upon create-resource 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
e7edf0020e marsadm: workaround race between create-resource and join-resource 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
dab34fa2f6 marsadm: new command 'set-link' 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
cacea6d673 marsadm: abort 'primary' operation upon errors 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
2ab837cf09 marsadm: augment 'wait-resource' with specific wait conditions 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
ea286c6da1 marsadm: add new option --host= 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
dca17cb9b1 marsadm: change defaults for *{,-local,-global}
By default, {dis}connect and {pause,resume}-{replay,sync} should
only switch the _local_ buttons. Otherwise, unexpected side-effects
could result at bigger clusters (#nodes >> 2) from a human point of view.

The new behaviour is different from DRBD, but DRBD was (until recently)
only working on _pairs_, so global spreadout was impossible.

Global switching may be requested at any time by appending suffix
"-global", which is just no longer the default in MARS.

If anyone has objections, it is straightforward to change the
defaults again.
2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
fc0e6baa01 marsadm: new command delete-file 2013-06-20 15:08:28 +02:00
Thomas Schoebel-Theuer
3f6d1d8858 marsadm: report errors during wait for primary 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
6c3d225f1d marsadm: fix detection of /mars/ directory 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
60adc8a1c5 marsadm: fix versionlink creation on freshly joined resource 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
99a8800b03 marsadm: fix 'invalidate', split into phases 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
fca84e9417 marsadm: optional size argument for 'create-resource' 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
ab08291124 marsadm: fix join-cluster 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
396ec7f0f9 marsadm: fix leave-resource, split into phases 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
7187462a6e marsadm: add global uuid to cluster 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
a1920494b4 marsadm: new commands {cat,show-{info,errors}} 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
62a2dea515 marsadm: remove timestamp functions
Timestamps of symlinks are used for Lamport comparison
(any newer one overwrites any older one).

That concept should _not_ be used for any other comparison, since
there is no / not yet any "transactional" property of
bulk updates of symlinks (the Lamport condition treats each
symlink independently from any other).

Until such "transactions" are introduced at the strategy layer,
timestamp comparisons between _different_ symlinks are
unmeaningful in general.
2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
e9035548a4 marsadm: split {{at,de}tach,up,down} into phases 2013-06-20 15:08:27 +02:00
Thomas Schoebel-Theuer
0e15b38457 marsadm: add new commands 'wait-{cluster,resource}' 2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
359c039445 marsadm: add new command 'wait-umount' 2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
0953801a6e marsadm: fix primary detection
The actual-*/is-primary symlink may race with the appearance
of the device. Use both conditions to be sure.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
2dd3033ff4 marsadm: split command "primary" into phases 2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
dab60da817 marsadm: allow calling multiple functions in phases
Add infrastructure for splitting commands in multiple phases.
Usually, phase0 will check for some preconditions, while
phase1 will execute the command. The final result will only
be committed if nothing fails.

The difference to the old behaviour will only show up when combined
with 'all' resources. If anything fails in phase0, nothing will be
touched in phase1. The old behaviour could touch some resources,
but omit others when something failed.

The new behaviour is more transactional-like.
2013-06-03 09:05:46 +02:00
Thomas Schoebel-Theuer
14e9582e93 marsadm: fix join-resource 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
4690deb873 marsadm: check attach state 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
0bab62f434 marsadm: fix detection of incompatible versions 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
b7c1900820 marsadm: use Lamport time for symlink creation 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
30f97cd23f light: fix symlink deletion 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
ca07c9a763 marsadm: fix log-delete{,-all} 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
77fdc4cc1a marsadm: improve check_* routines 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
6964573aa3 marsadm: disallow resize to smaller size 2013-05-13 12:50:29 +02:00
Thomas Schoebel-Theuer
b0c09061e9 marsadm: allow only multiples of 4k as size arguments 2013-04-25 22:32:37 +02:00
Thomas Schoebel-Theuer
46f815f54e marsadm: add optional size argument to resize command 2013-04-25 16:06:18 +02:00
Thomas Schoebel-Theuer
8d93439dcb marsadm: add new command 'set-replay' 2013-04-22 14:40:24 +02:00
Thomas Schoebel-Theuer
22f75b9d71 marsadm: rewrite / correct symlink faking 2013-04-22 14:40:24 +02:00
Thomas Schoebel-Theuer
03f418c2c7 marsadm: improve message texts and parameter semantics 2013-04-22 11:50:07 +02:00
Thomas Schoebel-Theuer
8f081105fd marsadm: fix distinction _get_{designated,actual}_primary 2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
109eed06f3 marsadm: fix and unify readlink() usage 2013-04-22 11:48:50 +02:00
Thomas Schoebel-Theuer
78c7c307ea marsadm: fix primary checks 2013-04-22 11:48:50 +02:00
Daniel Hermann
92951e491b marsadm: improve primary/secondary command behaviour
Previously, the 'marsadm primary' and 'marsadm secondary' commands
were successful as soon as the target primary was successfully set
to the new primary or '(none)', respectively.  This commit appends
a check to wait until the primary is really changed (actual state).

Changes in marsadm:
- Added check_primary_settled() function
- Do not use local variable named '$host' in _primary_res() since
  a global variable with same name exists.
- Do not use/set global variable '$host' in primary_res().  Use
  local variable '$new' initially set to '$host' instead.
- Make 'secondary' command idempotent ("is already secondary")
- Call trigger() and check_primary_settled() in primary_res()

Related minor changes:
- marsadm: Added optional parameter 'sleeptime' to sleep_timeout()
- Removed debug output in check_file_aged()

Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-18 10:09:15 +02:00
Thomas Schoebel-Theuer
f2b8256fcd marsadm: categorize commands correctly 2013-04-17 12:03:00 +02:00
Thomas Schoebel-Theuer
e02c06e265 marsadm: disallow --force on 'all' resources 2013-04-17 12:03:00 +02:00
Thomas Schoebel-Theuer
9187bf210d marsadm: check for matching version numbers 2013-04-17 11:03:13 +02:00
Thomas Schoebel-Theuer
f5fae8e4ba light: show runtime connection status information 2013-04-12 08:26:25 +02:00
Daniel Hermann
4dafa9467a marsadm: use actual primary where appropriate instead of target primary
The actual primary is decoded in 'actual-*/is-primary' links, while the
target primary is decoded in the 'primary' link.  This is not clearly
taken into account in several functions of marsadm.  This commit fixes
this problem.

- Added _get_actual_primary() function
- Remove $pri parameter in _primary_res
- Use _get_actual_primary() where actual state should be used

Commits 3e96a5e 578d003 5dccbdc rebased to dfeb8e6

Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Daniel Hermann
3bf3745ec8 marsadm: use lamport clock for checking modification timestamps of symlinks
- Added mars_time() function returning lamport clock
- Renamed check_mtime to check_file_aged and fixed to use mars_time()
- Renamed check_all_mtimes to check_files_modified_any_of

Commits eb849e2 1be8700 fbb415a rebased on dfeb8e6

Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Daniel Hermann
7a42f95d6c marsadm: renam _allowed_logdelete() to _min_nondeletable_logfile()
Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Daniel Hermann
5d3d777b86 marsadm: fix check_primary/check_not_primary to use actual state ('is-primary')
The actual state is decoded in 'actual-*/is-primary' links, while the target
state is decoded in the 'primary' link.
- check_primary() now uses actual state
- check_not_primary() now uses both actual state and target state

Commits c38a822 94ac15a rebased on eaba743

Signed-off-by: Thomas Schoebel-Theuer <tst@1und1.de>
2013-04-11 11:01:25 +02:00
Thomas Schoebel-Theuer
eaba743456 light: separate logging of transaction logfile problems 2013-04-09 14:01:07 +02:00
Thomas Schoebel-Theuer
c275bec28d light: new systematics for emergency modes (filesystem full) 2013-04-08 17:02:57 +02:00
Thomas Schoebel-Theuer
3e22a3faca marsadm: role command distincts between actual and todo 2013-04-03 11:44:16 +02:00
Thomas Schoebel-Theuer
6519dced2d marsadm: add new 'show' command
Display all relevant symlinks as key=value pairs.
2013-04-03 11:44:04 +02:00
Thomas Schoebel-Theuer
9763a49551 marsadm: change whitespace to match kernel coding style 2013-04-03 09:22:32 +02:00
Thomas Schoebel-Theuer
5fc1844eba marsadm: allow switchback to primary when I am actually primary
For example, when /dev/mars/something is mounted or in another use,
switching to secondary will only succeed after the device has
been closed. During this intermediate state, we allow to switch
back to primary without checking all the big checks.
2013-04-03 09:17:26 +02:00
Daniel Hermann
01340092de marsadm: Fixed check_splitbrain() to allow obsolete version link syntax
Signed-off-by: Thomas Schoebel-Theuer <schoebel@bell.site>
2013-03-11 14:39:17 +01:00
Thomas Schoebel-Theuer
be57ca7949 marsadm: document global options 2013-02-13 11:57:01 +01:00
Thomas Schoebel-Theuer
1516c46bf2 marsadm: add --timeout= option 2013-02-13 11:50:44 +01:00
Thomas Schoebel-Theuer
640a1742e3 marsadm: implement mars-state command 2013-02-12 15:39:49 +01:00
Thomas Schoebel-Theuer
c47d55cc49 marsadm: fix --force for switching to secondary 2013-02-12 15:39:12 +01:00
Thomas Schoebel-Theuer
e88e857ee9 light: show logfile name in versionlink 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
4dbedabd78 marsadm: fix typo leading to wrong deletes of versionlinks 2013-01-23 20:07:01 +01:00
Thomas Schoebel-Theuer
c6d22e7553 marsadm: log all messages to syslog 2013-01-23 20:06:56 +01:00
Thomas Schoebel-Theuer
fadaacef15 marsadm: treat log-delete-all equally to log-delete
Hopefully this does not break anything.
2013-01-20 23:24:30 +01:00
Thomas Schoebel-Theuer
6f77dcc562 marsadm: tolerate missing version symlinks upon fake 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
c7c3ef135f marsadm: reset replaylink at invalidate (ITOPWPT-230) 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
51307fe7a6 marsadm: log-delete-all left-over version symlinks (ITOPWPT-241) 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
a78094c799 marsadm: fix deletion of empty logfiles (ITOPWPT-237) 2013-01-20 23:24:29 +01:00
Thomas Schoebel-Theuer
0a7b6df106 marsadm resize: change syncstatus only at the primary 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
57ee4e306f marsadm: better verbosity at resize problem with syncstatus 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
c532f909ad marsadm: check for already running sync, fix syncstatus 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
a9e7affde5 marsadm: fix wrong minimum computation in resize 2013-01-20 23:24:28 +01:00
jmann
380a38a903 small fixed for help and command 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
0ff5504db1 marsadm: fix typo in pause_replay_local_res 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
118d6f8c84 marsadm: fix stabilizing of resource in the cluster 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
dcf54eacf7 marsadm: allow *-cluster only when kernel module unloaded 2013-01-20 23:24:28 +01:00
Thomas Schoebel-Theuer
100fdf1e6c marsadm: fix unintended switchover to secondary 2013-01-20 23:24:25 +01:00
Thomas Schoebel-Theuer
69d47e8f96 marsadm: implement leave-{cluster,resource} 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
8ad0d372aa light: implement resize operation during operation 2013-01-20 23:24:24 +01:00
Thomas Schoebel-Theuer
02fab7692f marsadm: start connected after join-resource etc 2013-01-20 23:24:22 +01:00
Thomas Schoebel-Theuer
00f7b9e55b add replicated directories for userspace usage 2013-01-20 23:24:21 +01:00
jmann
b0cdd13ce5 same more fixes 2013-01-20 23:24:20 +01:00
jmann
1bfe46ee1a add small help and manpage for marsadm, mars-status 2013-01-20 23:24:19 +01:00
Ulrich Goettlich
a09bf514a9 added --version option to marsadm 2013-01-20 23:24:16 +01:00
Ingvar Gilbert
2e923f145e marsadm: die if IP not detected 2013-01-20 23:24:15 +01:00
Ingvar Gilbert
42ec65952d marsadm: use first IP on eth0 2013-01-20 23:24:15 +01:00
Thomas Schoebel-Theuer
4a9f141f8b marsadm: obey --force at log-delete-all 2013-01-20 23:24:13 +01:00
Thomas Schoebel-Theuer
7b0f4dbec4 new command marsadm log-delete-all 2013-01-20 23:23:47 +01:00
Thomas Schoebel-Theuer
c20181c17b rework of check_splitbrain() logic
also delete old versionlinks at marsadm log-delete
2013-01-20 23:23:47 +01:00
Thomas Schoebel-Theuer
f28d439dfb create faked versionlinks upon late join-resource 2013-01-20 23:23:42 +01:00
Thomas Schoebel-Theuer
54f9334643 better --force handling 2013-01-20 23:23:42 +01:00
Thomas Schoebel-Theuer
92d9778dd7 fix race on primary switchover
solution: wait until all in /mars/resouce-*/ has stabilized
for 60s and all known logfiles have been migrated.
This more a workaround than a solution and should be fixed
in MARS FULL.
2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
81bfb9471a fix network race on primary/secondary switch
The race could lead to unnecessary split brain.
Now we wait until everything in the resource directory became stable
for at least 60 seconds. This may be somewhat too conservative
when having k>2 participants on the same resource.
2013-01-20 23:23:41 +01:00
Thomas Schoebel-Theuer
2f9d86b994 rename /proc/sys/mars to /proc/sys/mars/trigger
create basis for adding more entries to /proc/sys/mars/
2013-01-20 23:23:40 +01:00
jmann
cc3f4e9ac5 fix remote connect on marsadm 2013-01-20 23:23:31 +01:00
Thomas Schoebel-Theuer
d4f6d3f6a4 added feature log-rotate (while the system is loaded) 2013-01-13 12:12:06 +01:00
Thomas Schoebel-Theuer
1a58aadc90 fix bad checking in log-delete 2013-01-13 12:12:06 +01:00
Thomas Schoebel-Theuer
977e5a3b3a introduced "marsadm log-delete"
TBD: "marsadm log-purge"
TBD: long-term cleanup of symlinks in /mars/todo-global/
2013-01-13 12:12:06 +01:00
Thomas Schoebel-Theuer
681ffcb35e introduced allow-replay (independent from pause-sync) 2013-01-13 12:12:06 +01:00
Thomas Schoebel-Theuer
6f5a3b0da2 fix bad replay symlink upon join-resource 2013-01-13 12:12:06 +01:00
Thomas Schoebel-Theuer
750a36de5d Merge branch 'master' of ssh://git.schlund.de/tst/mars
Conflicts:
	userspace/marsadm
2013-01-13 12:12:06 +01:00
jmann
538bff0812 fix marsadm for replay links 2013-01-13 12:12:05 +01:00
Thomas Schoebel-Theuer
ad9f40eac5 fix setup of secondaries, remove faked version links
remaining bug: version symlink is omitted when transaction log has size 0.
2013-01-13 12:12:05 +01:00
jmann
59af89b6f9 Syntaxerror marsadm 2013-01-13 12:12:05 +01:00
Thomas Schoebel-Theuer
2793ec2148 fix possible hole in join_cluster checking, add $Id$ to marsadm 2013-01-13 12:12:05 +01:00
Thomas Schoebel-Theuer
713dd11960 fix missing test upon join-resource 2013-01-13 12:12:05 +01:00
root
9d00314c49 replace switch-*/ by todo-*/ 2013-01-13 12:11:51 +01:00
Thomas Schoebel-Theuer
3091f75f67 import mars-125.tgz 2013-01-08 15:54:44 +01:00
Thomas Schoebel-Theuer
374f37aca9 import mars-121.tgz 2013-01-08 15:54:41 +01:00
Thomas Schoebel-Theuer
62ed7174e8 import mars-118.tgz 2013-01-08 15:54:38 +01:00
Thomas Schoebel-Theuer
ead69b3294 import mars-116.tgz 2013-01-08 15:54:37 +01:00
Thomas Schoebel-Theuer
64885b651e import mars-115.tgz 2013-01-08 15:54:37 +01:00
Thomas Schoebel-Theuer
2a4d50d2a5 import mars-114.tgz 2013-01-08 15:54:36 +01:00
Thomas Schoebel-Theuer
60f17b2db8 import mars-112.tgz 2013-01-08 15:54:34 +01:00
Thomas Schoebel-Theuer
45ebd8c50f import mars-111.tgz 2013-01-08 15:54:33 +01:00
Thomas Schoebel-Theuer
9e6af72a34 import mars-110.tgz 2013-01-08 15:54:33 +01:00
Thomas Schoebel-Theuer
b01cfa51e2 import mars-105.tgz 2013-01-08 15:54:31 +01:00
Thomas Schoebel-Theuer
c430b3701f import mars-83.tgz 2013-01-08 15:54:21 +01:00
Thomas Schoebel-Theuer
9b1410c0ef import mars-82.tgz 2013-01-08 15:54:20 +01:00
Thomas Schoebel-Theuer
ee9a1d47ff import mars-81.tgz 2013-01-08 15:54:20 +01:00
Thomas Schoebel-Theuer
39e1d97553 import mars-80.tgz 2013-01-08 15:54:19 +01:00
Thomas Schoebel-Theuer
5ede8cd9ce import mars-75.tgz 2013-01-08 15:54:15 +01:00
Thomas Schoebel-Theuer
aa208e44d4 import mars-71.tgz 2013-01-08 15:54:13 +01:00
Thomas Schoebel-Theuer
4c4f0a8691 import mars-69.tgz 2013-01-08 15:54:12 +01:00
Thomas Schoebel-Theuer
bbff01d71f import mars-68.tgz 2013-01-08 15:54:12 +01:00
Thomas Schoebel-Theuer
7dec70085d import mars-67.tgz 2013-01-08 15:54:12 +01:00
Thomas Schoebel-Theuer
778f1f37ed import mars-65.tgz 2013-01-08 15:54:10 +01:00
Thomas Schoebel-Theuer
93b96df54f import mars-61.tgz 2013-01-08 15:54:07 +01:00
Thomas Schoebel-Theuer
88adc7457a import mars-60.tgz 2013-01-08 15:54:06 +01:00
Thomas Schoebel-Theuer
d9a6c14a89 import mars-56.tgz 2013-01-08 15:54:05 +01:00