Проект

Общее

Профиль

OPERATIONS » История » Версия 4

Версия 3 (Владимир Ипатов, 24.10.2012 18:16) → Версия 4/23 (Владимир Ипатов, 24.10.2012 18:16)

h1. OPERATIONS

[[Cluster management]]
[[Instance management]]
[[Puppet]]
[[DNS+DHCP]]
[[Other]]


{{toc}}

h2. Virtualization and HA

SCI cluster virtualization and HA capabilities are really bringed
by a *Ganety* installation over the Debia/GNU Linux, so you should
read Ganeti manuals on how to operate with virtualisation and HA
features.

The main documentation page: http://docs.ganeti.org/ganeti/master/html/
A brief operations overview: http://docs.ganeti.org/ganeti/master/html/walkthrough.html

Ganeti operations should be issued on the 'master' node which has additional the
cluster's IP as an interface alias.
The first new nodes becames the 'master candidates', so they can be promoted to master
if the master node will fail.

Major commands:

h3. Check if all is ok

<pre>
gnt-cluster verify
</pre>

h3. Show detailed information

<pre>
gnt-(cluster|node|instance) info
</pre>

h3. List objects

Nodes
<pre>
gnt-node list
</pre>

Configured instances
<pre>
gnt-instance list
</pre>

h3. Create new instance

New instance on the NODE1 with failover on the NODE2, with one disk size 10Gb and 256M RAM.
INSTANCE_NAME must be resolvable via DNS.
<pre>
gnt-instance add -t drbd -o debootstrap+default -s 10g -B memory=256m -n NODE1:NODE2 INSTANCE_NAME
</pre>

Real example: create new instance
* on the node gnt2
* with failover on gnt1
* with three disks:
** 10g on volume group xenvg
** 600m on volume group xenvg (probably for swap)
* 5g on volume group xenvg
* DNS name vg-test1
* IP address will be configured automatically by resolving vg-test1' IP and matching it against @/etc/ganeti/networks@

<pre>
gnt-instance add -t drbd -o debootstrap+default --disk 0:size=10g,vg=xenvg --disk 1:size=600m,vg=xenvg --disk 2:size=5g,vg=newvg -B memory=256m -n gnt2:gnt1 vg-test1
</pre>

*NOTE:* the @vg=....@ option to specify different volume groups will be available since Ganeti 2.4.0 release.

h3. Instance manipulations

Various simple instance manipulations
<pre>
gnt-instance (startup|shutdown|reboot|failover|remove|console) INSTANCE
</pre>

h3. OS command execution

Run OS command on all nodes
<pre>
gnt-cluster command .....
</pre>

h2. SSH

All new instances, including 'sci' are going with empty root password and no ssh server installed.
You should first log in to the instance using @gnt-instance console INSTANCE@ command, then set
root's password using @passwd@ command and install ssh server using
<pre>
apt-get install openssh-server
</pre>

h2. PUPPET

Puppet http://www.puppetlabs.com/) is the open source platform for enterprise systems management.
Puppet is used to deploy the configuration to the cluster instances.
Documentation can be found at http://docs.puppetlabs.com/

Puppet master is installed on the instance 'sci'.

h2. DNS

DNS is configured on the instance 'sci' via puppet.

The zone file is stored as a template at @/etc/puppet/modules/bind9/templates/sci/zone.erb@
On each update you should set new (growing) zone serial number, initially
<pre>
0000000001 ; Serial
</pre>
to the new growing value. YYYYMMDDNN is recommended (NN - is the change number in one day).
Feel free to modify it to adjust your system.

New names should be placed below the string
<pre>
; here you can put any other records
</pre>

To apply your changes quickly you should issue
<pre>
/etc/init.d/puppet restart
</pre>

h2. Apt

Apt is configured on the instance 'sci' via puppet.

h3. sources.list

Global distributed sources.list template is resided in @/etc/puppet/modules/approx/templates/sources.list.erb@

h3. Approx

Approx is configured in @/etc/puppet/modules/approx/templates/approx.conf.erb@
To apply your changes quickly you should issue
<pre>
/etc/init.d/puppet restart
</pre>