diff --git a/documentation/sphinx/source/administration.rst b/documentation/sphinx/source/administration.rst index fc107b6188..414ee9becc 100644 --- a/documentation/sphinx/source/administration.rst +++ b/documentation/sphinx/source/administration.rst @@ -213,6 +213,10 @@ To temporarily or permanently remove one or more machines from a FoundationDB cl If you interrupt the exclude command with Ctrl-C after seeing the "waiting for state to be removed" message, the exclusion work will continue in the background. Repeating the command will continue waiting for the exclusion to complete. To reverse the effect of the ``exclude`` command, use the ``include`` command. + Excluding a server with the ``failed`` flag will shut it down immediately; it will assume that it has already become unrecoverable or unreachable, and will not attempt to move the data on the machine away. This may break the guarantee required to maintain the configured redundancy mode, which will be checked internally, and the command may be denied if the guarantee is violated. This safety check can be ignored by using the command ``exclude FORCE failed``. + + In case you want to include a new machine with the same address as a server previously marked as failed, you can allow it to join by using the ``include failed`` command. + 4) On each removed machine, stop the FoundationDB server and prevent it from starting at the next boot. Follow the :ref:`instructions for your platform `. For example, on Ubuntu:: user@host3$ sudo service foundationdb stop @@ -222,7 +226,7 @@ To temporarily or permanently remove one or more machines from a FoundationDB cl 6) You can optionally :ref:`uninstall ` the FoundationDB server package entirely and/or delete database files on removed servers. -7) If you ever want to add a removed machine back to the cluster, you will have to take it off the excluded servers list to which it was added in step 3. This can be done using the ``include`` command of ``fdbcli``. Typing ``exclude`` with no parameters will tell you the current list of excluded machines. +7) If you ever want to add a removed machine back to the cluster, you will have to take it off the excluded servers list to which it was added in step 3. This can be done using the ``include`` command of ``fdbcli``. If attempting to re-include a failed server, this can be done using the ``include failed`` command of ``fdbcli``. Typing ``exclude`` with no parameters will tell you the current list of excluded and failed machines. Moving a cluster ================ diff --git a/documentation/sphinx/source/command-line-interface.rst b/documentation/sphinx/source/command-line-interface.rst index d46a751b95..87cfba111a 100644 --- a/documentation/sphinx/source/command-line-interface.rst +++ b/documentation/sphinx/source/command-line-interface.rst @@ -128,10 +128,12 @@ For more information on setting the cluster description, see :ref:`configuration exclude ------- -The ``exclude`` command excludes servers from the database. Its syntax is ``exclude ``. If no addresses are specified, the command provides the set of excluded servers. +The ``exclude`` command excludes servers from the database or marks them as failed. Its syntax is ``exclude [failed] ``. If no addresses are specified, the command provides the set of excluded and failed servers. For each IP address or IP:port pair in ````, the command adds the address to the set of excluded servers. It then waits until all database state has been safely moved off the specified servers. +If the ``failed`` keyword is specified, the address is marked as failed and added to the set of failed servers. It will not wait for the database state to move off the specified servers. + For more information on excluding servers, see :ref:`removing-machines-from-a-cluster`. exit @@ -213,9 +215,13 @@ The following options are available for use with the ``option`` command: include ------- -The ``include`` command permits previously excluded servers to rejoin the database. Its syntax is ``include all|``. +The ``include`` command permits previously excluded or failed servers to rejoin the database. Its syntax is ``include [failed] all|``. -If ``all`` is specified, the excluded servers list is cleared. +The ``failed`` keyword is required if the servers were previously marked as failed rather than excluded. + +If ``all`` is specified, the excluded servers list is cleared. This will not clear the failed servers list. + +If ``failed all`` or ``all failed`` is specified, the failed servers list is cleared. This will not clear the excluded servers list. For each IP address or IP:port pair in ````, the command removes any matching exclusions from the excluded servers list. (A specified IP will match all ``IP:*`` exclusion entries).