Configuration du stockage pour la virtualisation OpenShift

Cloud privé virtuel 4.17 et plus tard Nœuds de travail en métal nu uniquement RHCOS uniquement

OpenShift La virtualisation nécessite un stockage prenant en charge le mode d'accès ReadWriteMany (RWX) pour les disques VM, la migration en direct et les instantanés. Vous pouvez utiliser OpenShift Data Foundation (ODF) ou File Storage for VPC comme solution de stockage.

OpenShift Le service de virtualisation comprend un espace de stockage préconfiguré : aucune configuration manuelle n'est nécessaire.

Avant de commencer

Votre cluster doit avoir exactement une solution de stockage correctement configurée avant d'installer OpenShift Virtualization.

Configuration de OpenShift Data Foundation

OpenShift Data Foundation (ODF) est recommandé pour les charges de travail de production qui nécessitent des performances élevées, des instantanés et des capacités de clonage.

Cette section s'applique uniquement aux déploiements manuels d' OpenShift Virtualization. Si vous utilisez le service de virtualisation d' OpenShift, ODF est déjà configuré et vous n'avez pas besoin de suivre ces étapes.

Conditions préalables pour l'ODF

Nœuds de travail en métal nu avec stockage NVME local
Utilisez les versions avec le suffixe d qui incluent des disques NVME locaux.
Exigences relatives aux nœuds de travail
ODF nécessite au moins 3 nœuds de travail pour la haute disponibilité et la redondance des données.
Configuration des zones
  • OpenShift Déploiements de virtualisation: Les clusters à zone unique sont recommandés pour minimiser la latence du stockage pour les charges de travail VM. Si les déploiements multizones offrent une meilleure disponibilité, la réplication du stockage entre zones peut avoir un impact sur les performances de VM.
  • Déploiement général d'ODF: Il est recommandé d'avoir au moins 3 zones pour assurer la haute disponibilité et la reprise après sinistre.

Installation d'ODF depuis la console

  1. Connectez-vous à votre compte IBM Cloud et accédez à votre cluster.

  2. Cliquez sur Add-ons dans la navigation du cluster.

  3. Sur la fiche « OpenShift Data Foundation », cliquez sur « Installer ».

  4. Sélectionnez l'option Stockage local.

    L'attachement de volumes de blocs à distance n'est pas pris en charge pour les nœuds métalliques nus VPC.

  5. Choisissez l'une des méthodes de découverte suivantes :

    Découverte automatique (recommandée)
    Sélectionnez Découverte automatique pour détecter et utiliser automatiquement les disques disponibles sur vos nœuds de travail bare metal.
    Spécification du disque manuel
    Si vous préférez spécifier les disques manuellement, procédez comme suit :
    1. Connectez-vous à chaque nœud de travailleur pour identifier les disques disponibles.
      oc debug node/<node-name>
      
    2. Autorisez les binaires hôte.
      chroot /host
      
    3. Liste des appareils disponibles.
      lsblk
      
    4. Trouvez l'identifiant de chaque disque.
      ls -l /dev/disk/by-id/
      
    5. Ajoutez les ID de disque dans le paramètre OSD pod disk IDs.
  6. Configurez d'autres paramètres si nécessaire :

    • Profil de ressources: Choisissez balanced ou performance en fonction de votre charge de travail
    • Cryptage: Activer le cryptage avec Hyper Protect Crypto Services si nécessaire
    • Nombre de disques OSD: Indiquez le nombre de disques par nœud de travailleur
  7. Cliquez sur Installer pour déployer ODF.

Pour plus d'informations sur les paramètres ODF, voir OpenShift Data Foundation parameter reference.

Installation d'ODF à partir de l'interface en ligne de commande

  1. Consultez les options d'extension disponibles.
    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.20.0
    
  2. Activez le module complémentaire OpenShift Data Foundation avec découverte automatique des disques et prise en charge de la virtualisation.
    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. Vérifiez que le module complémentaire est à l'état « Prêt ».
    oc get storagecluster -n openshift-storage
    
    Exemple de sortie :
    NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    ocs-storagecluster   53m   Ready              2025-03-10T12:20:52Z   4.20.0
    

Vérification de l'installation d'ODF

  1. Vérifiez l'état de la grappe de stockage.
    oc get storagecluster -n openshift-storage
    
  2. Vérifiez que des classes de stockage sont disponibles.
    oc get storageclass | grep ocs
    
  3. Confirmez que les modules ODF sont en cours d'exécution.
    oc get pods -n openshift-storage
    

Pour plus d'informations sur le déploiement d'ODF, voir Déploiement de OpenShift Data Foundation sur des clusters VPC.

Option 2 : Configuration d'un VPC File Storage

File Storage for VPC constitue une option économique pour les charges de travail hors production ou les environnements présentant des besoins en E/S réduits.

Cette section s'applique uniquement aux déploiements manuels d' OpenShift Virtualization. Si vous utilisez le service de virtualisation d' OpenShift, le stockage est déjà configuré et vous n'avez pas besoin de suivre ces étapes.

Conditions préalables pour VPC File Storage

  • Toute version « bare metal » prise en charge
  • Infrastructure de cloud privé virtuel

Étape 1 : Désactiver l' Block Storage e VPC par défaut

  1. Modifiez la carte de configuration du pilote CSI du bloc VPC.
    oc edit cm addon-vpc-block-csi-driver-configmap -n kube-system
    
  2. Définissez la variable d'environnement « IsStorageClassDefault » sur « false ».
    data:
      IsStorageClassDefault: "false"
    
  3. Enregistrez et quittez l'éditeur.

Étape 2 : Installer le pilote CSI du fichier VPC

