Impostazione dello storage per la virtualizzazione OpenShift

Cloud privato virtuale 4.17 e successivamente Solo nodi worker in metallo nudo Solo RHCOS

OpenShift La virtualizzazione richiede uno storage che supporti la modalità di accesso ReadWriteMany (RWX) per i dischi VM, la migrazione live e le istantanee. È possibile utilizzare OpenShift Data Foundation (ODF) o File Storage for VPC come soluzione di archiviazione.

OpenShift Il servizio di virtualizzazione include uno spazio di archiviazione preconfigurato: non è richiesta alcuna configurazione manuale.

Prima di iniziare

Prima di installare OpenShift Virtualization, il cluster deve disporre di una soluzione di archiviazione configurata correttamente.

Impostazione di OpenShift Data Foundation

OpenShift Data Foundation (ODF) è consigliato per i carichi di lavoro di produzione che richiedono prestazioni elevate, snapshot e funzionalità di clonazione.

Questa sezione si applica esclusivamente alle distribuzioni manuali di Virtualization di OpenShift. Se si utilizza un servizio di virtualizzazion OpenShift, ODF è già preconfigurato e non è necessario seguire questi passaggi.

Prerequisiti per ODF

Nodi worker bare metal con storage NVME locale
Usare le versioni con il suffisso d che includono dischi NVME locali.
Requisiti del nodo operaio
ODF richiede almeno 3 nodi worker per l'alta disponibilità e la ridondanza dei dati.
Configurazione della zona
  • OpenShift Implementazioni di virtualizzazione: I cluster a zona singola sono consigliati per ridurre al minimo la latenza dello storage per i carichi di lavoro VM. Se da un lato le implementazioni multizona offrono una migliore disponibilità, dall'altro la replica dello storage tra le varie zone può avere un impatto sulle prestazioni di VM.
  • Distribuzioni generali di ODF: Si consigliano almeno 3 zone per l'alta disponibilità e il disaster recovery.

Installazione di ODF dalla console

  1. Accedere al proprio account IBM Cloud e navigare nel proprio cluster.

  2. Fare clic su Componenti aggiuntivi nella navigazione del cluster.

  3. Nella scheda OpenShift Data Foundation, fare clic su Install.

  4. Selezionare l'opzione Archiviazione locale.

    Il collegamento remoto del volume a blocchi non è supportato per i nodi VPC bare metal.

  5. Scegli uno dei seguenti metodi di ricerca:

    Rilevamento automatico (consigliato)
    Selezionare Rilevamento automatico per rilevare e utilizzare automaticamente i dischi disponibili sui nodi worker bare metal.
    Specifiche del disco manuale
    Se si preferisce specificare i dischi manualmente, procedere come segue:
    1. Accedere a ciascun nodo worker per identificare i dischi disponibili.
      oc debug node/<node-name>
      
    2. Consentire i file binari dell'host.
      chroot /host
      
    3. Elenca i dispositivi disponibili.
      lsblk
      
    4. Trovare il by-id per ogni disco.
      ls -l /dev/disk/by-id/
      
    5. Aggiungere gli ID del disco nel parametro OSD pod disk IDs.
  6. Configurare altri parametri se necessario:

    • Profilo delle risorse: Scegliere balanced o performance in base al carico di lavoro
    • Crittografia: Abilitare la crittografia con Hyper Protect Crypto Services se necessario
    • Numero di dischi OSD: Specificare il numero di dischi per nodo worker
  7. Fare clic su Installa per distribuire ODF.

Per ulteriori informazioni sui parametri ODF, vedere OpenShift Data Foundation parameter reference.

Installazione di ODF dalla CLI

  1. Esaminare le opzioni aggiuntive disponibili.
    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.20.0
    
  2. Abilitate il componente aggiuntivo di OpenShift Data Foundation con il rilevamento automatico dei dischi e il supporto della virtualizzazione.
    ibmcloud oc cluster addon enable openshift-data-foundation \
      -c <cluster-name> \
      --version 4.20.0 \
      --param "odfDeploy=true" \
      --param "osdStorageClassName=localblock" \
      --param "autoDiscoverDevices=true" \
      --param "resourceProfile=performance" \
      --param "setDefaultStorageClassForVirtualization=true"
    
  3. Verificare che il componente aggiuntivo sia in stato di Pronto.
    oc get storagecluster -n openshift-storage
    
    Output di esempio:
    NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    ocs-storagecluster   53m   Ready              2025-03-10T12:20:52Z   4.20.0
    

