Revision e1ff0de1 UPGRADE

b/UPGRADE
1 1
Upgrade notes
2 2
=============
3 3

  
4
.. highlight:: sh
4
.. highlight:: shell-example
5 5

  
6 6
This document details the steps needed to upgrade a cluster to newer versions
7 7
of Ganeti.
......
10 10
upgrade; if using the provided example init.d script, this means running the
11 11
following command on all nodes::
12 12

  
13
  /etc/init.d/ganeti restart
13
    $ /etc/init.d/ganeti restart
14 14

  
15 15

  
16 16
2.1 and above
......
28 28

  
29 29
#. Ensure no jobs are running (master node only)::
30 30

  
31
     gnt-job list
31
    $ gnt-job list
32 32

  
33 33
#. Stop all daemons on all nodes::
34 34

  
35
     /etc/init.d/ganeti stop
35
    $ /etc/init.d/ganeti stop
36 36

  
37 37
#. Backup old configuration (master node only)::
38 38

  
39
     tar czf /var/lib/ganeti-$(date +%FT%T).tar.gz -C /var/lib ganeti
39
    $ tar czf /var/lib/ganeti-$(date +\%FT\%T).tar.gz -C /var/lib ganeti
40 40

  
41 41
#. Install new Ganeti version on all nodes
42 42
#. Run cfgupgrade on the master node::
43 43

  
44
     /usr/lib/ganeti/tools/cfgupgrade --verbose --dry-run
45
     /usr/lib/ganeti/tools/cfgupgrade --verbose
44
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose --dry-run
45
    $ /usr/lib/ganeti/tools/cfgupgrade --verbose
46 46

  
47 47
   (``cfgupgrade`` supports a number of parameters, run it with
48 48
   ``--help`` for more information)
49 49

  
50 50
#. Restart daemons on all nodes::
51 51

  
52
     /etc/init.d/ganeti restart
52
    $ /etc/init.d/ganeti restart
53 53

  
54 54
#. Re-distribute configuration (master node only)::
55 55

  
56
    gnt-cluster redist-conf
56
    $ gnt-cluster redist-conf
57 57

  
58 58
#. Restart daemons again on all nodes::
59 59

  
60
   /etc/init.d/ganeti restart
60
    $ /etc/init.d/ganeti restart
61 61

  
62 62
#. Verify cluster (master node only)::
63 63

  
64
     gnt-cluster verify
64
    $ gnt-cluster verify
65 65

  
66 66

  
67 67
2.0 releases
......
114 114

  
115 115
#. Make a backup of the current configuration, for safety::
116 116

  
117
    cp -a /var/lib/ganeti /var/lib/ganeti-1.2.backup
117
    $ cp -a /var/lib/ganeti /var/lib/ganeti-1.2.backup
118 118

  
119 119
#. Stop all instances::
120 120

  
121
    gnt-instance stop --all
121
    $ gnt-instance stop --all
122 122

  
123 123
#. Make sure no DRBD device are in use, the following command should show no
124 124
   active minors::
125 125

  
126
    gnt-cluster command grep cs: /proc/drbd \| grep -v cs:Unconf
126
    $ gnt-cluster command grep cs: /proc/drbd | grep -v cs:Unconf
127 127

  
128 128
#. Stop the node daemons and rapi daemon on all nodes (note: should be logged
129 129
   in not via the cluster name, but the master node name, as the command below
130 130
   will remove the cluster ip from the master node)::
131 131

  
132
    gnt-cluster command /etc/init.d/ganeti stop
132
    $ gnt-cluster command /etc/init.d/ganeti stop
133 133

  
134 134
#. Install the new software on all nodes, either from packaging (if available)
135 135
   or from sources; the master daemon will not start but give error messages
136 136
   about wrong configuration file, which is normal
137 137
#. Upgrade the configuration file::
138 138

  
139
    /usr/lib/ganeti/tools/cfgupgrade12 -v --dry-run
