Checkpoint domain memory every MS milliseconds (default 200ms).
-=item B<-b>
-
-Replicate memory checkpoints to /dev/null (blackhole).
-Generally useful for debugging.
-
=item B<-u>
Disable memory checkpoint compression.
On the new host, do not wait in the background (on <host>) for the death
of the domain. See the corresponding option of the I<create> subcommand.
+=item B<-F>
+
+Run Remus in unsafe mode. Use this option with caution as failover may
+not work as intended.
+
+=item B<-b>
+
+Replicate memory checkpoints to /dev/null (blackhole).
+Generally useful for debugging. Requires enabling unsafe mode.
+
=back
=item B<pause> I<domain-id>
goto out;
}
+ libxl_defbool_setdefault(&info->allow_unsafe, false);
libxl_defbool_setdefault(&info->blackhole, false);
libxl_defbool_setdefault(&info->compression, true);
+ if (!libxl_defbool_val(info->allow_unsafe) &&
+ libxl_defbool_val(info->blackhole)) {
+ LOG(ERROR, "Unsafe mode must be enabled to replicate to /dev/null");
+ goto out;
+ }
+
GCNEW(dss);
dss->ao = ao;
dss->callback = remus_failover_cb;
libxl_domain_remus_info = Struct("domain_remus_info",[
("interval", integer),
+ ("allow_unsafe", libxl_defbool),
("blackhole", libxl_defbool),
("compression", libxl_defbool),
])
r_info.interval = 200;
libxl_defbool_setdefault(&r_info.blackhole, false);
- SWITCH_FOREACH_OPT(opt, "bui:s:e", NULL, "remus", 2) {
+ SWITCH_FOREACH_OPT(opt, "Fbui:s:e", NULL, "remus", 2) {
case 'i':
r_info.interval = atoi(optarg);
break;
+ case 'F':
+ libxl_defbool_set(&r_info.allow_unsafe, true);
+ break;
case 'b':
libxl_defbool_set(&r_info.blackhole, true);
break;
"Enable Remus HA for domain",
"[options] <Domain> [<host>]",
"-i MS Checkpoint domain memory every MS milliseconds (def. 200ms).\n"
- "-b Replicate memory checkpoints to /dev/null (blackhole)\n"
"-u Disable memory checkpoint compression.\n"
"-s <sshcommand> Use <sshcommand> instead of ssh. String will be passed\n"
" to sh. If empty, run <host> instead of \n"
" ssh <host> xl migrate-receive -r [-e]\n"
"-e Do not wait in the background (on <host>) for the death\n"
- " of the domain."
+ " of the domain.\n"
+ "-F Enable unsafe configurations [-b flags]. Use this option\n"
+ " with caution as failover may not work as intended.\n"
+ "-b Replicate memory checkpoints to /dev/null (blackhole).\n"
+ " Works only in unsafe mode."
},
#endif
{ "devd",