Project

General

Profile

ProxmoxOnWheezy » History » Version 7

Simone Piccardi, 04/13/2015 02:52 PM

1 1 Simone Piccardi
h1. Installare Proxmox 3.x su Wheezy
2 1 Simone Piccardi
3 1 Simone Piccardi
4 1 Simone Piccardi
Benché Proxmox preveda la possibilità di una installazione diretta tramite la propria distribuzione, è possibile effettuare l'installazione anche a partire da una Debian Wheeze, utilizzando i pacchetti forniti dal progetto. Sono però necessari alcuni accorgimenti. Dopo aver completato la installazione del sistema base di Debian si dovranno aggiungere alle fonti di APT (in @/etc/apt/sources.list@) le righe seguenti per i pacchetti di Proxmox:
5 1 Simone Piccardi
6 1 Simone Piccardi
<pre>
7 1 Simone Piccardi
# PVE pve-no-subscription repository provided by proxmox.com
8 1 Simone Piccardi
deb http://download.proxmox.com/debian wheezy pve-no-subscription
9 1 Simone Piccardi
</pre>
10 1 Simone Piccardi
11 1 Simone Piccardi
Inoltre se si usa LVM è opportuno creare un filesystem separato per @/var/lib/vz@ su un volume logico, e se si intende usare la funzionalità degli snapshot nei dump delle macchine virtuali anche un secondo volume logico per @/var/lib/vz/dump@. E' il caso di farlo prima di installare Proxmox altrimenti se ne dovranno spostare i contenuti in seguito. 
12 1 Simone Piccardi
13 1 Simone Piccardi
per semplificare gli aggiornamenti ed evitare lamentazioni al riguardo dei pacchetti non firmati si installino le chiavi GPG per Proxmox con:
14 1 Simone Piccardi
15 1 Simone Piccardi
<pre>
16 1 Simone Piccardi
wget -O- "http://download.proxmox.com/debian/key.asc" | apt-key add -
17 1 Simone Piccardi
</pre>
18 1 Simone Piccardi
19 1 Simone Piccardi
Prima di installare ci si assicuri che al proprio hostname non sia associato nessun indirizzo IPv6, e che questo sia associato al proprio IP pubblico e non al 127.0.0.1; si dovrà cioè avere un contenuto di @/etc/hosts@ del tipo:
20 1 Simone Piccardi
21 1 Simone Piccardi
<pre>
22 1 Simone Piccardi
# IPv4
23 1 Simone Piccardi
127.0.0.1 localhost localdomain localhost
24 1 Simone Piccardi
144.76.223.7  proxmox proxmox.truelite.it pvelocalhost
25 6 Simone Piccardi
26 6 Simone Piccardi
# The following lines are desirable for IPv6 capable hosts
27 6 Simone Piccardi
::1     localhost ip6-localhost ip6-loopback
28 1 Simone Piccardi
ff02::1 ip6-allnodes
29 1 Simone Piccardi
ff02::2 ip6-allrouters
30 1 Simone Piccardi
</pre>
31 1 Simone Piccardi
32 1 Simone Piccardi
si proceda poi alla rilettura dei repository e alla installazione degli aggiornamenti:
33 1 Simone Piccardi
34 1 Simone Piccardi
<pre>
35 1 Simone Piccardi
apt-get update
36 1 Simone Piccardi
apt-get dist-upgrade
37 1 Simone Piccardi
</pre>
38 1 Simone Piccardi
39 6 Simone Piccardi
A questo punto si installi il kernel ed i relativi firmware di Proxmox, il kernel ordinario di Wheezy infatti non ha il supporto per OpenVZ. Non ci si faccia intimorire dal numero di versione (2.6.32) si tratta del kernel derivato da quello di RedHat Enterprise che contiene tutti gli aggiornamenti ivi presenti e che è la base delle patch di OpenVZ, questo si fa con (la versione 2.6.32-29 è quella alla data di ultima revisione di queste note, si verifichi che non ne sia disponibile una più recente, nel qual caso tutti i riferimenti alla versione 2.6.32-29 che appaiono di seguito dovranno essere riferiti a quest'ultima):
40 1 Simone Piccardi
41 1 Simone Piccardi
<pre>
42 6 Simone Piccardi
apt-get install pve-firmware pve-kernel-2.6.32-29-pve
43 1 Simone Piccardi
</pre>
44 1 Simone Piccardi
 
45 1 Simone Piccardi
A questo punto si deve riavviare facendo partire il nuovo kernel, ma a causa del numero di versione questo non corrisponde al default di GRUB che usa il kernel standard di Wheezy (3.2.0). Pertanto se non si può disporre della console (ad esempio perché si sta operando da remoto) è necessario modificare temporaneamente la configurazione di GRUB per far partire il nuovo kernel. Per questo occorre determinare la posizione dello stesso nel menù di grub ed impostarla in @/etc/default/grub@, nella variabile @GRUB_DEFAULT@. 
46 1 Simone Piccardi
47 2 Simone Piccardi
Nel caso si sia partiti da una installazione liscia di Wheezy saranno disponibili solo due immagini di kernel, ed il valore corretto per @GRUB_DEFAULT@ è 2, altrimenti occorre verificare in @/boot/grub/grub.cfg@ contando la posizione della voce @menuentry@ corrispondente a *partire da 0*. Si faccia *molta attenzione*: in generale il valore deve essere pari perché per ogni immagine di kernel installata vengono automaticamente create due voci, una per l'avvio normale ed una per l'avvio in single user mode, qualora si selezioni per sbaglio una di queste ultime la macchina non sarà più raggiungibile da remoto. 
48 1 Simone Piccardi
49 1 Simone Piccardi
Per evitare errori di conteggio si può alternativamente indicare il valore di @GRUB_DEFAULT@ usando invece che un numero di posizione la stringa passata come primo argomento della direttiva @menuentry@ corrispondente in @/boot/grub/grub.cfg@. Se cioè si ha una voce: 
50 2 Simone Piccardi
51 1 Simone Piccardi
<pre>
52 6 Simone Piccardi
menuentry 'Debian GNU/Linux, with Linux 2.6.32-29-pve' --class debian .......
53 1 Simone Piccardi
</pre>
54 1 Simone Piccardi
55 4 Simone Piccardi
(si tenga presente che la voce è localizzata, per cui se si è installato in italiano si avrà un "con" al posto del "with", controllare sempre il file, un errore non compromette nulla, se la stringa non corrisponde si riavvierà con il primo kernel della lista, che resta quello non voluto) dovrà definire @GRUB_DEFAULT@ in @/etc/default/grub@ come:
56 1 Simone Piccardi
57 1 Simone Piccardi
<pre>
58 6 Simone Piccardi
GRUB_DEFAULT='Debian GNU/Linux, with Linux 2.6.32-29-pve'
59 1 Simone Piccardi
</pre>
60 1 Simone Piccardi
61 1 Simone Piccardi
si esegua poi l'aggiornamento della configurazione di GRUB con:
62 1 Simone Piccardi
63 1 Simone Piccardi
<pre>
64 1 Simone Piccardi
update-grub
65 1 Simone Piccardi
</pre>
66 1 Simone Piccardi
67 1 Simone Piccardi
e si verifichi che il default per il kernel da avviare sia stato cambiato con:
68 1 Simone Piccardi
69 1 Simone Piccardi
<pre>
70 1 Simone Piccardi
root@proxmox ~ # grep "default=" /boot/grub/grub.cfg 
71 6 Simone Piccardi
set default="Debian GNU/Linux, with Linux 2.6.32-29-pve"
72 1 Simone Piccardi
</pre>
73 1 Simone Piccardi
74 7 Simone Piccardi
Con le versioni più recenti di GRUB (installate con i pacchetti di Proxmox) che creano dei sottomenu per i vari kernel, questa procedura produrrà un avvertimento indicando di sostituire il valore indicato per @GRUB_DEFAULT@ in precedenza con una stringa nella forma:
75 7 Simone Piccardi
76 7 Simone Piccardi
<pre>
77 7 Simone Piccardi
gnulinux-advanced-447f60ea-aa25-44b1-96ba-22f3fcf056bd>gnulinux-2.6.32-37-pve-advanced-447f60ea-aa25-44b1-96ba-22f3fcf056bd
78 7 Simone Piccardi
</pre>
79 7 Simone Piccardi
80 7 Simone Piccardi
(si legga la propria nei risultati di @update-grub@), una volta fatta questa modifica si ripeta il comando @update-grub@ che a questo punto non dovrebbe dare più nessun avvertimento.
81 7 Simone Piccardi
82 1 Simone Piccardi
A questo punto si potrà riavviare la macchina, ed una volta ritornata in linea controllare che sia attivo il kernel di Proxmox con:
83 1 Simone Piccardi
84 1 Simone Piccardi
<pre>
85 1 Simone Piccardi
root@proxmox ~ # uname -r
86 6 Simone Piccardi
2.6.32-29-pve
87 1 Simone Piccardi
</pre>
88 1 Simone Piccardi
89 2 Simone Piccardi
Onde evitare di restare ancorati a questa versione di kernel negli aggiornamenti e dovere tutte le volte modificare il default di GRUB si proceda ad eliminare il kernel standard di Wheezy (con @apt-get remove linux-image-amd64 linux-image-3.2.0-4-amd64@) e a ripristinare il valore di default originario per GRUB inserendo in @/etc/default/grub@:
90 1 Simone Piccardi
91 1 Simone Piccardi
<pre>
92 1 Simone Piccardi
GRUB_DEFAULT=0
93 6 Simone Piccardi
#GRUB_DEFAULT='Debian GNU/Linux, with Linux 2.6.32-29-pve'
94 1 Simone Piccardi
</pre>
95 1 Simone Piccardi
96 2 Simone Piccardi
e poi si rigeneri, verificando che venga rilevata solo la versione del kernel di Proxomox, la configurazione per GRUB con:
97 1 Simone Piccardi
98 1 Simone Piccardi
<pre>
99 1 Simone Piccardi
update-grub
100 1 Simone Piccardi
</pre>
101 1 Simone Piccardi
102 2 Simone Piccardi
A questo punto si potrà procedere con le fasi successive dell'installazione, un primo passo è rimuovere l'installazione di default di @exim@ ed utilizzare @postfix@ come suggerito da Proxmox (e dal buon senso). Si suggerisce di configurarlo, a meno di esigenze diverse, per la spedizione solo locale (abilitando poi il trasporto per le email in uscita generate localmente):
103 1 Simone Piccardi
104 1 Simone Piccardi
<pre>
105 1 Simone Piccardi
apt-get install --purge postfix
106 1 Simone Piccardi
</pre>
107 1 Simone Piccardi
108 1 Simone Piccardi
Una volta fatto questo si potranno installare le restanti parti dell'infrastruttura necessaria all'uso di Proxmox con:
109 1 Simone Piccardi
110 1 Simone Piccardi
<pre>
111 1 Simone Piccardi
apt-get install proxmox-ve-2.6.32 ntp lvm2 ksm-control-daemon vzprocps open-iscsi bootlogd
112 1 Simone Piccardi
</pre>
113 1 Simone Piccardi
114 5 Simone Piccardi
Si tenga presente che durante l'installazione si otterrà probabilmente un avviso "_Warning: IP forwarding is not enabled_", in quanto il default di Debian non lo prevede e le configurazioni aggiuntive di @sysctl@ vengono installate con i pacchetti citati, occorrerà pertanto eseguire manualmente le configurazioni aggiuntive usando i file in @/etc/sysctl.d/@ con @sysctl --system@ altrimenti la rete delle macchine virtuali non funzionarà.
115 1 Simone Piccardi
116 2 Simone Piccardi
Per verificare il funzionamento della piattaforma ci si dovrà collegare direttamente alla macchina con l'indirizzo https://proxmox.truelite.it:8006, la versione 3.x di Proxmox non utilizza più Apache che non viene installato e pertanto non esiste neanche una redirezione dalla porta 80. L'accesso è con le credenziali degli utenti di sistema (cioè root) ed è consigliato l'uso di Chromium (con alcune versioni di firefox l'interfaccia non funziona). Dalla versione 3.1 ad ogni login viene mostrato un pop-up di avviso che non si ha una versione supportata, che può essere rimosso con una patch al javascript dell'interfaccia.