A partir de la console

  1. Dans le tableau de bord de votre cluster, cliquez sur « Modules complémentaires ».

  2. Recherchez le File Storage for VPC module complémentaire.

  3. Cliquez sur Install.

  4. Attendez que le module complémentaire passe à l'état « Normal ».

Depuis l'interface de ligne de commande :

  1. Activez le module complémentaire du pilote VPC File CSI.
    ibmcloud ks cluster addon enable vpc-file-csi-driver -c <cluster-name>
    
  2. Vérifiez que l'extension est activée.
    ibmcloud ks cluster addon ls -c <cluster-name>
    

Étape 3 : Définir une classe de stockage par défaut

  1. Répertoriez les classes de stockage disponibles.

    oc get storageclass | grep vpc-file
    
  2. Choisissez une classe de stockage adaptée à votre charge de travail :

    • ibmc-vpc-file-1000-iops: Pour des charges de travail modérées (40 Go - 2 000 IOPS)
    • ibmc-vpc-file-6000-iops: Pour les charges de travail plus importantes (100 Go - 6 000 IOPS)
    • ibmc-vpc-file-metro-1000-iops: Pour les déploiements multizones
  3. Modifiez le fichier VPC « CSI driver configmap ».

    oc edit cm addon-vpc-file-csi-driver-configmap -n kube-system
    
  4. Définissez le champ « SET_DEFAULT_STORAGE_CLASS » sur la classe de stockage de votre choix.

    data:
      SET_DEFAULT_STORAGE_CLASS: "ibmc-vpc-file-metro-1000-iops"
    
  5. Enregistrez et quittez l'éditeur.

  6. Patientez quelques minutes pour que les modifications prennent effet.

  7. Vérifiez la classe de stockage par défaut.

    oc get storageclass | grep "(default)"
    

Étape 4 : Configurer les profils de stockage pour le VPC File Storage

Une fois l' OpenShift Virtualization Operator installé, vous devez configurer des profils de stockage pour l' File Storage VPC, car le Container Disk Importer (CDI) ne reconnaît pas automatiquement les propriétés d' File Storage VPC.

Cette étape doit être effectuée après l'installation d' OpenShift Virtualization Operator.

Option 1 : Appliquer un correctif à tous les profils de stockage de fichiers VPC (recommandé)

Utilisez cette commande utilitaire pour appliquer un correctif à tous les profils de stockage du provisionneur 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

Option 2 : Modifier manuellement un profil de stockage spécifique

  1. Afficher la liste des profils de stockage disponibles.

    oc get storageprofile
    
  2. Modifiez le profil de stockage de votre classe de stockage par défaut.

    oc edit storageprofile <storage-profile-name>
    
  3. Ajoutez la configuration suivante sous spec:

    spec:
      claimPropertySets:
      - accessModes:
        - ReadWriteMany
        volumeMode: Filesystem
    
  4. Enregistrez et quittez l'éditeur.

  5. Vérifiez que le profil de stockage a bien été mis à jour.

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

Pour plus d'informations sur les profils de stockage, consultez la section « Personnalisation du profil de stockage ».

Vérification de l'installation d' File Storage s VPC

  1. Vérifiez que les pods du pilote CSI du fichier VPC sont en cours d'exécution.
    oc get pods -n kube-system | grep vpc-file
    
  2. Vérifiez que la classe de stockage par défaut est correctement définie.
    oc get storageclass | grep "(default)"
    
  3. Testez l'allocation de stockage en créant un PVC de test.
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
    
  4. Vérifiez que le PVC est bien fixé.
    oc get pvc test-pvc
    
  5. Supprimez le PVC de test.
    oc delete pvc test-pvc
    

Comparaison de stockage

Comparaison des solutions de stockage
Fonction OpenShift Data Foundation VPC File Storage
Performances Élevé (disques locaux) Modéré (stockage en réseau)
Instantanés Pris en charge Non pris en charge
Clonage Pris en charge Non pris en charge
Migration active Pris en charge Pris en charge
HA multizone Prise en charge (3+ zones) Pris en charge (débit réduit)
Coût Supérieur Inférieur
Idéal pour Charges de travail de production Charges de travail hors production

Dépannage de la configuration du stockage

Échec de l'installation d'ODF

Si l'installation d'ODF échoue, vérifiez les points suivants :

  • Vérifiez que vos nœuds bare metal disposent d'un espace de stockage NVME local
  • Assurez-vous de disposer d'au moins 3 nœuds de travail
  • Vérifier que les disques sont démontés et non formatés
  • Examiner les journaux des opérateurs d'ODF : oc logs -n openshift-storage -l app=ocs-operator

File Storage s VPC : les PVC sont toujours en attente

Si les PVC restent en attente :

  • Vérifiez que le module complémentaire du pilote CSI pour fichiers VPC est bien installé et fonctionne correctement
  • Vérifiez que la classe de stockage par défaut est correctement définie
  • Assurez-vous que les profils de stockage sont configurés avec le mode d'accès RWX
  • Consulter les journaux du pilote CSI : oc logs -n kube-system -l app=ibm-vpc-file-csi-controller

Les profils de stockage n'ont pas été mis à jour

Si les profils de stockage n'affichent pas la configuration correcte :

  • Assurez-vous que l'opérateur de virtualisation d' OpenShift s est installé
  • Attendez que les profils de stockage soient créés automatiquement
  • Modifiez manuellement les profils de stockage à l'aide des commandes fournies
  • Vérifiez que le nom du provisionneur correspond vpc.file.csi.ibm.io

Etapes suivantes

Après avoir configuré le stockage :

  1. Installer l'opérateur de virtualisation OpenShift
  2. Créer et gérer des machines virtuelles
  3. Configurer les interfaces réseau virtuelles(facultatif)