Migration des volumes Block Storage for VPC des profils Gen-1 vers Gen-2
Cloud privé virtuel
Migrez vos volumes Block Storage for VPC des profils de la génération 1 (basés sur les niveaux) vers les profils de la génération 2 (Software Defined Performance) pour bénéficier de performances améliorées, d'un ajustement dynamique des IOPS et d'une meilleure optimisation des coûts.
Comprendre le profil des générations
Block Storage for VPC a évolué de la génération 1 (basée sur les niveaux) à la génération 2 (performance définie par logiciel).
- Génération 1 (par paliers)
- Les IOPS sont calculés en fonction de la taille du volume. Pour plus d'informations, voir Block Storage profiles.
- Génération 2 (SDP)
- IOPS personnalisé indépendant de la taille du volume. Pour plus d'informations, voir le profil SDP Block Storage.
Pour obtenir les dernières informations sur les profils de stockage en bloc et leurs fonctionnalités, consultez la page « Profils de stockage en bloc » à l'adresse Block Storage.
Avant de commencer
Avant de migrer vos volumes, suivez les étapes suivantes.
- Installez l'interface de ligne de commande IBM Cloud.
- Assurez-vous d'avoir un accès
kubectlouocà votre cluster. - Vérifiez que le module complémentaire VPC Block CSI Driver est de la version 5.0 ou ultérieure. Pour vérifier la version, exécutez la commande suivante : IBM MobileFirst Platform Command Line Interface
oc get deployment -n kube-system vpc-block-csi-controller -o jsonpath='{.spec.template.spec.containers[0].image}' - Assurez-vous que le module complémentaire VPC Block CSI Driver est installé. Pour plus d'informations, voir Installation du module complémentaire VPC Block CSI Driver.
- Assurez-vous que le module complémentaire VPC Block CSI Driver est configuré. Pour plus d'informations, voir Configuration du module complémentaire VPC Block CSI Driver.
- Assurez-vous que le module complémentaire VPC Block CSI Driver est en cours d'exécution. Pour plus d'informations, voir Vérification du module complémentaire VPC Block CSI Driver.
- Assurez-vous que le module complémentaire VPC Block CSI Driver est à jour. Pour plus d'informations, voir Mise à jour du module complémentaire VPC Block CSI Driver.
- Documentez vos exigences actuelles en matière de performance.
- Créez une sauvegarde ou un instantané de vos données. Pour plus d'informations, voir Configuration des instantanés avec le module complémentaire de cluster Block Storage for VPC.
Identifier les volumes à migrer
Recherchez les PVC qui utilisent les profils de stockage de blocs Gen-1.
-
Listez tous les PVC de stockage de blocs dans votre cluster.
oc get pvc --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,STORAGECLASS:.spec.storageClassName,STATUS:.status.phase | grep vpc-block -
Obtenir l'ID du volume VPC à partir d'un PVC.
PV_NAME=$(oc get pvc <pvc-name> -n <namespace> -o jsonpath='{.spec.volumeName}') VOLUME_ID=$(oc get pv $PV_NAME -o jsonpath='{.spec.csi.volumeHandle}') echo "Volume ID: $VOLUME_ID"Exemple de sortie
Volume ID: r026-3afe630d-1a47-482c-aade-e37f5e0bb9f4
Vérifier la configuration actuelle du volume
-
Visualiser le profil et la configuration actuels du volume de blocs.
ibmcloud is vol $VOLUME_IDExemple de résultats avant la migration
ID r026-3afe630d-1a47-482c-aade-e37f5e0bb9f4 Name pvc-d4a2b016-a5e4-46de-9214-a64f5fc8e344 Status available Attachment state attached Capacity 100 IOPS 3000 Bandwidth(Mbps) 393 Profile 5iops-tier Storage Generation 1 Adjustable IOPS false Busy false -
Notez les valeurs suivantes dans la sortie. Vous les utiliserez pour vérifier que la migration s'est bien déroulée.
- Profil :
5iops-tier( Gen-1 ) - Génération de stockage :
1 - IOPS réglable :
false
- Profil :
Démarrez la migration.
Le processus de migration s'exécute en arrière-plan, tandis que votre volume reste attaché à votre pod et que votre application continue de fonctionner. Les IOPS sont automatiquement ajustés aux valeurs par défaut du SDP, et le processus prend généralement de 5 à 15 minutes.
-
Lancer la migration vers le profil SDP.
ibmcloud is volume-job-create $VOLUME_ID --profile sdp
Contrôler la progression de la migration
-
Vérifiez l'état de la tâche de migration. Si la sortie indique
Status: updatingetBusy: true, la migration est en cours. Lorsque la sortie indiqueStatus: availableetBusy: false, la migration est terminée.ibmcloud is volume-jobs $VOLUME_ID -
Vérifier l'état du volume.
watch -n 30 "ibmcloud is vol $VOLUME_ID | grep -E 'Status|Busy|Profile'"Exemple de sortie pendant la migration
Status updating Busy true Profile 5iops-tier
Vérifier l'achèvement de la migration
-
Confirmez que le volume utilise le profil Gen-2.
ibmcloud is vol $VOLUME_IDExemple de résultat après la migration
ID r026-3afe630d-1a47-482c-aade-e37f5e0bb9f4 Name pvc-d4a2b016-a5e4-46de-9214-a64f5fc8e344 Status available Attachment state attached Capacity 100 IOPS 4000 Bandwidth(Mbps) 1000 Profile sdp Storage Generation 2 Adjustable IOPS true Adjustable Capacity States unattached,attached Adjustable IOPS States unattached,attached Busy false -
Vérifier les indicateurs de succès suivants :
- Profil :
sdp - Génération de stockage :
2 - IOPS réglable :
true - IOPS : Augmentation (par exemple, de 3000 à 4000)
- Largeur de bande : améliorée
- Profil :
Mise à jour des métadonnées de PersistentVolume
-
Mettre à jour les métadonnées PV pour refléter le profil Gen-2.
oc patch pv $PV_NAME --type='json' -p='[ {"op": "replace", "path": "/spec/storageClassName", "value": "ibmc-vpc-block-sdp"}, {"op": "replace", "path": "/spec/csi/volumeAttributes/profile", "value": "sdp"}, {"op": "replace", "path": "/spec/csi/volumeAttributes/iops", "value": "4000"} ]' -
Vérifiez la mise à jour.
oc get pv $PV_NAME -o jsonpath='{.spec.storageClassName}'Sortie attendue
ibmc-vpc-block-sdpLe PVC continue d'afficher le nom original StorageClass. Ce comportement est attendu car le champ
storageClassNamed'un PVC est immuable. Le profil de stockage réel est déterminé par le PV, que vous avez mis à jour au cours de cette étape.
Validez votre demande
Vérifiez que votre application fonctionne correctement après la migration.
-
Vérifiez le statut du pod. Vérifiez que tous les pods sont dans l'état
Running.oc get pods -n <namespace> -
Vérifier l'attachement du volume. Confirmez que le volume est monté correctement.
oc describe pod <pod-name> -n <namespace> | grep -A 5 "Volumes:" -
Vérifier les journaux d'application. Recherchez les erreurs liées aux opérations de stockage ou d'E/S.
oc logs <pod-name> -n <namespace> --tail=50 -
Tester le point final de l'application, le cas échéant. Vérifiez que l'application répond correctement.
curl -I https://<app-endpoint>/health
Créer un site Gen-2 StorageClass
Créez un SDP StorageClass pour l'approvisionnement de nouveaux volumes.
-
Créer un fichier YAML pour l' StorageClass. Enregistrez la configuration suivante sous
storageclass-sdp.yaml.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ibmc-vpc-block-sdp-general labels: app: ibm-vpc-block-csi-driver provisioner: vpc.block.csi.ibm.io parameters: profile: "sdp" iops: "5000" csi.storage.k8s.io/fstype: "ext4" billingType: "hourly" encrypted: "false" region: "" zone: "" tags: "generation:2,profile:sdp" reclaimPolicy: Delete allowVolumeExpansion: true volumeBindingMode: WaitForFirstConsumer -
Appliquer le site StorageClass.
oc apply -f storageclass-sdp.yaml -
Vérifier la création de l' StorageClass.
oc get storageclass ibmc-vpc-block-sdp-general
Ajustez les IOPS et le débit pour optimiser les performances
Une fois la migration effectuée, vous pouvez ajuster dynamiquement les IOPS et le débit (bande passante) en fonction des besoins de votre charge de travail.
- Commencez par 5 000 IOPS pour les charges de travail générales.
- Utilisez 10 000 IOPS ou plus pour les bases de données.
- Contrôler l'utilisation et l'ajuster en fonction des besoins réels.
Mise à jour des IOPS
-
Augmenter les IOPS pour une meilleure performance.
ibmcloud is volume-update $VOLUME_ID --iops 8000 -
Vérifiez la mise à jour des IOPS.
ibmcloud is vol $VOLUME_ID | grep IOPS
Mise à jour du débit (bande passante)
Après la migration vers le profil SDP, les volumes disposent d'une allocation de bande passante par défaut. Vous pouvez augmenter la bande passante afin d'améliorer le débit pour les charges de travail nécessitant de nombreuses opérations d'E/S.
-
Vérifiez l'attribution actuelle de la bande passante.
ibmcloud is vol $VOLUME_ID | grep Bandwidth -
Augmentez la bande passante pour un débit plus élevé. Utilisez l'option «
--bandwidth» pour définir la bande passante souhaitée en Mbps.ibmcloud is volume-update $VOLUME_ID --bandwidth 2000 -
Vérifiez la mise à jour de la bande passante.
ibmcloud is vol $VOLUME_ID | grep BandwidthLa valeur de la bande passante correspond au débit maximal, exprimé en Mo/s, que le volume peut atteindre. Des valeurs de bande passante plus élevées offrent de meilleures performances pour les opérations impliquant un volume important de données.
Traitement des incidents
Migration bloquée dans la mise à jour de l'état
Si l'état de la migration reste updating pendant plus de 30 minutes, effectuez les étapes suivantes. Notez que les volumes plus importants prennent plus de temps à migrer et peuvent rester dans l'état updating pendant
45 minutes.
-
Vérifiez les détails de l'emploi.
ibmcloud is volume-jobs $VOLUME_ID -
Vérifiez l'état du volume pour voir s'il y a des erreurs ou des avertissements.
ibmcloud is vol $VOLUME_ID | grep -E "Status|Busy" -
Attendez 15 minutes supplémentaires, car la migration des gros volumes prend plus de temps.
-
Consultez la page d'état IBM Cloud pour connaître les problèmes de service VPC.
-
Si la migration est bloquée pendant plus d'une heure, contactez le service d'assistance IBM en indiquant l'identifiant de la tâche.
Le PVC montre d'anciennes StorageClass
Si le PVC fait toujours référence à Gen-1 StorageClass après la migration, ce comportement est normal et ne nécessite aucune action. Le champ PVC storageClassName est immuable. Le profil de stockage réel est déterminé par le PV,
que vous avez mis à jour dans les étapes précédentes. La fonctionnalité n'est pas affectée.
-
Vérifier que le PV (et non le PVC) est correct.
oc get pv $PV_NAME -o jsonpath='{.spec.storageClassName}'Sortie attendue
ibmc-vpc-block-sdp
La performance ne s'est pas améliorée
Si vous ne constatez pas d'augmentation des performances après la migration, suivez les étapes suivantes.
-
Vérifier l'allocation réelle d'IOPS.
ibmcloud is vol $VOLUME_ID | grep IOPS -
Vérifier le profil du volume.
ibmcloud is vol $VOLUME_ID | grep Profile -
Augmenter l'allocation d'IOPS.
ibmcloud is volume-update $VOLUME_ID --iops 10000 -
Vérifiez la mise à jour.
ibmcloud is vol $VOLUME_ID | grep IOPS
Etapes suivantes
Une fois la migration terminée, envisagez les étapes suivantes.
- Migrez d'autres volumes en répétant ce tutoriel.
- Surveillez les performances du volume et ajustez les IOPS si nécessaire.
- Mettez à jour vos modèles de déploiement pour utiliser Gen-2 StorageClasses pour les nouveaux volumes.
- Examiner la capacité et les performances du site Block Storage en vue d'une optimisation.