from wiki
This commit is contained in:
parent
cb59ae54a1
commit
85396c933c
1 changed files with 190 additions and 0 deletions
190
pages/12to15.md
Normal file
190
pages/12to15.md
Normal file
|
|
@ -0,0 +1,190 @@
|
|||
# Upgrading Ganeti 2.12 to 2.15 on Debian Jessie
|
||||
|
||||
I had 2.12 on debian jessie on three clusters so wanted to upgrade.
|
||||
|
||||
## apt sources
|
||||
|
||||
Get the correct backports on all nodes in the cluster.
|
||||
|
||||
```
|
||||
# echo "deb http://cdn.debian.net/debian/ jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
|
||||
```
|
||||
|
||||
I also had to
|
||||
|
||||
```
|
||||
rm /etc/apt/sources.list.d/wheezy-backports.list
|
||||
rm /etc/apt/sources.list.d/ganeti.list
|
||||
```
|
||||
|
||||
Update on all nodes, and you should have 2.15 staged.
|
||||
|
||||
```
|
||||
# apt-get update
|
||||
# apt-cache policy ganeti
|
||||
ganeti:
|
||||
Installed: 2.12.4-1+deb8u3
|
||||
Candidate: 2.12.4-1+deb8u3
|
||||
Version table:
|
||||
2.15.2-1~bpo8+1 0
|
||||
100 http://cdn.debian.net/debian/ jessie-backports/main amd64 Packages
|
||||
*** 2.12.4-1+deb8u3 0
|
||||
500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
|
||||
500 http://security.debian.org/ jessie/updates/main amd64 Packages
|
||||
100 /var/lib/dpkg/status
|
||||
```
|
||||
|
||||
## Get the binaries
|
||||
|
||||
Install new binaries on all nodes.
|
||||
|
||||
```
|
||||
# apt-get install ganeti/jessie-backports
|
||||
Reading package lists... Done
|
||||
Building dependency tree
|
||||
Reading state information... Done
|
||||
Selected version '2.15.2-1~bpo8+1' (Debian Backports:jessie-backports [all]) for 'ganeti'
|
||||
The following packages were automatically installed and are no longer required:
|
||||
ganeti-2.12 ganeti-haskell-2.12 ganeti-htools-2.12 libdns-export100
|
||||
libirs-export91 libisc-export95 libisccfg-export90
|
||||
Use 'apt-get autoremove' to remove them.
|
||||
The following extra packages will be installed:
|
||||
ganeti-2.15 ganeti-haskell-2.15 ganeti-htools-2.15
|
||||
Suggested packages:
|
||||
ganeti-doc blktap-dkms molly-guard
|
||||
The following NEW packages will be installed:
|
||||
ganeti-2.15 ganeti-haskell-2.15 ganeti-htools-2.15
|
||||
The following packages will be upgraded:
|
||||
ganeti
|
||||
1 upgraded, 3 newly installed, 0 to remove and 55 not upgraded.
|
||||
Need to get 13.8 MB of archives.
|
||||
After this operation, 117 MB of additional disk space will be used.
|
||||
Do you want to continue? [Y/n]
|
||||
```
|
||||
|
||||
And you should now see that 2.15 is current, though not yet running
|
||||
|
||||
```
|
||||
# apt-cache policy ganeti
|
||||
ganeti:
|
||||
Installed: 2.15.2-1~bpo8+1
|
||||
Candidate: 2.15.2-1~bpo8+1
|
||||
Version table:
|
||||
*** 2.15.2-1~bpo8+1 0
|
||||
100 http://cdn.debian.net/debian/ jessie-backports/main amd64 Packages
|
||||
100 /var/lib/dpkg/status
|
||||
2.12.4-1+deb8u3 0
|
||||
500 http://ftp.us.debian.org/debian/ jessie/main amd64 Packages
|
||||
500 http://security.debian.org/ jessie/updates/main amd64 Packages
|
||||
```
|
||||
|
||||
## Do the Upgrade
|
||||
|
||||
Note that you do not have to shutdown the running VMs.
|
||||
|
||||
Ensure that the job queue is drained first
|
||||
|
||||
```
|
||||
# gnt-job list
|
||||
ID Status Summary
|
||||
```
|
||||
|
||||
If it is not empty, either cancel the jobs or, if desperate, hold your nose and
|
||||
|
||||
```
|
||||
# rm /var/lib/ganeti/queue/job*
|
||||
```
|
||||
|
||||
On the master node
|
||||
|
||||
```
|
||||
# gnt-cluster upgrade --to 2.15
|
||||
Draining queue
|
||||
Pausing the watcher for one hour.
|
||||
Stopping daemons on master node.
|
||||
Stopping daemons everywhere.
|
||||
Backing up configuration as /var/backups/ganeti1473770062.tar
|
||||
Switching to version 2.15 on all nodes
|
||||
Upgrading configuration
|
||||
Ensuring directories everywhere.
|
||||
Starting daemons everywhere.
|
||||
Redistributing the configuration.
|
||||
Restarting daemons everywhere.
|
||||
Undraining the queue.
|
||||
Running post-upgrade hooks
|
||||
Unpausing the watcher.
|
||||
Verifying cluster.
|
||||
```
|
||||
|
||||
Note that it verified in secret. You may want to do so explicitly
|
||||
|
||||
```
|
||||
# gnt-cluster verify
|
||||
Submitted jobs 301175, 301176
|
||||
Waiting for job 301175 ...
|
||||
Tue Sep 13 12:38:33 2016 * Verifying cluster config
|
||||
Tue Sep 13 12:38:33 2016 * Verifying cluster certificate files
|
||||
Tue Sep 13 12:38:33 2016 * Verifying hypervisor parameters
|
||||
Tue Sep 13 12:38:33 2016 * Verifying all nodes belong to an existing group
|
||||
Waiting for job 301176 ...
|
||||
Tue Sep 13 12:38:35 2016 * Verifying group 'default'
|
||||
Tue Sep 13 12:38:35 2016 * Gathering data (2 nodes)
|
||||
Tue Sep 13 12:38:35 2016 * Gathering information about nodes (2 nodes)
|
||||
Tue Sep 13 12:38:41 2016 * Gathering disk information (2 nodes)
|
||||
Tue Sep 13 12:39:05 2016 * Verifying configuration file consistency
|
||||
Tue Sep 13 12:39:05 2016 * Verifying node status
|
||||
Tue Sep 13 12:39:05 2016 * Verifying instance status
|
||||
Tue Sep 13 12:39:05 2016 * Verifying orphan volumes
|
||||
Tue Sep 13 12:39:05 2016 * Verifying N+1 Memory redundancy
|
||||
Tue Sep 13 12:39:05 2016 * Other Notes
|
||||
Tue Sep 13 12:39:05 2016 - NOTICE: 2 non-redundant instance(s) found.
|
||||
Tue Sep 13 12:39:05 2016 * Hooks Results
|
||||
```
|
||||
|
||||
Confirm which version is running
|
||||
|
||||
```
|
||||
# ls -l /etc/ganeti/share
|
||||
lrwxrwxrwx 1 root root 22 Sep 13 12:34 /etc/ganeti/share -> /usr/share/ganeti/2.15/
|
||||
```
|
||||
|
||||
## Upgrade keys
|
||||
|
||||
On the master node
|
||||
|
||||
```
|
||||
# gnt-cluster renew-crypto --new-ssh-keys --no-ssh-key-check
|
||||
Updating certificates now. Running "gnt-cluster verify" is recommended after this operation.
|
||||
This requires all daemons on all nodes to be restarted and may take
|
||||
some time. Continue?
|
||||
y/[n]/?: y
|
||||
Tue Sep 13 12:41:01 2016 Renewing SSH keys
|
||||
All requested certificates and keys have been replaced. Running "gnt-cluster verify" now is recommended.
|
||||
```
|
||||
|
||||
## Verify
|
||||
|
||||
And, of course, always verify. On the master
|
||||
|
||||
```
|
||||
# gnt-cluster verify
|
||||
Tue Sep 13 12:41:54 2016 * Verifying cluster config
|
||||
Tue Sep 13 12:41:54 2016 * Verifying cluster certificate files
|
||||
Tue Sep 13 12:41:54 2016 * Verifying hypervisor parameters
|
||||
Tue Sep 13 12:41:54 2016 * Verifying all nodes belong to an existing group
|
||||
Waiting for job 301181 ...
|
||||
Tue Sep 13 12:41:56 2016 * Verifying group 'default'
|
||||
Tue Sep 13 12:41:56 2016 * Gathering data (2 nodes)
|
||||
Tue Sep 13 12:41:57 2016 * Gathering information about nodes (2 nodes)
|
||||
Tue Sep 13 12:42:03 2016 * Gathering disk information (2 nodes)
|
||||
Tue Sep 13 12:43:04 2016 * Verifying configuration file consistency
|
||||
Tue Sep 13 12:43:04 2016 * Verifying node status
|
||||
Tue Sep 13 12:43:04 2016 * Verifying instance status
|
||||
Tue Sep 13 12:43:05 2016 * Verifying orphan volumes
|
||||
Tue Sep 13 12:43:05 2016 * Verifying N+1 Memory redundancy
|
||||
Tue Sep 13 12:43:05 2016 * Other Notes
|
||||
Tue Sep 13 12:43:05 2016 - NOTICE: 2 non-redundant instance(s) found.
|
||||
Tue Sep 13 12:43:05 2016 * Hooks Results
|
||||
```
|
||||
|
||||
And Bob's your uncle!
|
||||
Loading…
Add table
Add a link
Reference in a new issue