Updates for Proxmox VE 3.0 - including storage migration

Recently installed a fresh PVE 3 and yum updated it fully to get:
Code:
# pveversion -v
pve-manager: 3.0-23 (pve-manager/3.0/957f0862)
running kernel: 2.6.32-20-pve
proxmox-ve-2.6.32: 3.0-100
pve-kernel-2.6.32-20-pve: 2.6.32-100
lvm2: 2.02.95-pve3
clvm: 2.02.95-pve3
corosync-pve: 1.4.5-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.0-1
pve-cluster: 3.0-4
qemu-server: 3.0-20
pve-firmware: 1.0-22
libpve-common-perl: 3.0-4
libpve-access-control: 3.0-4
libpve-storage-perl: 3.0-8
vncterm: 1.1-4
vzctl: 4.0-1pve3
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 1.4-13
ksm-control-daemon: 1.1-1

Although the above shows pvemanager to be v3.0-23, the github version has progressed beyond v3.0-31.

A few syntactical errors (missing or extra semicolon, comma, etc) were corrected along the way to 3.0-31.

The js files are plenty but the ones in the pve-manager seem to join them all up to become one.


The js build file is at www/manager/Makefile in the git repo.


Interesting set of links / gist from the forum and elsewhere for PVE3:

http://wiki.openvz.org/VSwap
http://forum.proxmox.com/threads/9577-OpenVZ-VM-exceeding-limits
I have an OpenVZ VM with 1GB of assigned memory, however it is currently consuming 2.22GB.
Is this a new CT or an upgrade from 1.9?
If its an upgraded/restore from 1.9, stop it and set the memory and swap (in 2.x we use vswap).

http://download.swsoft.com/virtuozzo/virtuozzo4.0/docs/en/lin/VzLinuxUG/293.htm
Non Zero value for OpenVZ
http://www.webhostingtalk.nl/virtualisatie-vps/178327-proxmox-vz-quota-ugid-limit.html
Number of user/group IDs allowed for the CT internal disk quota. If set to 0, the UID/GID quota will not be enabled.
https://openvz.org/User_Guide/Managing_Resources#Managing_Disk_Quotas

Webroot is at: /usr/share/pve-manager
Template Lists are in separate files as: /var/lib/pve-manager/apl-info/$host
(earlier they were in the specific file: /var/lib/pve-manager/apl-available)

First Steps:

Since the initial install of PVE 3 recognises only eth0 and in many cases if there are additional daughter boards (PCI, PCIex1, PCIex16, etc), the eth0 will almost certainly be taken as those other than the one on the motherboard. I had to do edit the following to get it done and order the interfaces for my personal liking thus:

Code:
nano /etc/network/interfaces
nano /etc/udev/rules.d/70-persistent-net.rules
shutdown -r now
apt-get update
apt-get dist-upgrade
cat /var/lib/pve-manager/apl-info/download.proxmox.com 
apt-get install screen zip unzip bzip2 dab
# bzip2 may have already been there
# mlocate now comes pre-installed
updatedb
pveam update

The Backups storage folder needed to be created manually:
mkdir -p /var/lib/vz/backups
Storage View -> Datacenter
-> Panel: Storage
-> Panel Menu: Add -> Directory
-> ID: Backups
-> Directory: /var/lib/vz/backups
-> Content: Backups
-> Enable: checked
-> Max Backups: 2

The Templates had to be downloaded with:
Server View -> Datacenter -> Server Name -> Local
-> Panel: Content
-> Panel Menu: Template -> Download templates needed
 
