Gérer les référentiels de stockage
Cette section couvre les différentes opérations requises pour la gestion continue des référentiels de stockage (SR), y compris la migration VDI en direct.
Supprimer les SR
Un référentiel de stockage (SR) peut être supprimé temporairement ou définitivement.
Détacher : Rompt l’association entre le périphérique de stockage et le pool ou l’hôte (Débranchement PBD). Le SR (et ses VDI) devient inaccessible. Le contenu des VDI et les méta-informations utilisées par les machines virtuelles pour accéder aux VDI sont conservés. Le détachement peut être utilisé lorsque vous mettez temporairement un SR hors ligne, par exemple pour la maintenance. Un SR détaché peut être rattaché ultérieurement.
Oublier : Conserve le contenu du SR sur le disque physique, mais les informations qui connectent une machine virtuelle à ses VDI sont définitivement supprimées. Par exemple, cela vous permet de rattacher le SR à un autre hôte XenServer®, sans supprimer le contenu du SR.
Détruire : Supprime le contenu du SR du disque physique.
Remarque :
Lorsque vous utilisez le stockage SMB, ne supprimez pas le partage du stockage avant de détacher le SR SMB.
Pour Détruire ou Oublier, le PBD connecté au SR doit être débranché de l’hôte.
-
Débranchez le PBD pour détacher le SR de l’hôte XenServer correspondant :
xe pbd-unplug uuid=pbd_uuid <!--NeedCopy--> -
Utilisez la commande
sr-destroypour supprimer un SR. La commande détruit le SR, supprime le SR et le PBD correspondant de la base de données de l’hôte XenServer et supprime le contenu du SR du disque physique :xe sr-destroy uuid=sr_uuid <!--NeedCopy--> -
Utilisez la commande
sr-forgetpour oublier un SR. La commande supprime le SR et le PBD correspondant de la base de données de l’hôte XenServer, mais laisse le contenu réel du SR intact sur le support physique :xe sr-forget uuid=sr_uuid <!--NeedCopy-->
Remarque :
Il peut falloir un certain temps pour que l’objet logiciel correspondant au SR soit collecté par le ramasse-miettes.
Introduire un SR
Pour réintroduire un SR précédemment oublié, créez un PBD. Branchez manuellement le PBD aux hôtes XenServer appropriés pour activer le SR.
L’exemple suivant introduit un SR de type lvmoiscsi.
-
Sondez le SR existant pour déterminer son UUID :
xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10 \ device-config:targetIQN=192.168.1.10:filer1 \ device-config:SCSIid=149455400000000000000000002000000b70200000f000000 <!--NeedCopy--> -
Introduisez l’UUID du SR existant renvoyé par la commande
sr-probe. L’UUID du nouveau SR est renvoyé :xe sr-introduce content-type=user name-label="Example Shared LVM over iSCSI SR" \ shared=true uuid=valid_sr_uuid type=lvmoiscsi <!--NeedCopy--> -
Créez un PBD pour accompagner le SR. L’UUID du nouveau PBD est renvoyé :
xe pbd-create type=lvmoiscsi host-uuid=valid_uuid sr-uuid=valid_sr_uuid \ device-config:target=192.168.0.1 \ device-config:targetIQN=192.168.1.10:filer1 \ device-config:SCSIid=149455400000000000000000002000000b70200000f000000 <!--NeedCopy--> -
Branchez le PBD pour attacher le SR :
xe pbd-plug uuid=pbd_uuid <!--NeedCopy--> -
Vérifiez l’état du branchement du PBD. Si l’opération réussit, la propriété
currently-attachedest vraie :xe pbd-list sr-uuid=sr_uuid <!--NeedCopy-->
Remarque :
Effectuez les étapes 3 à 5 pour chaque hôte du pool de ressources. Ces étapes peuvent également être effectuées à l’aide de la fonction Réparer le référentiel de stockage dans XenCenter.
Extension de LUN en direct
Pour répondre aux exigences de capacité, vous devrez peut-être ajouter de la capacité à la baie de stockage afin d’augmenter la taille du LUN provisionné pour l’hôte XenServer. L’extension de LUN en direct vous permet d’augmenter la taille du LUN sans aucune interruption de VM.
Après avoir ajouté plus de capacité à votre baie de stockage, entrez :
xe sr-scan sr-uuid=sr_uuid
<!--NeedCopy-->
Cette commande réanalyse le SR, et toute capacité supplémentaire est ajoutée et rendue disponible.
Cette opération est également disponible dans XenCenter. Sélectionnez le SR à redimensionner, puis cliquez sur Réanalyser.
Avertissements :
- Il n’est pas possible de réduire ou de tronquer les LUN. La réduction de la taille des LUN sur la baie de stockage peut entraîner une perte de données.
- Le redimensionnement d’un SR GFS2 peut prendre beaucoup de temps. Pendant le redimensionnement, il est possible que vous ne puissiez pas ajouter d’autres hôtes au pool ou effectuer d’autres opérations SR.
Migration VDI en direct
La migration VDI en direct permet à l’administrateur de relocaliser l’image de disque virtuel (VDI) des machines virtuelles sans arrêter la machine virtuelle. Cette fonctionnalité permet des opérations administratives telles que :
- Déplacer une machine virtuelle d’un stockage local bon marché vers un stockage rapide, résilient et basé sur une baie.
- Déplacer une machine virtuelle d’un environnement de développement vers un environnement de production.
- Déplacer entre les niveaux de stockage lorsqu’une machine virtuelle est limitée par la capacité de stockage.
- Effectuer des mises à niveau de baies de stockage.
Limitations et mises en garde
La migration VDI en direct est soumise aux limitations et mises en garde suivantes
- Il doit y avoir suffisamment d’espace disque disponible sur le référentiel cible.
Pour déplacer des disques virtuels à l’aide de XenCenter
-
Dans le volet Ressources, sélectionnez le SR où le disque virtuel est stocké, puis cliquez sur l’onglet Stockage.
-
Dans la liste Disques virtuels, sélectionnez le disque virtuel que vous souhaitez déplacer, puis cliquez sur Déplacer.
-
Dans la boîte de dialogue Déplacer le disque virtuel, sélectionnez le SR cible vers lequel vous souhaitez déplacer le VDI.
Remarque :
Assurez-vous que le SR dispose de suffisamment d’espace pour un autre disque virtuel : l’espace disponible est affiché dans la liste des SR disponibles.
-
Cliquez sur Déplacer pour déplacer le disque virtuel.
Pour la référence de l’interface de ligne de commande xe, consultez vdi-pool-migrate.
Migration à froid de VDI entre SR (migration hors ligne)
Les VDI associés à une machine virtuelle peuvent être copiés d’un SR à un autre pour répondre aux exigences de maintenance ou aux configurations de stockage hiérarchisé. XenCenter vous permet de copier une machine virtuelle et tous ses VDI vers le même SR ou un SR différent. Une combinaison de XenCenter et de l’interface de ligne de commande xe peut être utilisée pour copier des VDI individuels.
Pour la référence de l’interface de ligne de commande xe, consultez vm-migrate.
Copier tous les VDI d’une machine virtuelle vers un SR différent
La fonction Copier la machine virtuelle de XenCenter crée des copies de tous les VDI pour une machine virtuelle sélectionnée sur le même SR ou un SR différent. La machine virtuelle source et les VDI ne sont pas affectés par défaut. Pour déplacer la machine virtuelle vers le SR sélectionné plutôt que de créer une copie, sélectionnez l’option Supprimer la machine virtuelle d’origine dans la boîte de dialogue Copier la machine virtuelle.
- Arrêtez la machine virtuelle.
- Dans XenCenter, sélectionnez la machine virtuelle, puis sélectionnez l’option VM > Copier la machine virtuelle.
- Sélectionnez le SR cible souhaité.
Copier des VDI individuels vers un SR différent
Une combinaison de l’interface de ligne de commande xe et de XenCenter peut être utilisée pour copier des VDI individuels entre les SR.
-
Arrêtez la VM.
-
Utilisez l’interface de ligne de commande xe pour identifier les UUID des VDI à déplacer. Si la VM dispose d’un lecteur DVD, son
vdi-uuidest répertorié commenot in databaseet peut être ignoré.xe vbd-list vm-uuid=valid_vm_uuid <!--NeedCopy-->Remarque :
La commande
vbd-listaffiche les UUID des VBD et des VDI. Assurez-vous d’enregistrer les UUID des VDI plutôt que ceux des VBD. -
Dans XenCenter, sélectionnez l’onglet Stockage de la VM. Pour chaque VDI à déplacer, sélectionnez le VDI et cliquez sur le bouton Détacher. Cette étape peut également être effectuée à l’aide de la commande
vbd-destroy.Remarque :
Si vous utilisez la commande
vbd-destroypour détacher les UUID des VDI, vérifiez d’abord si le VBD a le paramètreother-config:ownerdéfini surtrue. Définissez ce paramètre surfalse. L’exécution de la commandevbd-destroyavecother-config:owner=truedétruit également le VDI associé. -
Utilisez la commande
vdi-copypour copier chacun des VDI de la VM à déplacer vers le SR souhaité.xe vdi-copy uuid=valid_vdi_uuid sr-uuid=valid_sr_uuid <!--NeedCopy--> -
Dans XenCenter, sélectionnez l’onglet Stockage de la VM. Cliquez sur le bouton Attacher et sélectionnez les VDI du nouveau SR. Cette étape peut également être effectuée à l’aide de la commande
vbd-create. -
Pour supprimer les VDI d’origine, sélectionnez l’onglet Stockage du SR d’origine dans XenCenter. Les VDI d’origine sont répertoriés avec une valeur vide pour le champ VM. Utilisez le bouton Supprimer pour supprimer le VDI.
Convertir les SR Fibre Channel locaux en SR partagés
Utilisez l’interface de ligne de commande xe et la fonctionnalité Réparer le référentiel de stockage de XenCenter pour convertir un SR FC local en un SR FC partagé :
-
Mettez à niveau tous les hôtes du pool de ressources vers XenServer 9.
-
Assurez-vous que tous les hôtes du pool ont le LUN du SR zoné de manière appropriée. Consultez Sonder un SR pour plus de détails sur l’utilisation de la commande
sr-probeafin de vérifier que le LUN est présent sur chaque hôte. -
Convertissez le SR en partagé :
xe sr-param-set shared=true uuid=local_fc_sr <!--NeedCopy--> -
Le SR est déplacé du niveau de l’hôte au niveau du pool dans XenCenter, indiquant qu’il est maintenant partagé. Le SR est marqué d’un point d’exclamation rouge pour indiquer qu’il n’est pas actuellement branché sur tous les hôtes du pool.
-
Sélectionnez le SR, puis sélectionnez l’option Stockage > Réparer le référentiel de stockage.
-
Cliquez sur Réparer pour créer et brancher un PBD pour chaque hôte du pool.
Récupérer de l’espace pour le stockage basé sur des blocs sur le tableau de stockage à l’aide de la commande discard
Vous pouvez utiliser la récupération d’espace pour libérer les blocs inutilisés sur un LUN à provisionnement dynamique. Une fois l’espace libéré, le tableau de stockage peut réutiliser cet espace récupéré.
Remarque :
La récupération d’espace n’est disponible que sur certains types de baies de stockage. Pour déterminer si votre baie prend en charge cette fonctionnalité et si elle nécessite une configuration spécifique, consultez la Liste de compatibilité matérielle et la documentation spécifique de votre fournisseur de stockage.
Pour récupérer l’espace à l’aide de XenCenter :
-
Sélectionnez la vue Infrastructure, puis choisissez l’hôte ou le pool connecté au SR.
-
Cliquez sur l’onglet Stockage.
-
Sélectionnez le SR dans la liste, puis cliquez sur Récupérer l’espace libéré.
-
Cliquez sur Oui pour confirmer l’opération.
-
Cliquez sur Notifications, puis sur Événements pour afficher l’état de l’opération.
Pour plus d’informations, appuyez sur F1dans XenCenter pour accéder à l’aide en ligne.
Pour récupérer de l’espace à l’aide de l’interface de ligne de commande xe, vous pouvez utiliser la commande suivante :
xe host-call-plugin host-uuid=host_uuid \
plugin=trim fn=do_trim args:sr_uuid=sr_uuid
Remarques :
- L’opération est uniquement disponible pour les SR basés sur LVM qui sont basés sur des LUN à provisionnement léger sur la baie. Les SSD locaux peuvent également bénéficier de la récupération d’espace.
- La récupération d’espace n’est pas requise pour les SR basés sur des fichiers tels que NFS et EXT3/EXT4. Le bouton Récupérer l’espace libéré n’est pas disponible dans XenCenter pour ces types de SR.
- Si vous exécutez la commande xe de récupération d’espace pour un SR basé sur des fichiers ou un SR basé sur LVM à provisionnement épais, la commande renvoie une erreur.
- La récupération d’espace est une opération intensive et peut entraîner une dégradation des performances de la baie de stockage. Par conséquent, n’initiez cette opération que lorsque la récupération d’espace est requise sur la baie. Nous vous recommandons de planifier ce travail en dehors des heures de pointe de la demande de la baie.
Récupérer automatiquement l’espace lors de la suppression d’instantanés
Lors de la suppression d’instantanés avec XenServer, l’espace alloué sur les SR basés sur LVM est récupéré automatiquement et un redémarrage de la VM n’est pas nécessaire. Cette opération est connue sous le nom de « coalescence en ligne ». La coalescence en ligne s’applique à tous les types de SR.
Dans certains cas, la récupération d’espace automatisée pourrait ne pas pouvoir se poursuivre. Nous vous recommandons d’utiliser l’outil de coalescence hors ligne dans ces scénarios :
- Dans les conditions où le débit d’E/S d’une VM est considérable
- Dans les conditions où l’espace n’est pas récupéré après une certaine période
Remarques :
- L’exécution de l’outil de coalescence hors ligne entraîne un certain temps d’arrêt pour la VM, en raison des opérations de suspension/reprise effectuées.
- Avant d’exécuter l’outil, supprimez tous les instantanés et clones dont vous ne voulez plus. L’outil récupère autant d’espace que possible compte tenu des instantanés/clones restants. Si vous souhaitez récupérer tout l’espace, supprimez tous les instantanés et clones.
- Les disques de VM doivent être sur un stockage partagé ou local pour un seul hôte. Les VM avec des disques dans les deux types de stockage ne peuvent pas être coalescées.
Récupérer de l’espace en utilisant l’outil de coalescence hors ligne
Activez les objets masqués à l’aide de XenCenter. Cliquez sur Affichage > objets masqués. Dans le volet Ressources, sélectionnez la machine virtuelle pour laquelle vous souhaitez obtenir l’UUID. L’UUID s’affiche dans l’onglet Général.
Dans le volet Ressources, sélectionnez le coordinateur de pool de ressources (le premier hôte de la liste). L’onglet Général affiche l’UUID. Si vous n’utilisez pas de pool de ressources, sélectionnez l’hôte de la machine virtuelle.
-
Ouvrez une console sur l’hôte et exécutez la commande suivante :
xe host-call-plugin host-uuid=host-UUID \ plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=VM-UUID <!--NeedCopy-->Par exemple, si l’UUID de la machine virtuelle est
9bad4022-2c2d-dee6-abf5-1b6195b1dad5et que l’UUID de l’hôte estb8722062-de95-4d95-9baa-a5fe343898ea, exécutez la commande suivante :xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea \ plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5 <!--NeedCopy--> -
Cette commande suspend la machine virtuelle (sauf si elle est déjà arrêtée), lance le processus de récupération d’espace, puis reprend la machine virtuelle.
Remarques :
Nous vous recommandons d’arrêter ou de suspendre manuellement la machine virtuelle avant d’exécuter l’outil de coalescence hors ligne. Vous pouvez arrêter ou suspendre la machine virtuelle à l’aide de XenCenter ou de l’interface de ligne de commande XenServer. Si vous exécutez l’outil de coalescence sur une machine virtuelle en cours d’exécution, l’outil suspend automatiquement la machine virtuelle, effectue les opérations de coalescence VDI requises et reprend la machine virtuelle. Les machines virtuelles agiles peuvent redémarrer sur un hôte différent.
Si les images de disque virtuel (VDI) à coalescer se trouvent sur un stockage partagé, vous devez exécuter l’outil de coalescence hors ligne sur le coordinateur de pool.
Si les VDI à coalescer se trouvent sur un stockage local, exécutez l’outil de coalescence hors ligne sur l’hôte auquel le stockage local est attaché.
Utilisation des E/S de disque
Vous pouvez configurer l’ordonnanceur d’E/S de disque et les paramètres de priorité des E/S de disque pour modifier les performances de vos disques.
Remarque :
Les fonctionnalités d’E/S de disque décrites dans cette section ne s’appliquent pas au stockage GFS2, NFS ou SMB3.
Ajuster l’ordonnanceur d’E/S de disque
Pour des performances générales, l’ordonnanceur de disque par défaut none est appliqué à tous les nouveaux types de SR. L’ordonnanceur none offre les performances les plus équitables pour les machines virtuelles concurrentes accédant au même périphérique.
-
Ajustez l’ordonnanceur de disque à l’aide de la commande suivante :
xe sr-param-set other-config:scheduler=<option> uuid=<sr_uuid> <!--NeedCopy-->La valeur de
<option>peut être l’un des termes suivants :none,bfqoumq-deadline. -
Débranchez et rebranchez le PBD correspondant pour que le paramètre de l’ordonnanceur prenne effet.
xe pbd-unplug uuid=<pbd_uuid> xe pbd-plug uuid=<pbd_uuid> <!--NeedCopy-->
Pour appliquer la priorisation des requêtes d’E/S disque, remplacez le paramètre par défaut et attribuez l’ordonnanceur de disque bfq au SR.
Priorisation des requêtes d’E/S de disque virtuel
Les disques virtuels ont des paramètres de priorité de requête d’E/S facultatifs. Vous pouvez utiliser ces paramètres pour prioriser les E/S vers le disque d’une machine virtuelle particulière par rapport aux autres.
Avant de configurer des paramètres de priorité de requête d’E/S disque pour un VBD, assurez-vous que l’ordonnanceur de disque pour le SR a été défini de manière appropriée. Le paramètre de l’ordonnanceur doit être défini sur bfq sur le SR et le PBD associé doit être débranché et rebranché. Pour plus d’informations sur la façon d’ajuster l’ordonnanceur, consultez Ajustement de l’ordonnanceur d’E/S disque.
Pour les SR partagés, où plusieurs hôtes accèdent au même LUN, le paramètre de priorité est appliqué aux VBD accédant au LUN depuis le même hôte. Ces paramètres ne sont pas appliqués entre les hôtes du pool.
L’hôte envoie une requête au stockage distant, mais la priorisation de la requête est effectuée par le stockage distant.
Définition des paramètres de requête d’E/S disque
Ces paramètres peuvent être appliqués aux disques virtuels existants à l’aide de la commande xe vbd-param-set avec les paramètres suivants :
-
qos_algorithm_type- Ce paramètre doit être défini sur la valeurionice, qui est le seul algorithme pris en charge pour les disques virtuels. -
qos_algorithm_param- Utilisez ce paramètre pour définir des paires clé-valeur. Pour les disques virtuels,qos_algorithm_paramprend une clésched, et selon la valeur, nécessite également une cléclass.La clé
qos_algorithm_param:schedpeut avoir l’une des valeurs suivantes :-
sched=rtousched=real-time- Cette valeur définit le paramètre de planification sur la priorité en temps réel, ce qui nécessite un paramètreclasspour définir une valeur. -
sched=idle- Cette valeur définit le paramètre de planification sur la priorité inactive, ce qui ne nécessite aucun paramètreclasspour définir une valeur. -
sched=anything- Cette valeur définit le paramètre de planification sur la priorité au meilleur effort, ce qui nécessite un paramètreclasspour définir une valeur.
La clé
qos_algorithm_param:classpeut avoir l’une des valeurs suivantes :-
L’un des mots-clés suivants :
highest,high,normal,low,lowest. -
Un entier entre 0 et 7, où 7 est la priorité la plus élevée et 0 est la plus basse. Par exemple, les requêtes d’E/S avec une priorité de 5 sont prioritaires sur les requêtes d’E/S avec une priorité de 2.
-
Exemple
Par exemple, les commandes CLI suivantes définissent le VBD du disque virtuel pour utiliser la priorité en temps réel 5 :
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_type=ionice
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:sched=rt
xe vbd-param-set uuid=<vbd_uuid> qos_algorithm_params:class=5
xe sr-param-set uuid=<sr_uuid> other-config:scheduler=bfq
xe pbd-unplug uuid=<pbd_uuid>
xe pbd-plug uuid=<pbd_uuid>
<!--NeedCopy-->
Dans cet article
- Supprimer les SR
- Introduire un SR
- Extension de LUN en direct
- Migration VDI en direct
- Migration à froid de VDI entre SR (migration hors ligne)
- Convertir les SR Fibre Channel locaux en SR partagés
- Récupérer de l’espace pour le stockage basé sur des blocs sur le tableau de stockage à l’aide de la commande discard
- Récupérer automatiquement l’espace lors de la suppression d’instantanés
- Utilisation des E/S de disque