140
    /usr/lib/ganeti/tools/cfgupgrade12 -v
139
    $ /usr/lib/ganeti/tools/cfgupgrade12 -v --dry-run
140
    $ /usr/lib/ganeti/tools/cfgupgrade12 -v
141 141

  
142 142
#. Make sure ``ganeti-noded`` is running on all nodes (and start it if
143 143
   not)
144 144
#. Start the master daemon::
145 145

  
146
    ganeti-masterd
146
    $ ganeti-masterd
147 147

  
148 148
#. Check that a simple node-list works::
149 149

  
150
    gnt-node list
150
    $ gnt-node list
151 151

  
152 152
#. Redistribute updated configuration to all nodes::
153 153

  
154
    gnt-cluster redist-conf
155
    gnt-cluster copyfile /var/lib/ganeti/known_hosts
154
    $ gnt-cluster redist-conf
155
    $ gnt-cluster copyfile /var/lib/ganeti/known_hosts
156 156

  
157 157
#. Optional: if needed, install RAPI-specific certificates under
158 158
   :file:`/var/lib/ganeti/rapi.pem` and run::
159 159

  
160
    gnt-cluster copyfile /var/lib/ganeti/rapi.pem
160
    $ gnt-cluster copyfile /var/lib/ganeti/rapi.pem
161 161

  
162 162
#. Run a cluster verify, this should show no problems::
163 163

  
164
    gnt-cluster verify
164
    $ gnt-cluster verify
165 165

  
166 166
#. Remove some obsolete files::
167 167

  
168
    gnt-cluster command rm /var/lib/ganeti/ssconf_node_pass
169
    gnt-cluster command rm /var/lib/ganeti/ssconf_hypervisor
168
    $ gnt-cluster command rm /var/lib/ganeti/ssconf_node_pass
169
    $ gnt-cluster command rm /var/lib/ganeti/ssconf_hypervisor
170 170

  
171 171
#. Update the xen pvm (if this was a pvm cluster) setting for 1.2
172 172
   compatibility::
173 173

  
174
    gnt-cluster modify -H xen-pvm:root_path=/dev/sda
174
    $ gnt-cluster modify -H xen-pvm:root_path=/dev/sda
175 175

  
176 176
#. Depending on your setup, you might also want to reset the initrd parameter::
177 177

  
178
    gnt-cluster modify -H xen-pvm:initrd_path=/boot/initrd-2.6-xenU
178
    $ gnt-cluster modify -H xen-pvm:initrd_path=/boot/initrd-2.6-xenU
179 179

  
180 180
#. Reset the instance autobalance setting to default::
181 181

  
182
    for i in $(gnt-instance list -o name --no-headers); do \
183
      gnt-instance modify -B auto_balance=default $i; \
184
    done
182
    $ for i in $(gnt-instance list -o name --no-headers); do \
183
       gnt-instance modify -B auto_balance=default $i; \
184
      done
185 185

  
186 186
#. Optional: start the RAPI demon::
187 187

  
188
    ganeti-rapi
188
    $ ganeti-rapi
189 189

  
190 190
#. Restart instances::
191 191

  
192
    gnt-instance start --force-multiple --all
192
    $ gnt-instance start --force-multiple --all
193 193

  
194 194
At this point, ``gnt-cluster verify`` should show no errors and the migration
195 195
is complete.
......
250 250
#. Make a backup copy of the config file
251 251
#. Upgrade the config file using the following command::
252 252

  
253
    /usr/share/ganeti/cfgupgrade --verbose /var/lib/ganeti/config.data
253
    $ /usr/share/ganeti/cfgupgrade --verbose /var/lib/ganeti/config.data
254 254

  
255 255
#. Start the daemons and run ``gnt-cluster info``, ``gnt-node list`` and
256 256
   ``gnt-instance list`` to check if the upgrade process finished successfully

Also available in: Unified diff