Last edited:
The patch file for the syntactical errors in the current updated set would be:
Code:
--- /usr/share/pve-manager/ext4/pvemanagerlib.js    Wed Jul 03 19:08:58 2013
+++ /usr/share/pve-manager/ext4/pvemanagerlib.js    Thu Jul 04 11:25:04 2013
@@ -11242,7 +11242,7 @@
     move_disk: function(disk, storage, format, delete_disk) {
     var me = this;
 
-        params =  { disk: disk, storage: storage };
+        var params =  { disk: disk, storage: storage };
 
         if (format) {
             params.format = format;
@@ -11250,7 +11250,7 @@
     
     if (delete_disk) {
         params['delete'] = 1;
-    };
+    }
 
     PVE.Utils.API2Request({
         params: params,
@@ -11291,7 +11291,7 @@
                 fieldLabel: 'Disk',
                 vtype: 'StorageId',
                 allowBlank: false
-            },
+            }
 
         ];
 
@@ -11728,7 +11728,7 @@
             return false;
         }
         var rowdef = rows[rec.data.key];
-        return rowdef.tdCls == 'pve-itype-icon-storage' && !rec.data.value.match(/media=cdrom/)
+        return rowdef.tdCls == 'pve-itype-icon-storage' && !rec.data.value.match(/media=cdrom/);
         },
         handler: run_move
     });
