ProxmoxDebianCloudInit » Cronologia » Versione 3
Versione 2 (Simone Piccardi, 04-02-2019 14:28) → Versione 3/23 (Simone Piccardi, 04-02-2019 16:02)
h1. Debian su Proxmox con cloud-init
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.
Il primo passo è scaricare una immagine pronta per il cloud di Debian, sono disponibili delle versioni non ufficiali a partire su
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:
<pre>
wget https://cdimage.debian.org/cdimage/openstack/current/debian-9.7.0-openstack-amd64.raw
</pre>
e le relative checksum e firme con cui verificarne l'integrità:
<pre>
wget https://cdimage.debian.org/cdimage/openstack/current/SHA512SUMS
wget https://cdimage.debian.org/cdimage/openstack/current/SHA512SUMS.sign
</pre>
verificando il tutto con:
<pre>
sha256sum -c SHA256SUMS --ignore-missing
gpg --verify SHA512SUMS.sign SHA512SUMS
</pre>
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).
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:
<pre>
qm create 4242 --memory 1024 --net0 virtio,bridge=vmbr0
</pre>
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:
<pre>
root@proxmox ~ # qm importdisk 4242 debian-9.7.0-openstack-amd64.qcow2 local-lvm
Using default stripesize 64.00 KiB.
Logical volume "vm-4242-disk-0" created.
(100.00/100%)
</pre>
(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:
<pre>
root@proxmox ~ # qm set 4242 --scsihw virtio-scsi-pci --scsi0 local-lvm:vm-4242-disk-0,discard=on
</pre>
(si ometta il @,discard=on@ se lo storage utilizzato non supporta l'uso di discard).
occorrerà poi impostare il tipo di disco (si usi