X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/f69dab6d3a2b5eb3488bf3a8ae88ced091c0f221..1b54fc6c2fd92b614c029cc5312d02f9f1526253:/man/ganeti.sgml diff --git a/man/ganeti.sgml b/man/ganeti.sgml index 40c6c77..eed8ccd 100644 --- a/man/ganeti.sgml +++ b/man/ganeti.sgml @@ -2,7 +2,7 @@ - June 16, 2007"> + February 12, 2009"> 7"> @@ -20,6 +20,8 @@ 2006 2007 + 2008 + 2009 Google Inc. &dhdate; @@ -28,7 +30,7 @@ &dhucpackage; &dhsection; - ganeti 1.2 + ganeti 2.0 &dhpackage; @@ -40,8 +42,8 @@ # gnt-cluster init cluster1.example.com # gnt-node add node2.example.com -# gnt-os add -o debian-etch -p /srv/ganeti/os/debian-etch -# gnt-instance add -n node2.example.com -o debian-etch -s 128 -m 8 \ +# gnt-instance add -n node2.example.com \ +> -o debootstrap --disk 0:size=30g \ > -t plain instance1.example.com @@ -51,7 +53,8 @@ The ganeti software manages physical nodes and virtual instances of a cluster based on a virtualization software. The current - version (1.2) supports Xen 3.0 (also tested with 3.1). + version (2.0) supports Xen 3.0 (also tested with 3.1) and KVM + hypervisors. @@ -62,7 +65,7 @@ First you must install the software on all the cluster nodes, either from sources or (if available) from a package. The next step is to create the initial cluster configuration, using - gnt-cluster init. + gnt-cluster init. @@ -71,6 +74,163 @@ + + Cluster architecture + + + In Ganeti 2.0, the architecture of the cluster is a little more + complicated than in 1.2. The cluster is coordinated by a master + daemon ( + ganeti-masterd + 8 ), running on the master + node. Each node runs (as before) a node daemon, and the master + has the RAPI daemon running too. + + + + Node roles + + Each node can be in one of the following states: + + + master + + + Only one node per cluster can be in this role, and + this node is the one holding the authoritative copy of + the cluster configuration and the one that can + actually execute commands on the cluster and modify + the cluster state. See more details under + Cluster configuration. + + + + + master_candidate + + The node receives the full cluster configuration + (configuration file and jobs) and can become a master + via the gnt-cluster masterfailover + command. Nodes that are not in this state cannot + transition into the master role due to missing + state. + + + + regular + + This the normal state of a node. + + + + drained + + Nodes in this state are functioning normally but + cannot receive new instance, because the intention is to + set them to offline or remove them + from the cluster. + + + + offline + + These nodes are still recorder in the ganeti + configuration, but except for the master daemon startup + voting procedure, they are not actually contacted by the + master. This state was added in order to allow broken + machines (that are being repaired) to remain in the + cluster but without creating problems. + + + + + + + + Cluster configuration + + The master node keeps and is responsible for the cluster + configuration. On the filesystem, this is stored under the + @LOCALSTATEDIR@/ganeti/lib + directory, and if the master daemon is stopped it can be backed + up normally. + + The master daemon will replicate the configuration + database called config.data and the job + files to all the nodes in the master candidate role. It will + also distribute a copy of some configuration values via the + ssconf files, which are stored in the same + directory and start with ssconf_ prefix, to + all nodes. + + + + + Jobs + + + All cluster modification are done via jobs. A job consists of + one or more opcodes, and the list of opcodes is processed + serially. If an opcode fails, the entire job is failed and + later opcodes are no longer processed. A job can be in one of + the following states: + + + queued + + The job has been submitted but not yet + processed by the master daemon. + + + + waiting + + The job is waiting for for locks before the + first of its opcodes. + + + + canceling + + The jos is waiting for locks, but is has been + marked for cancelation. It will not transition to + running, but to + canceled. + + + + + running + + The job is currently being executed. + + + + canceled + + The job has been canceled before starting + execution. + + + + success + + The job has finished successfully. + + + + error + + The job has failed during runtime, or the master + daemon has been stopped during the job execution. + + + + + + + &footer;