Progetto

Generale

Profilo

ProxmoxDebianCloudInit » Cronologia » Versione 3

Simone Piccardi, 04-02-2019 16:02

1 1 Simone Piccardi
h1. Debian su Proxmox con cloud-init
2
3
Con la versione 5.x Proxmox ha aggiunto il supporto per la creazione e la configurazione automatica delle macchine virtuali utilizzando @cloud-init@. Vedremo come utilizzarlo per la gestione di macchine virtuali con Debian Stretch.
4
5 2 Simone Piccardi
Il primo passo è scaricare una immagine pronta per il cloud di Debian, sono disponibili delle versioni non ufficiali a partire su 
6
https://cdimage.debian.org/cdimage ed in particolare per Proxmox servono quelle di OpenStack, pertanto si dovranno prendere da https://cdimage.debian.org/cdimage/openstack/current, selezionando quella per amd64, nel formato raw o qcow2, e scaricandola con:
7 1 Simone Piccardi
8
<pre>
9 2 Simone Piccardi
wget https://cdimage.debian.org/cdimage/openstack/current/debian-9.7.0-openstack-amd64.raw
10 1 Simone Piccardi
</pre>
11 2 Simone Piccardi
12
e le relative checksum e firme con cui verificarne l'integrità:
13
14
<pre>
15
wget https://cdimage.debian.org/cdimage/openstack/current/SHA512SUMS
16
wget https://cdimage.debian.org/cdimage/openstack/current/SHA512SUMS.sign
17
</pre>
18
19
verificando il tutto con:
20 3 Simone Piccardi
21
<pre>
22
sha256sum -c SHA256SUMS --ignore-missing 
23
gpg --verify SHA512SUMS.sign SHA512SUMS
24
</pre>
25
26
Se @gpg@ dice che è impossibile controllare la firma perché non c'è la chiave pubblica, questa deve essere importata dal keyring di Debian con qualcosa come @gpg --keyserver keyring.debian --recv-keys DF9B9C49EAA9298432589D76DA87E80D6294BE9B@ (dove il numero della chiave è quello riportato dal precedente comando). 
27
28
Come primo passo occorre creare una macchina virtuale da cui si genererà il template, ne vanno impostate anzitutto memoria e tipo di rete, facendo riferimento ad una delle interfacce di bridge disponibili (a seconda di dove la si vuole creare di default, il bridge potrà comunque essere cambiato in seguito), questo si fa, utilizzando un VMID non allocato, con:
29
30
<pre>
31
qm create 4242 --memory 1024 --net0 virtio,bridge=vmbr0
32
</pre>
33
34
poi si potrà ottenere il disco della nostra importando nello storage l'immagine scaricata, in questo caso se si sta usando LVM come backend per i dischi associato allo storage @local-lvm@ (come avviene in una installazione di default) lo si potrà fare eseguendo:
35
36
<pre>
37
root@proxmox ~ # qm importdisk 4242 debian-9.7.0-openstack-amd64.qcow2 local-lvm
38
  Using default stripesize 64.00 KiB.
39
  Logical volume "vm-4242-disk-0" created.
40
    (100.00/100%)
41
</pre>
42
43
(si usi al posto di @local-lvm@ un eventuale altro tipo di storage), questo creerà l'immagine del disco con lo stesso schema di denominazione usato nella creazione delle macchine virtuali dall'interfaccia web (@vm-4242-disk-0@), convertendo il contenuto del file scaricato (si possono covertire tutti i formati supportati da @qemu-img@, primi fa tutti @.raw@ e @.qcow2@), per poter usare il disco nella macchina virtuale precedentemente creata occorrerà poi collegarcelo, con il comando:
44
45
 <pre>
46
root@proxmox ~ # qm set 4242 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-4242-disk-0,discard=on
47
</pre>
48
49
(si ometta il @,discard=on@ se lo storage utilizzato non supporta l'uso di discard). 
50
51
52
occorrerà poi impostare il tipo di disco (si usi