Verifica dell'installazione di ODF

  1. Controllare lo stato del cluster di storage.
    oc get storagecluster -n openshift-storage
    
  2. Verificare che le classi di archiviazione siano disponibili.
    oc get storageclass | grep ocs
    
  3. Confermare che i pod ODF sono in esecuzione.
    oc get pods -n openshift-storage
    

Per ulteriori informazioni sulla distribuzione di ODF, vedere Distribuzione di OpenShift Data Foundation su cluster VPC.

Opzione 2: Configurazione della VPC File Storage

File Storage for VPC rappresenta una soluzione conveniente per carichi di lavoro non di produzione o per ambienti con requisiti di I/O ridotti.

Questa sezione si applica esclusivamente alle distribuzioni manuali di Virtualization di OpenShift. Se si utilizza un servizio di virtualizzazion OpenShift, lo spazio di archiviazione è già configurato e non è necessario seguire questi passaggi.

Requisiti per VPC File Storage

  • Qualsiasi versione bare metal supportata
  • Infrastruttura VPC

Passaggio 1: Disattivare l' Block Storage e VPC come impostazione predefinita

  1. Modifica il configmap del driver CSI VPC Block.
    oc edit cm addon-vpc-block-csi-driver-configmap -n kube-system
    
  2. Imposta IsStorageClassDefault su false.
    data:
      IsStorageClassDefault: "false"
    
  3. Salva e chiudi l'editor.

Passaggio 2: Installare il driver CSI del file VPC

Dalla console

  1. Nella dashboard del cluster, clicca su " Componenti aggiuntivi".

  2. Individua il File Storage for VPC componente aggiuntivo.

  3. Fai clic su Install.

  4. Attendere che l'add-on raggiunga lo stato "Normale ".

Dalla CLI

  1. Abilitare il componente aggiuntivo del driver VPC File CSI.
    ibmcloud ks cluster addon enable vpc-file-csi-driver -c <cluster-name>
    
  2. Verifica che l'estensione sia attivata.
    ibmcloud ks cluster addon ls -c <cluster-name>
    

Passaggio 3: Impostare una classe di archiviazione predefinita

  1. Elenca le classi di archiviazione disponibili.

    oc get storageclass | grep vpc-file
    
  2. Scegli una classe di archiviazione adeguata in base al tuo carico di lavoro:

    • ibmc-vpc-file-1000-iops: Per carichi di lavoro moderati (40 GB - 2000 IOPS)
    • ibmc-vpc-file-6000-iops: Per carichi di lavoro più elevati (da 100 GB a 6000 IOPS)
    • ibmc-vpc-file-metro-1000-iops: Per implementazioni multizona
  3. Modifica il file VPC del driver CSI configmap.

    oc edit cm addon-vpc-file-csi-driver-configmap -n kube-system
    
  4. Imposta il campo " SET_DEFAULT_STORAGE_CLASS " sulla classe di archiviazione desiderata.

    data:
      SET_DEFAULT_STORAGE_CLASS: "ibmc-vpc-file-metro-1000-iops"
    
  5. Salva e chiudi l'editor.

  6. Attendi qualche minuto affinché le modifiche abbiano effetto.

  7. Verificare la classe di archiviazione predefinita.

    oc get storageclass | grep "(default)"
    

Passaggio 4: Configurare i profili di archiviazione per la VPC File Storage

Dopo aver installato l' OpenShift Virtualization Operator, è necessario configurare i profili di archiviazione per l' File Storage e VPC, poiché il Container Disk Importer (CDI) non riconosce automaticamente le proprietà dell' File Storage e VPC.

Questo passaggio deve essere completato dopo l'installazione di Virtualization Operator di OpenShift.

Opzione 1: applicare la patch a tutti i profili di archiviazione file VPC (consigliato)

