Coder Social home page Coder Social logo

documentation's People

Contributors

alok-pathak avatar ayurchen avatar byte avatar cpcerrato avatar dirtysalt avatar grooverdan avatar itooon avatar kennethdyer avatar kennethpjdyer avatar kirjaamo avatar klausenbusk avatar martinburke avatar martinmkd avatar mbonnin avatar philip-galera avatar russelljtdyer avatar sciascid avatar shinguz avatar stefan-langenmaier avatar temeo avatar tuladhar avatar vasild avatar victor-d avatar wolbernd avatar wornet-mwo avatar ziodave avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

documentation's Issues

Document EVS auto eviction

Overwiew:

Auto eviction is a process to remove a node with erratic behavior permanently from cluster.

Each of the nodes monitor group communication response times from other nodes and if one of the other nodes gets delayed for more than evs.delay_margin from expected response time, it will be added to the list of delayed nodes. If node on delayed list stays responsive for evs.delayed_keep_period time, one entry is removed from delayed list. If the number of entries in delayed list for some node reaches evs.auto_evict and majority of the nodes have it on delayed list, the node is evicted permanetly from the cluster and cannot join back until restarted.

Related Parameters:

evs.delay_margin:

Time period that a node can delay its response from expected until it is added to delayed list. The value must be higher than the highest RTT between nodes. Default PT1S.

evs.delayed_keep_period:

Time period that node is required to remain responsive until one entry is removed from delayed list. Default PT30S.

evs.evict

Manual eviction can be triggered by setting evs.evict to certain node value. Setting evs.evict to empty string will clear the evict list on the node where it is set.

evs.auto_evict:

Number of entries allowed on delayed list until auto eviction takes place. Setting value to 0 disables auto eviction protocol on the node, though node response times will still be monitored. Default 0.

evs.version:

EVS protoco version. Auto eviction is enabled on evs.version=1. Default 0 for backwards compatibility.

New Status Variables:

The following status variables have been added:

wsrep_evs_state:

Internal EVS protocol state.

wsrep_evs_delayed:

Comma separated list of nodes that are considered delayed. The node format is <uuid>:<address>:<count> where <count> is the number of entries on delayed list for that node.

wsrep_evs_evict_list:

List of UUIDs of the evicted nodes.

Upgrade From Previous Versions:

In order to take advantage of auto eviction, EVS protocol must be upgraded to version 1.

Versions before 3.8 used evs.version=0 and are not directly compatible with evs.version=1. Upgrade from previous versions must be in the following way:

  • Start upgraded node with evs.version=0 in wsrep_provider_options
  • Once all nodes have been upgraded, set evs.version=1 in
    wsrep_provider_options on all of the nodes.
  • Add evs.version=1 to wsrep_provider_options in configuration to make
    sure that version upgrade is maintained in the following restarts.

Documentation with garbd

Issue by johankooi
Thursday Jun 05, 2014 at 10:02 GMT
Originally opened as codership/galera#52


On Fedora (and maybe some more distributions) there is in the /etc/sudoers file an line which says:
Defaults requiretty
You must comment out this line before you can start garbd because in the /etc/init.d/garb there is a sudo -u nobody statement which fails on the standard sudoers file of Fedora.

Undefined labels / term not in glossary

$ make dirhtml

produces the following at the final stage:

