Completamento prima stesura slides.
This commit is contained in:
parent
a94c949aef
commit
06a2e2b1c8
3 changed files with 1147 additions and 16 deletions
197
slides.md
197
slides.md
|
@ -25,19 +25,22 @@ Creative LAB, Lunetta (MN) — 10 maggio 2025
|
|||
<!-- paginate: true -->
|
||||
<!-- footer: "Linux Day 2025 SE - 10/05/2025 - Mantova" -->
|
||||
|
||||
# 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
|
||||
|
||||

|
||||
|
||||
|
@ -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
|
||||
|
||||
<div class="columns">
|
||||
<div>
|
||||
|
@ -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>
|
||||
|
||||

|
||||
|
||||
</center>
|
||||
|
||||
<!--
|
||||
Approccio *enterprise*:
|
||||
- Consumi **non** sono un problema
|
||||
- Fattore di forma: *rack*
|
||||
- Potenza di calcolo massima
|
||||
- Necessità di HA
|
||||
- Ridondanza **necessaria**
|
||||
- Storage condiviso
|
||||
- Backup frequenti e rapidi
|
||||
- *Budget* di qualche decina di k€ o superiore
|
||||
|
||||
Approccio "casalingo":
|
||||
- Consumi sono **importanti**
|
||||
- Il più compatto possibile
|
||||
- Potenza di calcolo << Consumi
|
||||
- Non c'è necessità di HA
|
||||
- Ridondanza limitata/assente
|
||||
- No storage costosi condivisi
|
||||
- Backup non frequenti, non rapidi
|
||||
- *Budget* è fattore importante, tendente a zero
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
|
||||
<!--
|
||||
Hyperthreading:
|
||||
* Disabilita da BIOS
|
||||
* Considerata **vulnerabilità**
|
||||
|
||||
Set istruzioni: verificare con massiccio uso di CT
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
## 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:
|
||||
|
||||
<center>
|
||||
|
||||
| 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 |
|
||||
|
||||
</center>
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue