From 5ffb4ae38f2d71ad99d6649194878ef9de912839 Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 27 Jun 2016 11:16:42 +0200 Subject: [PATCH 01/10] Docs: renamed federation-set-up.md federation-ops.md --- .../clusters-feds/{federation-set-up.md => federation-ops.md} | 0 docs/source/clusters-feds/index.rst | 2 +- docs/source/introduction.md | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename docs/source/clusters-feds/{federation-set-up.md => federation-ops.md} (100%) diff --git a/docs/source/clusters-feds/federation-set-up.md b/docs/source/clusters-feds/federation-ops.md similarity index 100% rename from docs/source/clusters-feds/federation-set-up.md rename to docs/source/clusters-feds/federation-ops.md diff --git a/docs/source/clusters-feds/index.rst b/docs/source/clusters-feds/index.rst index dcda2e85..ede38887 100644 --- a/docs/source/clusters-feds/index.rst +++ b/docs/source/clusters-feds/index.rst @@ -7,7 +7,7 @@ BigchainDB Clusters & Federations .. toctree:: :maxdepth: 1 - federation-set-up + federation-ops deploy-on-aws monitoring \ No newline at end of file diff --git a/docs/source/introduction.md b/docs/source/introduction.md index 2d2393c8..dcca4ee8 100644 --- a/docs/source/introduction.md +++ b/docs/source/introduction.md @@ -8,7 +8,7 @@ You can read about the motivations, goals and high-level architecture in the [Bi ## Setup Instructions for Various Cases * [Set up a stand-alone BigchainDB node for learning and experimenting: Quickstart](quickstart.html) -* [Set up and run a federation](clusters-feds/federation-set-up.html) (i.a. an organization with a BigchainDB cluster) +* [Set up and run a federation](clusters-feds/federation-ops.html) (i.a. an organization with a BigchainDB cluster) * To set up a stand-alone node so you can help contribute to the development of BigchainDB Server, see [the CONTRIBUTING.md file](https://github.com/bigchaindb/bigchaindb/blob/master/CONTRIBUTING.md) * [Deploy a cluster on AWS](clusters-feds/deploy-on-aws.html) From 184d307e0bc48b364610d1f7be436dc607b6468b Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 27 Jun 2016 14:52:52 +0200 Subject: [PATCH 02/10] Docs: moved nodes, clusters, feds terminology section --- docs/source/clusters-feds/index.rst | 1 + docs/source/{topic-guides => clusters-feds}/node-cluster-fed.md | 0 docs/source/topic-guides/index.rst | 1 - 3 files changed, 1 insertion(+), 1 deletion(-) rename docs/source/{topic-guides => clusters-feds}/node-cluster-fed.md (100%) diff --git a/docs/source/clusters-feds/index.rst b/docs/source/clusters-feds/index.rst index ede38887..0ec119ed 100644 --- a/docs/source/clusters-feds/index.rst +++ b/docs/source/clusters-feds/index.rst @@ -7,6 +7,7 @@ BigchainDB Clusters & Federations .. toctree:: :maxdepth: 1 + node-cluster-fed federation-ops deploy-on-aws monitoring diff --git a/docs/source/topic-guides/node-cluster-fed.md b/docs/source/clusters-feds/node-cluster-fed.md similarity index 100% rename from docs/source/topic-guides/node-cluster-fed.md rename to docs/source/clusters-feds/node-cluster-fed.md diff --git a/docs/source/topic-guides/index.rst b/docs/source/topic-guides/index.rst index e9f0ed3c..a7f71fa9 100644 --- a/docs/source/topic-guides/index.rst +++ b/docs/source/topic-guides/index.rst @@ -16,4 +16,3 @@ Topic guides give background and explain concepts at a high level. smart-contracts models timestamps - node-cluster-fed From 3af63ab36f5866ae73c3e81337a0392feb5c5290 Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 27 Jun 2016 15:10:19 +0200 Subject: [PATCH 03/10] Docs: Refactored some federation docs --- docs/source/clusters-feds/future-docs.md | 15 ++++++++++++++ docs/source/clusters-feds/index.rst | 4 +++- ...deration-ops.md => set-up-a-federation.md} | 20 ++----------------- docs/source/introduction.md | 2 +- 4 files changed, 21 insertions(+), 20 deletions(-) create mode 100644 docs/source/clusters-feds/future-docs.md rename docs/source/clusters-feds/{federation-ops.md => set-up-a-federation.md} (65%) diff --git a/docs/source/clusters-feds/future-docs.md b/docs/source/clusters-feds/future-docs.md new file mode 100644 index 00000000..3c55f8d0 --- /dev/null +++ b/docs/source/clusters-feds/future-docs.md @@ -0,0 +1,15 @@ +# Documentation to Come + +* Adding a node (including resharding etc.) +* Removing a node +* Upgrading BigchainDB or components +* Logging +* Node monitoring & crash recovery +* Node Security + * Securing your OS + * Firewalls and security groups. Remember to open port 123 for NTP. + * (Private) key management + * RethinkDB security +* Cluster monitoring +* Internal watchdogs +* External watchdogs \ No newline at end of file diff --git a/docs/source/clusters-feds/index.rst b/docs/source/clusters-feds/index.rst index 0ec119ed..ab7571d8 100644 --- a/docs/source/clusters-feds/index.rst +++ b/docs/source/clusters-feds/index.rst @@ -8,7 +8,9 @@ BigchainDB Clusters & Federations :maxdepth: 1 node-cluster-fed - federation-ops + set-up-a-federation + backup deploy-on-aws monitoring + future-docs \ No newline at end of file diff --git a/docs/source/clusters-feds/federation-ops.md b/docs/source/clusters-feds/set-up-a-federation.md similarity index 65% rename from docs/source/clusters-feds/federation-ops.md rename to docs/source/clusters-feds/set-up-a-federation.md index eaed6c40..b34ddd96 100644 --- a/docs/source/clusters-feds/federation-ops.md +++ b/docs/source/clusters-feds/set-up-a-federation.md @@ -1,6 +1,6 @@ -# Set Up and Run a Federation +# Set Up a Federation -This section is about how to set up and run a BigchainDB _federation_, where each node is operated by a different operator. If you want to set up and run a BigchainDB cluster on AWS (where all nodes are operated by you), then see [the section about that](deploy-on-aws.html). +This section is about how to set up a BigchainDB _federation_, where each node is operated by a different operator. If you want to set up and run a BigchainDB cluster on AWS (where all nodes are operated by you), then see [the section about that](deploy-on-aws.html). ## Initial Checklist @@ -25,19 +25,3 @@ The steps to set up a cluster node are outlined in the section titled [Set Up an 1. Their RethinkDB hostname, e.g. `rdb.farm2.organization.org` 2. Their BigchainDB public key, e.g. `Eky3nkbxDTMgkmiJC8i5hKyVFiAQNmPP4a2G4JdDxJCK` - -## Documentation to Come - -* Backing Up & Restoring data -* Adding a node (including resharding etc.) -* Removing a node -* Logging -* Node monitoring & crash recovery -* Node Security - * Securing your OS - * Firewalls and security groups. Remember to open port 123 for NTP. - * (Private) key management - * RethinkDB security -* Cluster monitoring -* Internal watchdogs -* External watchdogs \ No newline at end of file diff --git a/docs/source/introduction.md b/docs/source/introduction.md index dcca4ee8..ae7cd708 100644 --- a/docs/source/introduction.md +++ b/docs/source/introduction.md @@ -8,7 +8,7 @@ You can read about the motivations, goals and high-level architecture in the [Bi ## Setup Instructions for Various Cases * [Set up a stand-alone BigchainDB node for learning and experimenting: Quickstart](quickstart.html) -* [Set up and run a federation](clusters-feds/federation-ops.html) (i.a. an organization with a BigchainDB cluster) +* [Set up and run a federation](clusters-feds/set-up-a-federation.html) (i.a. an organization with a BigchainDB cluster) * To set up a stand-alone node so you can help contribute to the development of BigchainDB Server, see [the CONTRIBUTING.md file](https://github.com/bigchaindb/bigchaindb/blob/master/CONTRIBUTING.md) * [Deploy a cluster on AWS](clusters-feds/deploy-on-aws.html) From e336a320c6b6387a44f1cc600c907f815363266e Mon Sep 17 00:00:00 2001 From: troymc Date: Mon, 27 Jun 2016 16:32:02 +0200 Subject: [PATCH 04/10] Docs: first draft of section on backup --- docs/source/clusters-feds/backup.md | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 docs/source/clusters-feds/backup.md diff --git a/docs/source/clusters-feds/backup.md b/docs/source/clusters-feds/backup.md new file mode 100644 index 00000000..e7228a2d --- /dev/null +++ b/docs/source/clusters-feds/backup.md @@ -0,0 +1,66 @@ +# Backing Up & Restoring Data + +There are several ways to backup and restore the data in a BigchainDB cluster. + +It's worth remembering that RethinkDB already has internal replication: every document is stored on _R_ different nodes, where _R_ is the replication factor (set using `bigchaindb set-replicas R`). Those replicas can be thought of as "live backups" because if one node goes down, the cluster will continue to work and no data will be lost. + + +## rethinkdb dump (to a File) + +RethinkDB can create an archive of all data in the cluster (or all data in specified tables), as a compressed file. According to [the RethinkDB blog post when that functionality became available](https://rethinkdb.com/blog/1.7-release/): + +> Since the backup process is using client drivers, it automatically takes advantage of the MVCC [multiversion concurrency control] functionality built into RethinkDB. It will use some cluster resources, but will not lock out any of the clients, so you can safely run it on a live cluster. + +To back up all the data in a BigchainDB cluster, the RethinkDB admin user must run a command like the following on one of the nodes: +```text +rethinkdb dump -e bigchain.bigchain -e bigchain.votes +``` + +That will write a file named `rethinkdb_dump__