@@ -20313,7 +20313,7 @@
         toplevel: true
         };
     } else if (consoleType === 'shell') {
-        me.title = "node '" + param.node;
+        me.title = "node '" + param.node + "'";
         content = {
         xtype: 'pveShell',
         nodename: param.node,
 
Hi all,

I just tried to upgrade a two nodes cluster to latest PVE 3.0. First node went OK, using 'aptitude update' and 'aptitude safe-upgrade' (I did not see the new recommandations to use apt-get update and apt-get dist-upgrade). But on second node I get errors :

Code:
# aptitude safe-upgrade
....
insserv: Starting endpoint depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service rgmanager at depth 2
insserv:  loop involving service mountkernfs at depth 1
insserv:  loop involving service vz at depth 11
insserv:  loop involving service qemu-server at depth 11
insserv: There is a loop between service endpoint and mountnfs-bootclean if started
insserv:  loop involving service mountnfs-bootclean at depth 11
insserv:  loop involving service endpoint at depth 1
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing x11-common (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of libpve-storage-perl:
 libpve-storage-perl depends on nfs-common; however:
  Package nfs-common is not configured yet.

dpkg: error processing libpve-storage-perl (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of qemu-server:
 qemu-server depends on libpve-storage-perl; however:
  Package libpve-storage-perl is not configured yet.

dpkg: error processing qemu-server (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of pve-manager:
 pve-manager depends on qemu-server (>= 1.1-1); however:
  Package qemu-server is not configured yet.
 pve-manager depends on libpve-storage-perl; however:
  Package libpve-storage-perl is not configured yet.

dpkg: error processing pve-manager (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 nfs-common
 x11-common
 libpve-storage-perl
 qemu-server
 pve-manager

First node was installed with PVE 2.3 then upgraded to 3.0 using the script. Second node was installed directly with the PVE 3.0 DVD.

I tried also with with apt-get dist-upgrade and got the same type of errors :
Code:
# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
5 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up nfs-common (1:1.2.6-4) ...
insserv: warning: script 'S81endpoint' missing LSB tags and overrides
insserv: warning: script 'endpoint' missing LSB tags and overrides
insserv: There is a loop at service stop-bootlogd if started
....
insserv: Starting endpoint depends on stop-bootlogd and therefore on system facility `$all' which can not be true!
insserv: Max recursions depth 99 reached
insserv:  loop involving service rgmanager at depth 2
insserv:  loop involving service mountkernfs at depth 1
insserv:  loop involving service vz at depth 11
insserv:  loop involving service qemu-server at depth 11
insserv: There is a loop between service endpoint and mountnfs-bootclean if started
insserv:  loop involving service mountnfs-bootclean at depth 11
insserv:  loop involving service endpoint at depth 1
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing x11-common (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 nfs-common
 libpve-storage-perl
 qemu-server
 pve-manager
 x11-common
E: Sub-process /usr/bin/dpkg returned an error code (1)

Does anyone has a clue of how to solve this ?

My pveversion is at this point :
Code:
# pveversion -v
pve-manager: not correctly installed (pve-manager/3.0/957f0862)
running kernel: 2.6.32-20-pve
proxmox-ve-2.6.32: 3.0-100
pve-kernel-2.6.32-20-pve: 2.6.32-100
lvm2: 2.02.95-pve3
clvm: 2.02.95-pve3
corosync-pve: 1.4.5-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.0-1
pve-cluster: 3.0-4
qemu-server: not correctly installed
pve-firmware: 1.0-22
libpve-common-perl: 3.0-4
libpve-access-control: 3.0-4
libpve-storage-perl: not correctly installed
vncterm: 1.1-4
vzctl: 4.0-1pve3
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 1.4-13
ksm-control-daemon: 1.1-1

And for pve-manager for instance, I have :
Code:
#  dpkg-query --show pve-manager
pve-manager     3.0-23

Thanks
 
Last edited:
Yes, but I think I understand what happened. I installed an init script, endpoint (a tool from netiq, or Ixia, to check network bandwidth), and I think this init script is no more compliant with new wheezy init scripts. Now I try to find a way to remove them correctly...

Alain
 
OK, solved,

I addes in my endpoint init script the required lines :
Code:
### BEGIN INIT INFO
# Provides: endpoint
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
### END INIT INFO

See for exemple :
http://wiki.debian.org/LSBInitScripts

Then upgrade went oK :
Code:
# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
5 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Setting up nfs-common (1:1.2.6-4) ...
Stopping NFS common utilities: idmapd statd.
Starting NFS common utilities: statd idmapd.
Setting up libpve-storage-perl (3.0-8) ...
Setting up qemu-server (3.0-20) ...
Setting up pve-manager (3.0-23) ...
Restarting PVE Daemon: pvedaemon.
Restarting PVE API Proxy Server: pveproxy.
Restarting PVE Status Daemon: pvestatd.
Setting up x11-common (1:7.7+3~deb7u1) ...
Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix.

and my PVE version is now correct :
Code:
# pveversion -v
pve-manager: 3.0-23 (pve-manager/3.0/957f0862)
running kernel: 2.6.32-20-pve
proxmox-ve-2.6.32: 3.0-100
pve-kernel-2.6.32-20-pve: 2.6.32-100
lvm2: 2.02.95-pve3
clvm: 2.02.95-pve3
corosync-pve: 1.4.5-1
openais-pve: 1.1.4-3
libqb0: 0.11.1-2
redhat-cluster-pve: 3.2.0-2
resource-agents-pve: 3.9.2-4
fence-agents-pve: 4.0.0-1
pve-cluster: 3.0-4
qemu-server: 3.0-20
pve-firmware: 1.0-22
libpve-common-perl: 3.0-4
libpve-access-control: 3.0-4
libpve-storage-perl: 3.0-8
vncterm: 1.1-4
vzctl: 4.0-1pve3
vzprocps: 2.0.11-2
vzquota: 3.1-2
pve-qemu-kvm: 1.4-13
ksm-control-daemon: 1.1-1

I hope this can help someone else. insserv is the new tool to install init script. It replaces update-rc.d.
 
I'm loving this migration! I did not expect this feature to be so swiftly implemented! I was a little curious on how to do it, but glad to see it was added.

It works reliably for me when the VM is shut down, but when I try to move while it's running, it works some times and not others. I haven't done enough testing to determine when is a time it works, and when it isn't, maybe I should make another thread for that. Thanks for making this solid!

I however did not realize there was a "proper" way to do the update, and what I've done on each of my lab nodes is "apt-get update && apt-get upgrade". Thus far I have observed no issues, however what issues could arise and what should I do at this point? I don't have to worry about production as this time as I'm doing trial development before deployment still.

I'm loving this proxmox development cycle so far! Can't wait for SPICE ;D
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!