From 06a2e2b1c8ecedc24622cab6f6ed5a99b8a7708d Mon Sep 17 00:00:00 2001 From: Emiliano Vavassori Date: Mon, 5 May 2025 00:56:55 +0200 Subject: [PATCH] Completamento prima stesura slides. --- Makefile | 16 +- images/RadarMap_EnterpriseVSHome_add.svg | 950 +++++++++++++++++++++++ slides.md | 197 ++++- 3 files changed, 1147 insertions(+), 16 deletions(-) create mode 100644 images/RadarMap_EnterpriseVSHome_add.svg diff --git a/Makefile b/Makefile index 9379346..af40cf7 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,14 @@ -default: slides.md - marp slides.md +default: slides.html -pdf: slides.md - marp --pdf slides.md +pdf: slides.pdf -clean: +distclean: rm -f slides.html slides.pdf -PHONY: .clean +%.html: %.md + marp --allow-local-files -o $@ $< + +%.pdf: %.md + marp --allow-local-files --pdf -o $@ $< + +.PHONY: distclean diff --git a/images/RadarMap_EnterpriseVSHome_add.svg b/images/RadarMap_EnterpriseVSHome_add.svg new file mode 100644 index 0000000..a33a7af --- /dev/null +++ b/images/RadarMap_EnterpriseVSHome_add.svg @@ -0,0 +1,950 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Consumi + Dimensioni + Risorse fornite + High Availability + Ridondanza + Storage condiviso + Backup + Gioventù + Budget + 0 + 5 + + + + + Casalingo + Enterprise + + + + + + + + + + diff --git a/slides.md b/slides.md index 1f596b6..06e778e 100644 --- a/slides.md +++ b/slides.md @@ -25,19 +25,22 @@ Creative LAB, Lunetta (MN) — 10 maggio 2025 -# Agenda +## Agenda - Cos'è Proxmox Virtual Environment - Sostenibilità del progetto e modello di *business* - Supporto della *community* -- Multinodo o singolo nodo -- CPU: scelte d'implementazione per *enterprise* e *home lab* -- Storage locale: scelte *enterprise* e *home lab* -- RAM: scelte *enterprise* e *home lab* +- Approccio *enterprise* e "casalingo" +- Considerazioni sullo *storage* locale +- Pro e contro delle tre modalità di configurazione dello *storage* +- Esempio avanzato di configurazione dello *storage* locale +- Considerazioni su CPU +- Considerazioni su RAM +- Meccanismi di *passthrough* --- -# Cos'è Proxmox Virtual Environment +## Cos'è Proxmox Virtual Environment ![bg left:30% w:200px Logo di Proxmox](images/proxmox_logo_name.png) @@ -54,7 +57,7 @@ Creative LAB, Lunetta (MN) — 10 maggio 2025 --- -# *Feature* di Proxmox VE — 1 +## *Feature* di Proxmox VE — 1 * Virtualizzazione basata su KVM/QEMU * Containerizzazione basata su LXC @@ -69,7 +72,7 @@ Creative LAB, Lunetta (MN) — 10 maggio 2025 --- -# *Feature* di Proxmox VE — 2 +## *Feature* di Proxmox VE — 2
@@ -96,7 +99,7 @@ Storage esterni: --- -# Sostenibilità del progetto e modello di *business* +## Sostenibilità del progetto e modello di *business* Proxmox Server Solutions GmbH è l'azienda che sviluppa Proxmox VE dal 2005. @@ -109,7 +112,7 @@ Gli altri prodotti: --- -# Supporto della community +## Supporto della community Il metodo principale per contattare la *community* e farsi supportare è quello del forum ufficiale: [https://forum.proxmox.com/](https://forum.proxmox.com/). @@ -119,3 +122,177 @@ In italiano c'è un canale dedicato su Telegram: [Proxmox Italia](https://t.me/u Un'interessante risorsa per tutti è [Proxmox VE Helper-Scripts](https://community-scripts.github.io/ProxmoxVE/), che è una raccolta di script da poter far girare direttamente su Proxmox VE per ottenere diverse applicazioni già pronte. --- + +## Approccio *enterprise* o "casalingo"? + +I due approcci sono quasi antitetici e tengono in considerazione esigenze +differenti + +
+ +![center RadarMap esigenze](images/RadarMap_EnterpriseVSHome_add.svg) + +
+ + + +--- + +## Configurazione dello *storage* locale + +* Utilizzo di un *hardware RAID controller*: non è sempre il meglio! +* Modalità di configurazione: + - LVM-Thin + - ZFS + - btrfs +* Parametri avanzati differenti per ciascuna modalità +* ZFS e btrfs sono quelli che necessitano di più RAM per poter lavorare + ⇒ tenerne conto nel dimensionamento! +* I dischi a sistema vengono usati *tutti* e per *tutta la loro dimensione* (ma: configurazione avanzata) + +--- + +## Storage locale LVM-Thin: pro e contro + +* Non supporta meccanismi di RAID (LVM non è ridondanza!) + * RAID Controller hardware + * Installazione Debian con `mdadm`, poi aggiornamento a Proxmox VE +* I dischi delle VM sono effettivamente dei *logical volume* di LVM +* Per via dell'estensione LVM-Thin, viene utilizzato solo lo spazio + effettivamente occupato dai dati all'interno del disco +* A seconda dei casi d'uso, l'installer finisce per dedicare troppo spazio al + sistema + +--- + +## Storage locale ZFS: pro e contro + +* In Proxmox VE è stato portato OpenZFS/ZFS on Linux (versione attuale: 2.3.2) +* Supporta uso di più dischi in ridondanza (RAID) + * *Just a Bunch Of Disks* (JBOD) + * con controller in modalità *Host Bus Adapter* (HBA) +* Uso della RAM considerevole (*ARC cache*, di default la metà della RAM) +* *Cache* opzionali, di lettura o scrittura, meglio se su dischi *flash*: + - Cache scrittura: *ZFS Intent Log* (ZIL) ⇒ `log` + - Cache lettura: *Level 2 ARC* (L2ARC) ⇒ `cache` +* Sicuramente il metodo più flessibile e potente +* Supporto via interfaccia web non completo + +--- + +## Storage locale btrfs: pro e contro + +* Richiede molte risorse sul sistema (RAM ma anche CPU) +* Meno utilizzato +* A parità di macchina, spesso si preferisce ZFS (per stabilità e *feature set*) + +--- + +## Esempio di configurazione avanzata con ZFS — 1 + +- 2x dischi NVMe 120GB +- 3x dischi HDD 8TB +- RAM: almeno 26-32 GB dedicati a ZFS, resto per le VM + +--- + +## Esempio di configurazione avanzata con ZFS — 2 + +* All'installer si indica di usare solo i due dischi NVMe, si chiede di configurare in modalità `mirror` e si lascia 60GB di spazio (diminuire `hdsize` a 60GB) +* Si partiziona lo spazio libero con due partizioni: una da 8GB e una da 52GB circa (CLI) + +--- + +## Esempio di configurazione avanzata con ZFS — 3 + +* Viene creato un nuovo zpool `datastore` in modalità `raidz` (RAID 5) con i dischi rotativi; circa 16TB di spazio per i dischi delle VM e dei Container (via web) +* A questo zpool vengono agganciate le due *cache* (CLI) + * *Cache* di lettura: in modalità *striping* sulle due partizioni da 52GB circa + * *Cache* di scrittura: in modalità `mirror` sulle due partizioni da 8GB +* Si riconfigura `zfs_arc_max` per usare solo 26-32GB di RAM (CLI) + - 2-8 GB per la sola presenza di ZFS + - 1GB di RAM per ogni TB di storage "grezzo" (non considerando RAID) + +--- + +## Considerazioni sulla CPU — 1 + +Caratteristiche notevoli della CPU: + +* Numero di Core +* Numero di Thread - *Hyperthreading* +* Set di istruzioni (es. AVX2) +* Velocità di clock +* Consumo (*Thermal Design Point*, TDP) + + + +--- + +## Considerazioni sulla CPU — 2 + +In ambienti Enterprise si scelgono CPU *multicore* e *hyperthreading* e, +possibilmente, si installano più processori (*socket*). + +In ambienti casalinghi, magari è preferibile utilizzare CPU appena meno +performanti ma più parsimoniose: + +
+ + | Modello | Clock (GHz) | TDP (W) | Core | Thread | + |---------------------|:-----------:|:-------:|:----:|:------:| + | Intel Core i7 6700 | 3.40 | 65 | 4 | 8 | + | Intel Core i7 6700T | 2.80 | 35 | 4 | 8 | + +
+ +--- + +## Considerazioni sulla RAM + +* Dimensionamento anche sulla base del filesystem che si vuole utilizzare! +* *Ballooning* +* Condivisione della RAM su più macchine +* *Overprovisioning*: assegnare più RAM di quanta è fisicamente disponibile + sul sistema + +--- + +## Dispositivi in *passthrough* + +*Mettere in passthrough* un dispositivo hardware dell'host vuol dire **dedicarlo alla VM/CT** a cui viene associato. + +Utile e ampiamente utilizzato per associare GPU a macchine virtuali specifiche: +* disegno CAD/3D, rendering, altre applicazioni grafiche +* *mining* di Cryptovalute +* Utilizzo GPU per Intelligenze Artificiali Generative + +**Necessari** +* Supporto hardware dell'host (IOMMU: Intel VT-d, AMD AMD-Vi) +* Modifiche alla configurazione di Proxmox VE (non abilitato di default)