KoaVM
Pagine della guida

Guida · Per gli amministratori

Cluster e storage condiviso

Se hai uno storage condiviso (Ceph, una SAN iSCSI o Fibre Channel, un TrueNAS), KoaVM lo usa attraverso un cluster Incus: più server che vedono gli stessi dischi. Una VPS su uno storage condiviso:

  • si sposta fra i server del cluster senza copiare il disco, anche a caldo, in pochi secondi;
  • se il suo server si guasta, riparte su un altro server con lo stesso disco: non si perde niente.

In Incus lo storage condiviso funziona solo dentro un cluster: un pool Ceph non si condivide fra server Incus indipendenti.

Preparare il cluster

Il cluster lo crei tu, con gli strumenti di Incus; KoaVM lo collega.

  1. Su ogni server installa Incus come per un nodo normale.
  2. Crea il cluster sul primo server (incus admin init, rispondi sì al cluster) e fai entrare gli altri con un token (incus cluster add <nome> sul primo, poi incus admin init sugli altri).
  3. Aggiungi il pool condiviso: - Ceph: un cluster Ceph che c'è già, oppure MicroCeph sugli stessi server (snap install microceph, microceph cluster bootstrap, microceph disk add). Poi incus storage create remote ceph. Con MicroCeph, in /etc/ceph di ogni server servono ceph.conf e la chiave di client.admin. - SAN iSCSI, Fibre Channel o NVMe-oF: driver lvmcluster (con lvmlockd e sanlock). - TrueNAS: driver truenas.
  4. Per la rete delle VPS crea in Incus un bridge con lo stesso nome su tutti i membri (per esempio br-vps), oppure usa IP che seguono la VPS (stesso blocco collegato a tutti i membri).

Collegare il cluster a KoaVM

Aggiungi ogni server del cluster come un nodo (Nodi › Aggiungi nodo), con il suo indirizzo. Il pannello capisce da solo che è un membro di un cluster: nella pagina Nodi compare «membro … · cluster …» e il pool condiviso è segnato condiviso.

  • Accendi il pool condiviso per le VPS (Nodi › Pool di storage › Per le VPS) su ogni membro.
  • Nei piani scegli il pool di storage preferito (es. remote): le VPS del piano vanno sul pool condiviso.
  • Collega il blocco di IP delle VPS a tutti i membri: così l'IP segue la VPS quando si sposta.

Per lo storage condiviso il pannello conta lo spazio di tutto il cluster, non quello di un nodo.

Spostare una VPS nel cluster

Con Sposta su un altro membro dello stesso cluster, una VPS sul pool condiviso non copia niente: Incus cambia solo il server. Se la VPS è accesa e spostabile a caldo resta accesa; altrimenti si spegne, passa all'altro server e si riaccende in meno di un minuto.

Nel cluster si spostano senza copia solo le VPS con il disco principale sul pool condiviso, senza dischi aggiuntivi e senza GPU, con gli stessi indirizzi.

Alta affidabilità senza perdere dati

Una VPS protetta (vedi Alta affidabilità) sul pool Ceph del cluster non ha bisogno di copie: il nodo di riserva è un altro membro e la protezione è attiva subito. Il riquadro della VPS dice «si perde al massimo: niente».

Quando un membro si spegne di colpo:

  1. il pannello controlla come sempre Incus e SSH, e in più chiede agli altri membri del cluster come lo vedono: se lo segnano OFFLINE il guasto è confermato; se lo vedono ancora, nessuna ripartenza;
  2. prima di far ripartire le VPS, isola il membro guasto dallo storage (blocklist di Ceph): un server solo isolato dalla rete, ma acceso, non può più scrivere sugli stessi dischi. Se l'isolamento non riesce, le VPS non ripartono;
  3. sposta le VPS sul membro di riserva e le riaccende, con lo stesso disco;
  4. quando il membro torna, il pannello ferma i processi rimasti delle VPS ripartite altrove e toglie il blocklist.

Con «Passa al nodo di riserva» la VPS si sposta fra i membri come con Sposta, a caldo se si può.

Per ora l'alta affidabilità senza copie c'è con Ceph. Con lvmcluster e TrueNAS le VPS si spostano nel cluster, ma la protezione automatica arriverà quando il loro isolamento sarà provato.

Backup

Le VPS sul pool condiviso fanno i backup con l'esportazione di Incus (archivio a pezzi su S3, FTP o un altro nodo), come le VPS sugli altri pool non predefiniti.