Utilizza questo comando di utilità per applicare le patch a tutti i profili di archiviazione del provisioner VPC File CSI:

for sp in $(oc get storageprofile.cdi.kubevirt.io -o json | jq -r '.items[] | select(.status.provisioner == "vpc.file.csi.ibm.io") | .metadata.name'); do
  oc patch storageprofile.cdi.kubevirt.io "$sp" --type=merge -p '{
    "spec": {
      "claimPropertySets": [
        {
          "accessModes": ["ReadWriteMany"],
          "volumeMode": "Filesystem"
        }
      ]
    }
  }'
done

Opzione 2: Modificare manualmente un profilo di archiviazione specifico

  1. Elenca i profili di archiviazione disponibili.

    oc get storageprofile
    
  2. Modifica il profilo di archiviazione della tua classe di archiviazione predefinita.

    oc edit storageprofile <storage-profile-name>
    
  3. Aggiungere la seguente configurazione in spec``:

    spec:
      claimPropertySets:
      - accessModes:
        - ReadWriteMany
        volumeMode: Filesystem
    
  4. Salva e chiudi l'editor.

  5. Verificare che il profilo di archiviazione sia aggiornato.

    oc get storageprofile <storage-profile-name> -o yaml
    

Per ulteriori informazioni sui profili di archiviazione, consultare la sezione " Personalizzazione del profilo di archiviazione ".

Verifica dell'installazione dell' File Storage e VPC

  1. Verificare che i pod del driver CSI del file VPC siano in esecuzione.
    oc get pods -n kube-system | grep vpc-file
    
  2. Verificare che la classe di archiviazione predefinita sia impostata correttamente.
    oc get storageclass | grep "(default)"
    
  3. Verifica la configurazione dello spazio di archiviazione creando un PVC di prova.
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
    
  4. Verificare che il PVC sia fissato.
    oc get pvc test-pvc
    
  5. Elimina il PVC di prova.
    oc delete pvc test-pvc
    

Confronto dello spazio di archiviazione

Confronto tra le soluzioni di archiviazione
Funzione OpenShift Data Foundation VPC File Storage
Prestazioni Alto (dischi locali) Moderato (archiviazione in rete)
Istantanee Supportato Non supportato
Clonazione Supportato Non supportato
Migrazione live Supportato Supportato
HA multizona Supportato (3+ zone) Supportato (bassa velocità di trasmissione)
Costo Superiore Inferiore
Ideale per Carichi di lavoro di produzione Carichi di lavoro non legati alla produzione

Risoluzione dei problemi di configurazione dello storage

L'installazione di ODF non riesce

Se l'installazione di ODF non riesce, verificare quanto segue:

  • Verificare che i nodi bare metal dispongano di uno storage NVME locale
  • Assicurarsi di disporre di almeno 3 nodi worker
  • Verificare che i dischi siano smontati e non formattati
  • Esaminare i registri dell'operatore ODF: oc logs -n openshift-storage -l app=ocs-operator

I PVC relativi all' File Storage e VPC rimangono in sospeso

Se i PVC rimangono in stato di attesa:

  • Verificare che il componente aggiuntivo del driver CSI per file VPC sia installato e funzioni correttamente
  • Verificare che la classe di archiviazione predefinita sia impostata correttamente
  • Assicurarsi che i profili di archiviazione siano configurati con la modalità di accesso RWX
  • Controllare i registri di guida CSI: oc logs -n kube-system -l app=ibm-vpc-file-csi-controller

I profili di archiviazione non sono stati aggiornati

Se i profili di archiviazione non presentano la configurazione corretta:

  • Assicurarsi che Virtualization Operator di OpenShift sia installato
  • Attendere che i profili di archiviazione vengano creati automaticamente
  • Modificare manualmente i profili di archiviazione utilizzando i comandi forniti
  • Verificare che il nome del provider corrisponda vpc.file.csi.ibm.io

Passi successivi

Dopo aver impostato l'archiviazione:

  1. Installare l'Operatore di virtualizzazione OpenShift
  2. Creare e gestire macchine virtuali
  3. Configurare le interfacce di rete virtuali(opzionale)