galeracluster/source/createcluster.rst:125: WARNING: undefined label: weighted quorum (if the link has no caption the label must precede a section header)
galeracluster/source/dealingwithmultimasterconflicts.rst:10: WARNING: undefined label: certification based replication (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:55: WARNING: undefined label: galera arbitrator (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:12: WARNING: undefined label: galera replication plugin (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:25: WARNING: undefined label: wsrep api (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:45: WARNING: undefined label: incremental state transfer (ist) (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:30: WARNING: undefined label: primary component (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:60: WARNING: undefined label: rolling schema upgrade (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:40: WARNING: undefined label: state snapshot transfer (sst) (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:65: WARNING: undefined label: total order isolation (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:50: WARNING: undefined label: writeset cache (gcache) (if the link has no caption the label must precede a section header)
galeracluster/source/glossary.rst:35: WARNING: undefined label: wsrep api (if the link has no caption the label must precede a section header)
galeracluster/source/index.rst:18: WARNING: term not in glossary: galera replicator
galeracluster/source/nodeprovisioning.rst:34: WARNING: term not in glossary: seqno
galeracluster/source/nodeprovisioning.rst:34: WARNING: term not in glossary: incremental state transfer
galeracluster/source/statetransfer.rst:49: WARNING: undefined label: comparison-of-state-transfer-methods (if the link has no caption the label must precede a section header)
galeracluster/source/weightedquorum.rst:10: WARNING: undefined label: galera arbitrator (if the link has no caption the label must precede a section header)

I supposed it's a bug.

Some files are missing from TOC.

$ make dirhtml

produces the following warnings:

galeracluster/source/compiling.rst:: WARNING: document isn't included in any toctree
galeracluster/source/createcluster.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installmariadbdeb.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installmariadbrpm.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installmysqldeb.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installmysqlrpm.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installxtradbdeb.rst:: WARNING: document isn't included in any toctree
galeracluster/source/installxtradbrpm.rst:: WARNING: document isn't included in any toctree
galeracluster/source/sysconfiguration.rst:: WARNING: document isn't included in any toctree

Quick examination shows that some of those files contain redundant information. So the question is: are they outdated and were consciously dropped from TOC? Or is it the opposite and they are new and should supersede other files?

If they are outdated, why they are still in the tree? If they are needed for reference, they probably should be excluded from compilation then.

If they are new, then we have a bug, since they are not visible/accessible through HTML links.

selinux policy generation

how to generate a policy

semanage port -a -t mysqld_port_t -p tcp 4567
semanage port -a -t mysqld_port_t -p udp 4567
semanage port -a -t mysqld_port_t -p tcp 4444

semanage permissive -a mysqld_t
restart mysqld

# do stuff to generate a IST a SST and anything else (notify script)?.

fgrep mysqld /var/log/audit/audit.log | audit2allow  -m MySQL_galera -o MySQL_galera.te
more MySQL_galera.te

# edit as required.

checkmodule -M -m MySQL_galera.te -o  MySQL_galera.mod
semodule_package -m MySQL_galera.mod -o MySQL_galera.pp   
semodule -i MySQL_galera.pp

# remove permissive mode:
semanage permissive -d mysqld_t

Backing up Cluster Data section is outdated

Issue by temeo
Tuesday May 06, 2014 at 14:31 GMT
Originally opened as codership/galera#13


The page says:

"Galera Cluster backups can be performed just as regular MySQL backups, using a backup script. Since all the cluster nodes are identical, backing up one node backs up the entire cluster.

However, such backups will have no global transaction IDs associated with them. You can use these backups to recover data, but they cannot be used to recover a Galera Cluster node to a well-defined state. Furthermore, the backup procedure may block the cluster operation for the duration of backup, in the case of a blocking backup."

However

  • Blocking cluster operation can be avoided with wsrep_desync option which is present in resent versions of Galera Cluster
  • In case of rsync backup Global Transaction ID can be recovered from backed up InnoDB tablespace
  • Xtrabackup should have option to record GTID consistently

This section should be expanded to cover ways to take backups without the aid of garbd.

Errors when rendering the documentation

Rendering the documentation runs into the following errors, among others, which cause parts of it to go missing:

/home/philips/git/documentation/galeracluster/source/index.rst:71: ERROR: Error in "toctree" directive:
unknown option: "includehidden".

.. toctree::
   :includehidden:
   :maxdepth: 3

   technicaldescription
   gettingstarted
   userguide
   troubleshooting
   reference

I am not sure why is that and if it is a bug in sphinx. Removing the line causes the problem to go away.

/home/philips/git/documentation/galeracluster/source/monitoringthecluster.rst:67: ERROR: Error in "code-block" directive:
1 argument(s) required, 0 supplied.

.. code-block::

     SHOW VARIABLES LIKE 'wsrep_cluster_status';

This is a genuine bug in the documentation source.


checking consistency... /home/philips/git/documentation/galeracluster/source/compiling.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/createcluster.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installmariadbdeb.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installmariadbrpm.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installmysqldeb.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installmysqlrpm.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installxtradbdeb.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/installxtradbrpm.rst:: WARNING: document isn't included in any toctree
/home/philips/git/documentation/galeracluster/source/sysconfiguration.rst:: WARNING: document isn't included in any toctree

So those documents will not be linked from the TOC?

Revise toctree Elements

Issue by kennethpjdyer
Tuesday May 20, 2014 at 22:12 GMT
Originally opened as codership/galera#36


The Sphinx build system by default writes in numbering on section headers. Trim this down for a cleaner look.

Adapt the header pages to the new format. Replace links with :doc: elements. Use a hidden toctree to keep the navigation links in line.

Duplicate explicit target name: "managing-fc"

$ make dirhtml

produces in the log:
galeracluster/source/managingfc.rst:113: WARNING: Duplicate explicit target name: "managing-fc".
There are really two such targets in the file and I guess it is a matter of hyperlinks and TOC: one of them should be either renamed or removed.

Document new package repositores

We now have our own package repositories, so the download installation instructions need to be updated to reflect that fact.

For CentOS, Fedora:

  1. Create a file /etc/yum.repos.d/galera.repo with the following contents:
[galera]
name=Galera
baseurl=http://releases.galeracluster.com/DIST/RELEASE/x86_64
gpgcheck=1
gpgkey=http://releases.galeracluster.com/GPG-KEY-galeracluster.com

replacing DIST with centos or fedora and RELEASE is the OS release number, e.g. 6,7 for Centos , 20, 21 for Fedora

  1. Install packages:
sudo yum install galera-3
sudo yum install mysql-wsrep-5.6

Package galera-3 will install Galera wsrep provider and garbd. Package mysql-wsrep-5.6 will install MySQL server and client components.

For OpenSuse, SLES:

  1. Import GPG key:
sudo rpm --import "http://releases.galeracluster.com/GPG-KEY-galeracluster.com"
  1. Create a galera.repo file in local directory.
[galera]
name=Galera
baseurl=http://releases.galeracluster.com/DIST/RELEASE/x86_64
gpgcheck=1

replacing DIST with opensuse, or sles and RELEASE with version number

  1. Install repository:
    sudo zypper addrepo galera.repo
    sudo zypper refresh

    sudo zypper install galera-3
    sudo zypper install mysql-wsrep-5.6

For Ubuntu, Debian:

  1. Install key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv BC19DDBA
  1. Install the Galera package repository.

Create a file named /etc/apt/sources.list.d/galera.list with the following content:

deb http://releases.galeracluster.com/DIST RELEASE main

where DIST is either ubuntu or debian and RELEASE is the release codename (precise, trusty for Ubuntu, wheezy for Debian).

  1. Install packages:
    sudo apt-get update --ignore-missing
    sudo apt-get install galera-3 galera-arbitrator-3
    sudo apt-get install mysql-wsrep-5.6

Galeracluster.com documentation is not on Google

Google does not return any documentation results from galeracluster.com, regardless of the search keyword.

I submitted a request to google to reindex the domain, but I think there may be a systematic problem that is keeping those pages out of the Google index.

Firewall Configurations

Relates to firewallsettings.rst and galerainstallation.rst.

Revise the firewall configuration sections in the docs. Reorganize the information displayed to allow for expansion to include one or two other firewall tools as an alternative to iptables, (e.g. nftables if it's ready and pf).

Update the iptables documentation:

  • Organize LAN and WAN examples into subsections.
  • Completely revise the text and commands for saving tables, (right now they're wrong).
  • Update all code-blocks to use the more verbose style arguments, (.e.g., --append vs. -A).
  • Improve text to explain what each part of the command does, given that the reader is expected to work out a better format to suit their own systems.

Document how to actually hook up OpenStack to the Galera instance

The MySQL portion of the OpenStack manual has a section " Configure OpenStack services for highly available MySQL"

http://avoceteditors.com/private/codership/openstack/high-availability-guide/content/_configure_openstack_services_for_highly_available_mysql.html

which contains information on what setting to use in the place of a single-node MySQL DSN when HA is used. I think we should have a similar section for Galera, describing the correct format for the DSN that would provide proper redundancy.

Rework System Table Upgrade

For each installation page in Getting Started, there is an entry towards the end that covers system table upgrades. This to be done in the event that the user install Galera Cluster over an existing standalone instance of MySQL.

Remove this entry from each page. Create a new entry in the User Guide, add seealso block to refer people to it from Getting Started. mysql_upgrade should be run when the node is not part of the cluster. Start the node with no wsrep Provider, (from command line with argument wsrep_on=OFF?). Run mysql_upgrade. Stop the node. Start the node with wsrep provider and cluster address, allowing it to join the cluster.

Missing and invalid parameter descriptions

Issue by temeo
Tuesday May 06, 2014 at 12:19 GMT
Originally opened as codership/galera#12


Originally reported here: https://groups.google.com/forum/#!topic/codership-team/O4vHuGBKRC0

http://galeracluster.com/documentation-webpages/galeraparameters.html - 'replication.*' should be 'repl.*'.

missing options on this page:

  • socket.checksum
  • repl.key_format
  • repl.proto_max
  • repl.max_ws_size
  • pc.announce_timeout
  • pc.wait_prim_timeout
  • gmcast.segment
  • base_host
  • base_port
  • cert.log_conflicts

other suggestions:

4.16.6 selinux - a link to https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql would probably help

5.3.1. Diagnosing Multi-Master Conflicts

could include a reference to cert.log_conflicts

Document PC recovery feature

Issue by temeo
Tuesday Jun 17, 2014 at 13:29 GMT
Originally opened as codership/galera#65


3.x branch has a new wsrep provider option pc.recovery (boolean). If the value for this parameter is set to true, primary component state is stored to disk and recovered from there when node is started.

Primary component is recovered automatically when all of the nodes that were present in the last known primary component have established communication between each other.

This feature solves two use cases:

  • Automatic recovery from full cluster crash (for example full data center power outage)
  • Graceful full cluster restart without the need for bootstrapping new primary component explicitly

Known limitations:

  • If the wsrep position differs between nodes during the recovery, full SST is required
  • ...

Incorrect documentation for rpm installation

Issue by zba
Monday Jul 28, 2014 at 04:14 GMT
Originally opened as codership/galera#87


I tryed with centos6 , followed this

Centos6 has no mysql-client package, also if I try to install mysql-community-client from oracle repository it tells about conflicts, do you provide actual documentation for rhel6/centos6 ?

also what means strings like this ?


3. Install the compatibility libraries:

rpm -e mysql-shared-compat.rpm

doesn't it should be like

  rpm -i mysql-shared-compat-*.rpm 

or something like this ?

Document wsrep_sync_wait

Issue by dirtysalt
Tuesday Aug 12, 2014 at 07:33 GMT
Originally opened as codership/galera#95


This variable is introduced in patch https://bugs.launchpad.net/codership-mysql/+bug/1277053

Originally, causality check could only be applied on some SQL statement like SELECT, BEGIN/END, SHOW STATUS etc, but not on some autocommit UPDATE/DELETE/REPLACE/INSERT SQL statement.

This variable is introduced to control causality check on those statements. It's designed as bit mask.

"wsrep_sync_wait", "Ensure "synchronous" read view before executing an operation of the type specified by bitmask: 1 - READ(includes SELECT, SHOW and BEGIN/START TRANSACTION); 2 - UPDATE and DELETE; 4 - INSERT and REPLACE"

Variable 'wsrep_causal_reads' also is kept for backward compatibility, but is deprecated. User could turn on/off READ flag on 'wsrep_sync_wait' which is equivalent to turn on/off 'wsrep_causal_reads'.

Flow Control page for User Guide

The Flow Control page under Technical Description partly describes how it works and partly documents its management. Break this up, to retain the description while moving the management chapter into the user guide.

Incorrect description of garbd --address parameter format

http://galeracluster.com/documentation-webpages/arbitrator.html#starting-galera-arbitrator-from-the-shell

$ garbd --group=example_cluster \
     --address="192.168.1.1 192.168.1.2 192.168.1.3" \
     --option="socket.ssl_cert=/etc/galera/cert/cert.pem"

should be

$ garbd --group=example_cluster \
     --address="gcomm://192.168.1.1,192.168.1.2,192.168.1.3" \
     --option="socket.ssl_cert=/etc/galera/cert/cert.pem"

and

# arbtirator.config
group = example_cluster
address = "192.168.1.1 192.168.1.2 192.168.1.3"

should be

# arbtirator.config
group = example_cluster
address = "gcomm://192.168.1.1,192.168.1.2,192.168.1.3"

Improve mysqldump SST Documentation

In the Getting Started pages, the user configures their first cluster to use mysqldump. Update these entries so that they start out using rsync.

Rework and expand the Admin Guide entries on SST. They need better organization, cleaner text and specific information on setting up mysqldump for use.

Garbd documentation mixes execution as a service with standalone execution

This page

http://galeracluster.com/documentation-webpages/arbitrator.html

I think mixes the two concepts:

  • starting garbd from the command line, passing it options on the command line
  • starting garbd as a service, where the options are placed in a configuration file.

The location of the configuration file is not mentioned (it can be different by distro), and the example of a configuration file that is given is wrongly called "init script".

Clean up Symptoms and Solutions

Issue by kennethpjdyer
Friday Apr 25, 2014 at 21:45 GMT
Originally opened as codership/galera#4


At the moment, symptomsolution.rst renders as a table where the particular symptom is listed in the left column and a very detailed solution is listed in the right column. While the logic of this is pretty clear, on a webpage the table formatting makes it difficult to read and find what you're looking for. Additionally, the table entries do not posses id references, so, in the event of a client having difficulties, it's not possible to link them to a particular symptom / solution pairing on the page.

Rewrite the table material into separate sections. If there are enough entries to justify it, set up a link table like on the parameters pages.

Failure Simulation

Issue by kennethpjdyer
Saturday Apr 26, 2014 at 02:24 GMT
Originally opened as codership/galera#6


The old configuration page carried a section on failure simulation that made three general points on ways in which it could be done. Expand this into a full tutorial on how to break the cluster in controlled ways to test replication and prepare for actual breakage. Add the new page to the Getting Started Guide, either as a section on testingcluster.rst or a separate page just after.

Document wsrep_evs_repl_latency status variable

Issue by temeo
Thursday Jun 19, 2014 at 13:25 GMT
Originally opened as codership/galera#67


Docoment new status variable wsrep_evs_repl_latency. The variable tells group communication replication latency. The latency is measured from the time point when message is sent to the time point when message is delivered.

The status variable format is the following:

wsrep_evs_repl_latency       | 0.00243433/0.144022/0.591963/0.215824/13

Fields are min/average/max/standard deviation/sample size.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.