4.12. Stockage persistant à l'aide du stockage local
4.12.1. Stockage persistant à l'aide de volumes locaux Copier lienLien copié sur presse-papiers!
OpenShift Container Platform peut être approvisionné avec un stockage persistant en utilisant des volumes locaux. Les volumes persistants locaux vous permettent d'accéder aux périphériques de stockage locaux, tels qu'un disque ou une partition, en utilisant l'interface standard de demande de volume persistant.
Les volumes locaux peuvent être utilisés sans qu'il soit nécessaire de planifier manuellement les pods sur les nœuds, car le système est conscient des contraintes liées aux nœuds de volume. Toutefois, les volumes locaux restent soumis à la disponibilité du nœud sous-jacent et ne conviennent pas à toutes les applications.
Les volumes locaux ne peuvent être utilisés que comme volumes persistants créés de manière statique.
4.12.1.1. Installation de l'opérateur de stockage local Copier lienLien copié sur presse-papiers!
L'opérateur de stockage local n'est pas installé par défaut dans OpenShift Container Platform. Utilisez la procédure suivante pour installer et configurer cet opérateur afin d'activer les volumes locaux dans votre cluster.
Conditions préalables
- Accès à la console web ou à l'interface de ligne de commande (CLI) d'OpenShift Container Platform.
Procédure
Créez le projet
openshift-local-storage
:oc adm new-project openshift-local-storage
$ oc adm new-project openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Autoriser la création de stockage local sur les nœuds d'infrastructure.
Vous pouvez utiliser l'opérateur de stockage local pour créer des volumes sur les nœuds d'infrastructure afin de prendre en charge des composants tels que la journalisation et la surveillance.
Vous devez ajuster le sélecteur de nœuds par défaut afin que l'opérateur de stockage local inclue les nœuds d'infrastructure, et pas seulement les nœuds de travail.
Pour empêcher l'opérateur de stockage local d'hériter du sélecteur par défaut de l'ensemble du cluster, entrez la commande suivante :
oc annotate project openshift-local-storage openshift.io/node-selector=''
$ oc annotate project openshift-local-storage openshift.io/node-selector=''
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Depuis l'interface utilisateur
Pour installer l'Opérateur de stockage local à partir de la console web, procédez comme suit :
- Connectez-vous à la console web de OpenShift Container Platform.
-
Naviguez jusqu'à Operators
OperatorHub. - Tapez Local Storage dans le champ de filtre pour localiser l'opérateur de stockage local.
- Cliquez sur Install.
- Sur la page Install Operator, sélectionnez A specific namespace on the cluster. Sélectionnez openshift-local-storage dans le menu déroulant.
- Ajustez les valeurs de Update Channel et Approval Strategy aux valeurs que vous souhaitez.
- Cliquez sur Install.
Une fois cette opération terminée, l'opérateur de stockage local sera répertorié dans la section Installed Operators de la console web.
À partir de l'interface de programmation (CLI)
Installez l'opérateur de stockage local à partir de l'interface de gestion.
Exécutez la commande suivante pour obtenir la version majeure et mineure d'OpenShift Container Platform. Cette information est nécessaire pour la valeur
channel
dans l'étape suivante.OC_VERSION=$(oc version -o yaml | grep openshiftVersion | \ grep -o '[0-9]*[.][0-9]*' | head -1)
$ OC_VERSION=$(oc version -o yaml | grep openshiftVersion | \ grep -o '[0-9]*[.][0-9]*' | head -1)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer un fichier objet YAML pour définir un groupe d'opérateurs et un abonnement pour l'opérateur de stockage local, tel que
openshift-local-storage.yaml
:Exemple openshift-local-storage.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- La politique d'approbation des utilisateurs pour un plan d'installation.
Créez l'objet Opérateur de stockage local en entrant la commande suivante :
oc apply -f openshift-local-storage.yaml
$ oc apply -f openshift-local-storage.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow À ce stade, le gestionnaire du cycle de vie de l'opérateur (OLM) est maintenant au courant de l'existence de l'opérateur de stockage local. Une ClusterServiceVersion (CSV) pour l'opérateur devrait apparaître dans l'espace de noms cible, et les API fournies par l'opérateur devraient être disponibles pour la création.
Vérifier l'installation du stockage local en contrôlant que tous les pods et l'opérateur de stockage local ont été créés :
Vérifier que tous les pods nécessaires ont été créés :
oc -n openshift-local-storage get pods
$ oc -n openshift-local-storage get pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME READY STATUS RESTARTS AGE local-storage-operator-746bf599c9-vlt5t 1/1 Running 0 19m
NAME READY STATUS RESTARTS AGE local-storage-operator-746bf599c9-vlt5t 1/1 Running 0 19m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez le manifeste YAML ClusterServiceVersion (CSV) pour voir si l'opérateur de stockage local est disponible dans le projet
openshift-local-storage
:oc get csvs -n openshift-local-storage
$ oc get csvs -n openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME DISPLAY VERSION REPLACES PHASE local-storage-operator.4.2.26-202003230335 Local Storage 4.2.26-202003230335 Succeeded
NAME DISPLAY VERSION REPLACES PHASE local-storage-operator.4.2.26-202003230335 Local Storage 4.2.26-202003230335 Succeeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Lorsque toutes les vérifications ont été effectuées, l'opérateur de stockage local est installé avec succès.
4.12.1.2. Approvisionnement de volumes locaux à l'aide de l'Opérateur de stockage local Copier lienLien copié sur presse-papiers!
Les volumes locaux ne peuvent pas être créés par provisionnement dynamique. En revanche, des volumes persistants peuvent être créés par l'opérateur de stockage local. L'opérateur de stockage local recherche des périphériques de système de fichiers ou de volumes de blocs aux chemins d'accès spécifiés dans la ressource définie.
Conditions préalables
- L'opérateur de stockage local est installé.
Vous disposez d'un disque local qui répond aux conditions suivantes :
- Il est rattaché à un nœud.
- Il n'est pas monté.
- Il ne contient pas de partitions.
Procédure
Créer la ressource volume local. Cette ressource doit définir les nœuds et les chemins d'accès aux volumes locaux.
NoteN'utilisez pas différents noms de classe de stockage pour le même périphérique. Cela entraînerait la création de plusieurs volumes persistants (PV).
Exemple : Système de fichiers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L'espace de noms dans lequel l'Opérateur de stockage local est installé.
- 2
- Facultatif : Un sélecteur de nœud contenant une liste de nœuds auxquels les volumes de stockage local sont attachés. Cet exemple utilise les noms d'hôtes des nœuds, obtenus à partir de
oc get node
. Si aucune valeur n'est définie, l'opérateur de stockage local tentera de trouver les disques correspondants sur tous les nœuds disponibles. - 3
- Le nom de la classe de stockage à utiliser lors de la création d'objets de volumes persistants. L'Opérateur de stockage local crée automatiquement la classe de stockage si elle n'existe pas. Veillez à utiliser une classe de stockage qui identifie de manière unique cet ensemble de volumes locaux.
- 4
- Le mode de volume, soit
Filesystem
ouBlock
, qui définit le type de volumes locaux.NoteUn volume de blocs bruts (
volumeMode: Block
) n'est pas formaté avec un système de fichiers. N'utilisez ce mode que si une application fonctionnant sur le pod peut utiliser des périphériques de blocs bruts. - 5
- Système de fichiers créé lorsque le volume local est monté pour la première fois.
- 6
- Chemin d'accès contenant une liste de périphériques de stockage locaux à sélectionner.
- 7
- Remplacez cette valeur par le chemin d'accès de vos disques locaux à la ressource
LocalVolume
by-id
, par exemple/dev/disk/by-id/wwn
. Les PV sont créés pour ces disques locaux lorsque le provisionneur est déployé avec succès.NoteSi vous exécutez OpenShift Container Platform sur des zSystems IBM avec RHEL KVM, vous devez attribuer un numéro de série à votre disque VM. Sinon, le disque VM ne peut pas être identifié après le redémarrage. Vous pouvez utiliser la commande
virsh edit <VM>
pour ajouter la définition<serial>mydisk</serial>
.
Exemple : Bloc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L'espace de noms dans lequel l'Opérateur de stockage local est installé.
- 2
- Facultatif : Un sélecteur de nœud contenant une liste de nœuds auxquels les volumes de stockage local sont attachés. Cet exemple utilise les noms d'hôtes des nœuds, obtenus à partir de
oc get node
. Si aucune valeur n'est définie, l'opérateur de stockage local tentera de trouver les disques correspondants sur tous les nœuds disponibles. - 3
- Le nom de la classe de stockage à utiliser lors de la création d'objets de volumes persistants.
- 4
- Le mode de volume, soit
Filesystem
ouBlock
, qui définit le type de volumes locaux. - 5
- Chemin d'accès contenant une liste de périphériques de stockage locaux à sélectionner.
- 6
- Remplacez cette valeur par le chemin d'accès de vos disques locaux à la ressource
LocalVolume
by-id
, par exempledev/disk/by-id/wwn
. Les PV sont créés pour ces disques locaux lorsque le provisionneur est déployé avec succès.
NoteSi vous exécutez OpenShift Container Platform sur des zSystems IBM avec RHEL KVM, vous devez attribuer un numéro de série à votre disque VM. Sinon, le disque VM ne peut pas être identifié après le redémarrage. Vous pouvez utiliser la commande
virsh edit <VM>
pour ajouter la définition<serial>mydisk</serial>
.Créez la ressource de volume local dans votre cluster OpenShift Container Platform. Spécifiez le fichier que vous venez de créer :
oc create -f <local-volume>.yaml
oc create -f <local-volume>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que le provisionneur a été créé et que les ensembles de démons correspondants ont été créés :
oc get all -n openshift-local-storage
$ oc get all -n openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Notez le nombre souhaité et le nombre actuel de processus du jeu de démons. Un nombre souhaité de
0
indique que les sélecteurs d'étiquettes n'étaient pas valides.Vérifiez que les volumes persistants ont été créés :
oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available local-sc 88m local-pv-2ef7cd2a 100Gi RWO Delete Available local-sc 82m local-pv-3fa1c73 100Gi RWO Delete Available local-sc 48m
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available local-sc 88m local-pv-2ef7cd2a 100Gi RWO Delete Available local-sc 82m local-pv-3fa1c73 100Gi RWO Delete Available local-sc 48m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
La modification de l'objet LocalVolume
ne modifie pas les objets fsType
ou volumeMode
des volumes persistants existants, car cela pourrait entraîner une opération destructive.
4.12.1.3. Approvisionnement de volumes locaux sans l'Opérateur de stockage local Copier lienLien copié sur presse-papiers!
Les volumes locaux ne peuvent pas être créés par provisionnement dynamique. En revanche, des volumes persistants peuvent être créés en définissant le volume persistant (PV) dans une définition d'objet. Le provisionneur de volumes locaux recherche tous les périphériques de système de fichiers ou de volumes de blocs aux chemins d'accès spécifiés dans la ressource définie.
Le provisionnement manuel des PV comporte le risque de fuites de données potentielles à travers la réutilisation des PV lorsque les PVC sont supprimés. L'opérateur de stockage local est recommandé pour automatiser le cycle de vie des dispositifs lors de l'approvisionnement des PV locaux.
Conditions préalables
- Les disques locaux sont attachés aux nœuds d'OpenShift Container Platform.
Procédure
Définir le PV. Créez un fichier, tel que
example-pv-filesystem.yaml
ouexample-pv-block.yaml
, avec la définition de l'objetPersistentVolume
. Cette ressource doit définir les nœuds et les chemins d'accès aux volumes locaux.NoteN'utilisez pas différents noms de classe de stockage pour le même appareil. Cela entraînerait la création de plusieurs PV.
exemple-pv-filesystem.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le mode de volume, soit
Filesystem
ouBlock
, qui définit le type de PV. - 2
- Nom de la classe de stockage à utiliser lors de la création de ressources PV. Utiliser une classe de stockage qui identifie de manière unique cet ensemble de PV.
- 3
- Le chemin d'accès contenant une liste de périphériques de stockage locaux à choisir, ou un répertoire. Vous ne pouvez spécifier un répertoire qu'avec
Filesystem
volumeMode
.
NoteUn volume de blocs bruts (
volumeMode: block
) n'est pas formaté avec un système de fichiers. N'utilisez ce mode que si une application fonctionnant sur le pod peut utiliser des périphériques de blocs bruts.exemple-pv-block.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le mode de volume, soit
Filesystem
ouBlock
, qui définit le type de PV. - 2
- Nom de la classe de stockage à utiliser lors de la création de ressources PV. Veillez à utiliser une classe de stockage qui identifie de manière unique cet ensemble de PV.
- 3
- Chemin d'accès contenant une liste de périphériques de stockage locaux à sélectionner.
Créez la ressource PV dans votre cluster OpenShift Container Platform. Spécifiez le fichier que vous venez de créer :
oc create -f <example-pv>.yaml
oc create -f <example-pv>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifier que le PV local a été créé :
oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE example-pv-filesystem 100Gi RWO Delete Available local-storage 3m47s example-pv1 1Gi RWO Delete Bound local-storage/pvc1 local-storage 12h example-pv2 1Gi RWO Delete Bound local-storage/pvc2 local-storage 12h example-pv3 1Gi RWO Delete Bound local-storage/pvc3 local-storage 12h
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE example-pv-filesystem 100Gi RWO Delete Available local-storage 3m47s example-pv1 1Gi RWO Delete Bound local-storage/pvc1 local-storage 12h example-pv2 1Gi RWO Delete Bound local-storage/pvc2 local-storage 12h example-pv3 1Gi RWO Delete Bound local-storage/pvc3 local-storage 12h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.4. Création de la revendication de volume persistant du volume local Copier lienLien copié sur presse-papiers!
Les volumes locaux doivent être créés de manière statique en tant que revendication de volume persistant (PVC) pour être accessibles par le pod.
Conditions préalables
- Des volumes persistants ont été créés à l'aide du provisionneur de volumes local.
Procédure
Créer le PVC en utilisant la classe de stockage correspondante :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le PVC dans le cluster OpenShift Container Platform, en spécifiant le fichier que vous venez de créer :
oc create -f <local-pvc>.yaml
oc create -f <local-pvc>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.5. Joindre la demande locale Copier lienLien copié sur presse-papiers!
Une fois qu'un volume local a été mis en correspondance avec une demande de volume persistant, il peut être spécifié à l'intérieur d'une ressource.
Conditions préalables
- Une demande de volume persistant existe dans le même espace de noms.
Procédure
Inclure la revendication définie dans la spécification de la ressource. L'exemple suivant déclare la revendication de volume persistant à l'intérieur d'un pod :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom du volume à monter.
- 2
- Le chemin à l'intérieur du module où le volume est monté. Ne montez pas le volume sur la racine du conteneur,
/
, ou sur un chemin identique dans l'hôte et dans le conteneur. Cela peut corrompre votre système hôte si le conteneur est suffisamment privilégié, comme l'hôte/dev/pts
files. Vous pouvez monter l'hôte en toute sécurité en utilisant/host
. - 3
- Le nom de la revendication de volume persistant existante à utiliser.
Créez la ressource dans le cluster OpenShift Container Platform, en spécifiant le fichier que vous venez de créer :
oc create -f <local-pod>.yaml
oc create -f <local-pod>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.6. Automatisation de la découverte et de l'approvisionnement des périphériques de stockage locaux Copier lienLien copié sur presse-papiers!
L'opérateur de stockage local automatise la découverte et le provisionnement du stockage local. Grâce à cette fonctionnalité, vous pouvez simplifier l'installation lorsque le provisionnement dynamique n'est pas disponible lors du déploiement, comme dans le cas d'instances de stockage bare metal, VMware ou AWS avec des périphériques connectés.
La découverte et le provisionnement automatiques sont des fonctionnalités de l'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
La procédure suivante permet de découvrir automatiquement les périphériques locaux et d'approvisionner automatiquement les volumes locaux pour les périphériques sélectionnés.
Utilisez l'objet LocalVolumeSet
avec prudence. Lorsque vous provisionnez automatiquement des volumes persistants (PV) à partir de disques locaux, les PV locaux peuvent réclamer tous les périphériques qui correspondent. Si vous utilisez un objet LocalVolumeSet
, assurez-vous que l'opérateur de stockage local est la seule entité à gérer les périphériques locaux sur le nœud.
Conditions préalables
- Vous avez des droits d'administrateur de cluster.
- Vous avez installé l'Opérateur de stockage local.
- Vous avez attaché des disques locaux aux nœuds d'OpenShift Container Platform.
-
Vous avez accès à la console web d'OpenShift Container Platform et à l'interface de ligne de commande (CLI)
oc
.
Procédure
Pour activer la découverte automatique des appareils locaux à partir de la console web :
-
Dans la perspective Administrator, naviguez vers Operators
Installed Operators et cliquez sur l'onglet Local Volume Discovery. - Cliquez sur Create Local Volume Discovery.
Sélectionnez All nodes ou Select nodes, selon que vous souhaitez découvrir les disques disponibles sur tous les nœuds ou sur des nœuds spécifiques.
NoteSeuls les nœuds de travail sont disponibles, que vous filtriez à l'aide de All nodes ou de Select nodes.
- Cliquez sur Create.
-
Dans la perspective Administrator, naviguez vers Operators
Une instance de découverte de volume local nommée auto-discover-devices
est affichée.
Pour afficher une liste continue des dispositifs disponibles sur un nœud :
- Connectez-vous à la console web de OpenShift Container Platform.
-
Naviguez jusqu'à Compute
Nodes. - Cliquez sur le nom du nœud que vous souhaitez ouvrir. La page "Détails du nœud" s'affiche.
Sélectionnez l'onglet Disks pour afficher la liste des appareils sélectionnés.
La liste des périphériques est mise à jour en permanence au fur et à mesure que des disques locaux sont ajoutés ou supprimés. Vous pouvez filtrer les périphériques par nom, état, type, modèle, capacité et mode.
Pour provisionner automatiquement des volumes locaux pour les appareils découverts à partir de la console web :
-
Naviguez jusqu'à Operators
Installed Operators et sélectionnez Local Storage dans la liste des opérateurs. -
Sélectionnez Local Volume Set
Create Local Volume Set. - Saisissez un nom d'ensemble de volumes et un nom de classe de stockage.
Choisissez All nodes ou Select nodes pour appliquer des filtres en conséquence.
NoteSeuls les nœuds de travail sont disponibles, que vous filtriez à l'aide de All nodes ou de Select nodes.
Sélectionnez le type de disque, le mode, la taille et la limite que vous souhaitez appliquer à l'ensemble de volumes locaux, puis cliquez sur Create.
Un message s'affiche au bout de quelques minutes, indiquant que l'opérateur s'est réconcilié avec succès
-
Naviguez jusqu'à Operators
Il est également possible de provisionner des volumes locaux pour les appareils découverts à partir de la CLI :
Créez un fichier objet YAML pour définir l'ensemble de volumes locaux, tel que
local-volume-set.yaml
, comme indiqué dans l'exemple suivant :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Détermine la classe de stockage qui est créée pour les volumes persistants provisionnés à partir de périphériques découverts. L'Opérateur de stockage local crée automatiquement la classe de stockage si elle n'existe pas. Veillez à utiliser une classe de stockage qui identifie de manière unique cet ensemble de volumes locaux.
- 2
- Lors de l'utilisation de la fonction de jeu de volumes locaux, l'Opérateur de stockage local ne prend pas en charge l'utilisation de périphériques de gestion de volumes logiques (LVM).
Créer l'objet jeu de volume local :
oc apply -f local-volume-set.yaml
$ oc apply -f local-volume-set.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez que les volumes persistants locaux ont été provisionnés dynamiquement en fonction de la classe de stockage :
oc get pv
$ oc get pv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available example-storageclass 88m local-pv-2ef7cd2a 100Gi RWO Delete Available example-storageclass 82m local-pv-3fa1c73 100Gi RWO Delete Available example-storageclass 48m
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE local-pv-1cec77cf 100Gi RWO Delete Available example-storageclass 88m local-pv-2ef7cd2a 100Gi RWO Delete Available example-storageclass 82m local-pv-3fa1c73 100Gi RWO Delete Available example-storageclass 48m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Les résultats sont supprimés après avoir été retirés du nœud. Les liens symboliques doivent être supprimés manuellement.
4.12.1.7. Utilisation des tolérances avec les pods de l'opérateur de stockage local Copier lienLien copié sur presse-papiers!
Il est possible d'appliquer des restrictions aux nœuds pour les empêcher d'exécuter des charges de travail générales. Pour permettre à l'opérateur de stockage local d'utiliser des nœuds altérés, vous devez ajouter des tolérances à la définition de Pod
ou DaemonSet
. Cela permet aux ressources créées de s'exécuter sur ces nœuds altérés.
Vous appliquez des tolérances au pod de l'opérateur de stockage local via la ressource LocalVolume
et vous appliquez des altérations à un nœud via la spécification de nœud. Une tare sur un nœud indique au nœud de repousser tous les modules qui ne tolèrent pas la tare. L'utilisation d'une tare spécifique qui n'est pas présente sur d'autres modules garantit que le module de l'opérateur de stockage local peut également fonctionner sur ce nœud.
Les plaintes et les tolérances se composent d'une clé, d'une valeur et d'un effet. En tant qu'argument, il est exprimé sous la forme key=value:effect
. Un opérateur permet de laisser l'un de ces paramètres vide.
Conditions préalables
- L'opérateur de stockage local est installé.
- Les disques locaux sont attachés aux nœuds d'OpenShift Container Platform avec un taint.
- Les nœuds altérés sont censés fournir un stockage local.
Procédure
Pour configurer les volumes locaux en vue de leur ordonnancement sur les nœuds altérés :
Modifiez le fichier YAML qui définit le site
Pod
et ajoutez la spécificationLocalVolume
, comme indiqué dans l'exemple suivant :Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Spécifiez la clé que vous avez ajoutée au nœud.
- 2
- Indiquez l'opérateur
Equal
pour exiger que les paramètreskey
/value
correspondent. Si l'opérateur estExists
, le système vérifie que la clé existe et ignore la valeur. Si l'opérateur estEqual
, la clé et la valeur doivent correspondre. - 3
- Indiquer la valeur
local
du nœud altéré. - 4
- Le mode de volume, soit
Filesystem
ouBlock
, définissant le type de volumes locaux. - 5
- Chemin d'accès contenant une liste de périphériques de stockage locaux à sélectionner.
Facultatif : Pour créer des volumes persistants locaux uniquement sur les nœuds altérés, modifiez le fichier YAML et ajoutez la spécification
LocalVolume
, comme indiqué dans l'exemple suivant :spec: tolerations: - key: node-role.kubernetes.io/master operator: Exists
spec: tolerations: - key: node-role.kubernetes.io/master operator: Exists
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Les tolérances définies seront transmises aux ensembles de démons résultants, ce qui permettra de créer des pods de disquaire et de provisionneur pour les nœuds qui contiennent les taches spécifiées.
4.12.1.8. Paramètres de l'opérateur de stockage local Copier lienLien copié sur presse-papiers!
OpenShift Container Platform fournit les mesures suivantes pour l'opérateur de stockage local :
-
lso_discovery_disk_count
nombre total de dispositifs découverts sur chaque nœud -
lso_lvset_provisioned_PV_count
nombre total de PV créés par les objetsLocalVolumeSet
-
lso_lvset_unmatched_disk_count
nombre total de disques que l'opérateur de stockage local n'a pas sélectionnés pour le provisionnement en raison de critères non concordants -
lso_lvset_orphaned_symlink_count
nombre d'appareils dont les PV ne correspondent plus aux critères de l'objetLocalVolumeSet
-
lso_lv_orphaned_symlink_count
nombre d'appareils dont les PV ne correspondent plus aux critères de l'objetLocalVolume
-
lso_lv_provisioned_PV_count
nombre total de PV provisionnées pourLocalVolume
Pour utiliser ces mesures, veillez à.. :
- Activer la prise en charge de la surveillance lors de l'installation de l'Opérateur de stockage local.
-
Lors de la mise à jour vers OpenShift Container Platform 4.9 ou une version ultérieure, activez le support métrique manuellement en ajoutant le label
operator-metering=true
à l'espace de noms.
Pour plus d'informations sur les métriques, voir Gestion des métriques.
4.12.1.9. Suppression des ressources de l'opérateur de stockage local Copier lienLien copié sur presse-papiers!
4.12.1.9.1. Suppression d'un volume local ou d'un ensemble de volumes locaux Copier lienLien copié sur presse-papiers!
Il arrive que des volumes locaux et des ensembles de volumes locaux doivent être supprimés. Bien que la suppression de l'entrée dans la ressource et la suppression du volume persistant suffisent généralement, si vous souhaitez réutiliser le même chemin d'accès au périphérique ou le faire gérer par une classe de stockage différente, des étapes supplémentaires sont nécessaires.
La procédure suivante présente un exemple de suppression d'un volume local. La même procédure peut également être utilisée pour supprimer les liens symboliques d'une ressource personnalisée d'un ensemble de volumes locaux.
Conditions préalables
Le volume persistant doit être dans un état
Released
ouAvailable
.AvertissementLa suppression d'un volume persistant encore en cours d'utilisation peut entraîner la perte ou la corruption de données.
Procédure
Modifiez le volume local précédemment créé pour supprimer les disques indésirables.
Modifiez la ressource du cluster :
oc edit localvolume <name> -n openshift-local-storage
oc edit localvolume <name> -n openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Naviguez jusqu'aux lignes sous
devicePaths
, et supprimez tous les disques non désirés.
Supprimer tous les volumes persistants créés.
oc delete pv <pv-name> $ oc delete pv <pv-name>
oc delete pv <pv-name> $ oc delete pv <pv-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer tous les liens symboliques sur le nœud.
AvertissementL'étape suivante consiste à accéder à un nœud en tant qu'utilisateur racine. La modification de l'état du nœud au-delà des étapes de cette procédure peut entraîner une instabilité de la grappe.
Créer un pod de débogage sur le nœud :
oc debug node/<node-name>
$ oc debug node/<node-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Changez votre répertoire racine en
/host
:chroot /host
$ chroot /host
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Naviguez jusqu'au répertoire contenant les liens symboliques du volume local.
cd /mnt/openshift-local-storage/<sc-name>
$ cd /mnt/openshift-local-storage/<sc-name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom de la classe de stockage utilisée pour créer les volumes locaux.
Supprimer le lien symbolique appartenant à l'appareil supprimé.
rm <symlink>
$ rm <symlink>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.1.9.2. Désinstallation de l'opérateur de stockage local Copier lienLien copié sur presse-papiers!
Pour désinstaller l'Opérateur de stockage local, vous devez supprimer l'Opérateur et toutes les ressources créées dans le projet openshift-local-storage
.
Il n'est pas recommandé de désinstaller l'Opérateur de stockage local lorsque des PV de stockage local sont encore utilisés. Bien que les PV soient conservées après la suppression de l'opérateur, il peut y avoir un comportement indéterminé si l'opérateur est désinstallé et réinstallé sans supprimer les PV et les ressources de stockage local.
Conditions préalables
- Accès à la console web d'OpenShift Container Platform.
Procédure
Supprimez toutes les ressources de volume local installées dans le projet, telles que
localvolume
,localvolumeset
, etlocalvolumediscovery
:oc delete localvolume --all --all-namespaces oc delete localvolumeset --all --all-namespaces oc delete localvolumediscovery --all --all-namespaces
$ oc delete localvolume --all --all-namespaces $ oc delete localvolumeset --all --all-namespaces $ oc delete localvolumediscovery --all --all-namespaces
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Désinstallez l'Opérateur de stockage local à partir de la console web.
- Connectez-vous à la console web de OpenShift Container Platform.
-
Naviguez jusqu'à Operators
Installed Operators. - Tapez Local Storage dans le champ de filtre pour localiser l'opérateur de stockage local.
-
Cliquez sur le menu Options
à la fin de l'opérateur de stockage local.
- Cliquez sur Uninstall Operator.
- Cliquez sur Remove dans la fenêtre qui s'affiche.
Les PV créés par l'Opérateur de stockage local resteront dans le cluster jusqu'à ce qu'ils soient supprimés. Une fois que ces volumes ne sont plus utilisés, supprimez-les en exécutant la commande suivante :
oc delete pv <pv-name> $ oc delete pv <pv-name>
oc delete pv <pv-name> $ oc delete pv <pv-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer le projet
openshift-local-storage
:oc delete project openshift-local-storage
$ oc delete project openshift-local-storage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.2. Stockage persistant à l'aide de hostPath Copier lienLien copié sur presse-papiers!
Un volume hostPath dans un cluster OpenShift Container Platform monte un fichier ou un répertoire du système de fichiers du nœud hôte dans votre pod. La plupart des pods n'auront pas besoin d'un volume hostPath, mais il offre une option rapide pour les tests si une application le nécessite.
L'administrateur du cluster doit configurer les pods pour qu'ils fonctionnent de manière privilégiée. Cela permet d'accéder aux pods du même nœud.
4.12.2.1. Vue d'ensemble Copier lienLien copié sur presse-papiers!
OpenShift Container Platform prend en charge le montage hostPath pour le développement et les tests sur un cluster à nœud unique.
Dans un cluster de production, vous n'utiliserez pas hostPath. Au lieu de cela, un administrateur de cluster provisionnerait une ressource réseau, telle qu'un volume GCE Persistent Disk, un partage NFS ou un volume Amazon EBS. Les ressources réseau prennent en charge l'utilisation des classes de stockage pour configurer le provisionnement dynamique.
Un volume hostPath doit être provisionné de manière statique.
Ne montez pas sur la racine du conteneur, /
, ou tout autre chemin identique sur l'hôte et le conteneur. Cela peut corrompre votre système hôte si le conteneur est suffisamment privilégié. Il est prudent de monter l'hôte en utilisant /host
. L'exemple suivant montre que le répertoire /
de l'hôte est monté dans le conteneur à l'adresse /host
.
4.12.2.2. Approvisionnement statique des volumes hostPath Copier lienLien copié sur presse-papiers!
Un pod qui utilise un volume hostPath doit être référencé par un provisionnement manuel (statique).
Procédure
Définir le volume persistant (PV). Créer un fichier,
pv.yaml
, avec la définition de l'objetPersistentVolume
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom du volume. Ce nom est la façon dont il est identifié par les réclamations de volumes persistants ou les pods.
- 2
- Utilisé pour lier les demandes de réclamation de volume persistant à ce volume persistant.
- 3
- Le volume peut être monté comme
read-write
par un seul nœud. - 4
- Le fichier de configuration spécifie que le volume se trouve à
/mnt/data
sur le nœud du cluster. Ne montez pas sur la racine du conteneur,/
, ou tout autre chemin identique sur l'hôte et le conteneur. Cela peut corrompre votre système hôte. Vous pouvez monter l'hôte en toute sécurité en utilisant/host
.
Créer le PV à partir du fichier :
oc create -f pv.yaml
$ oc create -f pv.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Définir la revendication de volume persistant (PVC). Créez un fichier,
pvc.yaml
, avec la définition de l'objetPersistentVolumeClaim
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créer le PVC à partir du fichier :
oc create -f pvc.yaml
$ oc create -f pvc.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.2.3. Montage du partage hostPath dans un pod privilégié Copier lienLien copié sur presse-papiers!
Une fois que la demande de volume persistant a été créée, elle peut être utilisée à l'intérieur par une application. L'exemple suivant montre le montage de ce partage à l'intérieur d'un pod.
Conditions préalables
- Il existe une revendication de volume persistant qui est mappée au partage hostPath sous-jacent.
Procédure
Créer un pod privilégié qui monte la revendication de volume persistant existante :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le nom du pod.
- 2
- Le pod doit être exécuté en tant que privilégié pour accéder au stockage du nœud.
- 3
- Le chemin pour monter le partage du chemin de l'hôte à l'intérieur du pod privilégié. Ne montez pas sur la racine du conteneur,
/
, ou tout autre chemin qui est le même dans l'hôte et le conteneur. Cela peut corrompre votre système hôte si le conteneur est suffisamment privilégié, comme les fichiers de l'hôte/dev/pts
. Vous pouvez monter l'hôte en toute sécurité en utilisant/host
. - 4
- Le nom de l'objet
PersistentVolumeClaim
qui a été créé précédemment.
4.12.3. Stockage persistant à l'aide du gestionnaire de volume logique Copier lienLien copié sur presse-papiers!
Logical volume manager storage (LVM Storage) utilise le pilote TopoLVM CSI pour provisionner dynamiquement le stockage local sur les clusters OpenShift à nœud unique.
LVM Storage crée des volumes à provisionnement fin à l'aide de Logical Volume Manager et fournit un provisionnement dynamique du stockage en bloc sur un cluster OpenShift à nœud unique aux ressources limitées.
4.12.3.1. Déployer le stockage LVM sur des clusters OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous pouvez déployer LVM Storage sur un nœud unique d'OpenShift bare-metal ou sur un cluster d'infrastructure fourni par l'utilisateur et le configurer pour provisionner dynamiquement le stockage pour vos charges de travail.
Le stockage LVM crée un groupe de volumes utilisant tous les disques inutilisés disponibles et crée un thin pool unique d'une taille correspondant à 90 % du groupe de volumes. Les 10 % restants du groupe de volumes sont laissés libres pour permettre la récupération des données en élargissant le thin pool en cas de besoin. Il se peut que vous deviez effectuer manuellement cette récupération.
Vous pouvez utiliser les réclamations de volumes persistants (PVC) et les instantanés de volumes fournis par le stockage LVM pour demander de l'espace de stockage et créer des instantanés de volumes.
LVM Storage configure une limite d'overprovisioning par défaut de 10 pour tirer parti de la fonction de thin-provisioning. La taille totale des volumes et des instantanés de volume qui peuvent être créés sur les clusters OpenShift à nœud unique est 10 fois supérieure à la taille du thin pool.
Vous pouvez déployer le stockage LVM sur des clusters OpenShift à nœud unique en utilisant l'une des méthodes suivantes :
- Red Hat Advanced Cluster Management (RHACM)
- Console Web de la plateforme OpenShift Container
4.12.3.1.1. Requirements Copier lienLien copié sur presse-papiers!
Avant de commencer à déployer le stockage LVM sur des clusters OpenShift à nœud unique, assurez-vous que les conditions suivantes sont remplies :
- Vous avez installé Red Hat Advanced Cluster Management (RHACM) sur un cluster OpenShift Container Platform.
- Chaque cluster OpenShift géré à un seul nœud dispose de disques dédiés qui sont utilisés pour provisionner le stockage.
Avant de déployer le stockage LVM sur des clusters OpenShift à nœud unique, soyez conscient des limitations suivantes :
-
Vous ne pouvez créer qu'une seule instance de la ressource personnalisée (CR)
LVMCluster
sur un cluster OpenShift Container Platform. -
Vous ne pouvez effectuer qu'une seule entrée
deviceClass
dans le CRLVMCluster
. -
Lorsqu'un dispositif est intégré dans le CR
LVMCluster
, il ne peut plus être supprimé.
4.12.3.1.2. Limites Copier lienLien copié sur presse-papiers!
Pour le déploiement d'OpenShift à nœud unique, le stockage LVM présente les limitations suivantes :
- La taille totale du stockage est limitée par la taille du thin pool sous-jacent du Logical Volume Manager (LVM) et par le facteur de surprovisionnement.
La taille du volume logique dépend de la taille de l'étendue physique (PE) et de l'étendue logique (LE).
- Il est possible de définir la taille des PE et LE lors de la création des dispositifs physiques et logiques.
- La taille par défaut des PE et LE est de 4 Mo.
- Si la taille du PE est augmentée, la taille maximale du LVM est déterminée par les limites du noyau et votre espace disque.
Architecture | RHEL 5 | RHEL 6 | RHEL 7 | RHEL 8 |
---|---|---|---|---|
32 bits | 16 TB | 16 TB | - | - |
64 bits | 8 EB [1] | 8 EB [1] 100 TB [2] | 8 EB [1] 500 TB [2] | 8 EB |
- Taille théorique.
- Taille testée.
4.12.3.1.3. Installation du stockage LVM à l'aide de la console Web d'OpenShift Container Platform Copier lienLien copié sur presse-papiers!
Vous pouvez installer LVM Storage à l'aide de Red Hat OpenShift Container Platform OperatorHub.
Conditions préalables
- Vous avez accès au cluster OpenShift à nœud unique.
-
Vous utilisez un compte disposant des autorisations d'installation
cluster-admin
et Operator.
Procédure
- Connectez-vous à la console Web de OpenShift Container Platform.
-
Cliquez sur Operators
OperatorHub. -
Faites défiler ou tapez
LVM Storage
dans la boîte Filter by keyword pour trouver LVM Storage. - Cliquez sur Install.
Définissez les options suivantes sur la page Install Operator:
- Update Channel comme stable-4.12.
- Installation Mode comme A specific namespace on the cluster.
-
Installed Namespace comme Operator recommended namespace openshift-storage. Si l'espace de noms
openshift-storage
n'existe pas, il est créé lors de l'installation de l'opérateur. Approval Strategy comme Automatic ou Manual.
Si vous sélectionnez Automatic updates, l'Operator Lifecycle Manager (OLM) met automatiquement à jour l'instance en cours d'exécution de votre opérateur sans aucune intervention.
Si vous sélectionnez Manual updates, l'OLM crée une demande de mise à jour. En tant qu'administrateur de cluster, vous devez ensuite approuver manuellement cette demande de mise à jour pour que l'opérateur passe à une version plus récente.
- Cliquez sur Install.
Verification steps
- Vérifiez que LVM Storage affiche une coche verte, ce qui indique que l'installation a réussi.
4.12.3.1.4. Désinstallation du stockage LVM installé à l'aide de la console Web OpenShift Copier lienLien copié sur presse-papiers!
Vous pouvez désinstaller le stockage LVM à l'aide de la console Web de Red Hat OpenShift Container Platform.
Conditions préalables
- Vous avez supprimé toutes les applications sur les clusters qui utilisent le stockage provisionné par LVM Storage.
- Vous avez supprimé les réclamations de volumes persistants (PVC) et les volumes persistants (PV) provisionnés à l'aide de LVM Storage.
- Vous avez supprimé tous les instantanés de volume fournis par LVM Storage.
-
Vous avez vérifié qu'il n'existe aucune ressource de volume logique en utilisant la commande
oc get logicalvolume
. -
Vous avez accès au cluster OpenShift à nœud unique en utilisant un compte avec les permissions
cluster-admin
.
Procédure
-
À partir de la page Operators
Installed Operators, faites défiler jusqu'à LVM Storage ou tapez LVM Storage
dans Filter by name pour le trouver et cliquez dessus. - Cliquez sur l'onglet LVMCluster.
- Dans la partie droite de la page LVMCluster, sélectionnez Delete LVMCluster dans le menu déroulant Actions.
- Cliquez sur l'onglet Details.
- Dans la partie droite de la page Operator Details, sélectionnez Uninstall Operator dans le menu déroulant Actions.
- Sélectionnez Remove. LVM Storage cesse de fonctionner et est complètement supprimé.
4.12.3.1.5. Installation du stockage LVM à l'aide de RHACM Copier lienLien copié sur presse-papiers!
Le stockage LVM est déployé sur des clusters OpenShift à nœud unique à l'aide de Red Hat Advanced Cluster Management (RHACM). Vous créez un objet Policy
sur RHACM qui déploie et configure l'opérateur lorsqu'il est appliqué aux clusters gérés qui correspondent au sélecteur spécifié dans la ressource PlacementRule
. La politique est également appliquée aux clusters importés ultérieurement et qui satisfont à la règle de placement.
Conditions préalables
-
Accès au cluster RHACM à l'aide d'un compte disposant des autorisations d'installation
cluster-admin
et Operator. - Disques dédiés sur chaque cluster OpenShift à nœud unique à utiliser par le stockage LVM.
- Le cluster OpenShift à nœud unique doit être géré par RHACM, soit importé, soit créé.
Procédure
- Connectez-vous au CLI RHACM en utilisant vos identifiants OpenShift Container Platform.
Créez un espace de noms dans lequel vous créerez des politiques.
oc create ns lvms-policy-ns
# oc create ns lvms-policy-ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour créer une politique, enregistrez le fichier YAML suivant dans un fichier portant un nom tel que
policy-lvms-operator.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Remplacez la clé et la valeur dans
PlacementRule.spec.clusterSelector
pour correspondre aux étiquettes définies sur les clusters OpenShift à nœud unique sur lesquels vous souhaitez installer LVM Storage. - 2
- Pour contrôler ou restreindre le groupe de volumes à vos disques préférés, vous pouvez spécifier manuellement les chemins d'accès locaux des disques dans la section
deviceSelector
du fichier YAMLLVMCluster
. - 3
- Pour ajouter un filtre de nœuds, qui est un sous-ensemble de nœuds de travail supplémentaires, spécifiez le filtre requis dans la section
nodeSelector
. LVM Storage détecte et utilise les nœuds de travail supplémentaires lorsqu'ils apparaissent.
ImportantCette correspondance de filtre de nœud
nodeSelector
n'est pas la même que la correspondance d'étiquette de pod.Créez la politique dans l'espace de noms en exécutant la commande suivante :
oc create -f policy-lvms-operator.yaml -n lvms-policy-ns
# oc create -f policy-lvms-operator.yaml -n lvms-policy-ns
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- L'adresse
policy-lvms-operator.yaml
est le nom du fichier dans lequel la politique est enregistrée.
Cela crée un objet
Policy
, un objetPlacementRule
et un objetPlacementBinding
dans l'espace de nomslvms-policy-ns
. La politique crée une ressourceNamespace
,OperatorGroup
,Subscription
, etLVMCluster
sur les clusters qui correspondent à la règle de placement. Cela déploie l'Opérateur sur les clusters OpenShift à nœud unique qui correspondent aux critères de sélection et le configure pour mettre en place les ressources requises pour provisionner le stockage. L'opérateur utilise tous les disques spécifiés dans le CRLVMCluster
. Si aucun disque n'est spécifié, l'opérateur utilise tous les disques inutilisés sur le nœud unique OpenShift.ImportantUne fois qu'un dispositif a été ajouté au site
LVMCluster
, il ne peut plus être supprimé.
4.12.3.1.6. Désinstallation du stockage LVM installé à l'aide de RHACM Copier lienLien copié sur presse-papiers!
Pour désinstaller le stockage LVM que vous avez installé à l'aide de RHACM, vous devez supprimer la stratégie RHACM que vous avez créée pour déployer et configurer l'opérateur.
Lorsque vous supprimez la stratégie RHACM, les ressources créées par cette stratégie ne sont pas supprimées. Vous devez créer d'autres politiques pour supprimer les ressources.
Comme les ressources créées ne sont pas supprimées lorsque vous supprimez la politique, vous devez effectuer les étapes suivantes :
- Supprimez toutes les réclamations de volumes persistants (PVC) et les instantanés de volumes fournis par LVM Storage.
-
Supprimez les ressources
LVMCluster
pour nettoyer les ressources du Logical Volume Manager créées sur les disques. - Créer une politique supplémentaire pour désinstaller l'opérateur.
Conditions préalables
Assurez-vous que les éléments suivants sont supprimés avant de supprimer la politique :
- Toutes les applications sur les clusters gérés qui utilisent le stockage provisionné par LVM Storage.
- PVC et volumes persistants (PV) provisionnés à l'aide de LVM Storage.
- Tous les instantanés de volume fournis par LVM Storage.
-
Assurez-vous que vous avez accès au cluster RHACM en utilisant un compte avec un rôle
cluster-admin
.
Procédure
Dans le CLI OpenShift (
oc
), supprimez la politique RHACM que vous avez créée pour déployer et configurer le stockage LVM sur le cluster hub en utilisant la commande suivante :oc delete -f policy-lvms-operator.yaml -n lvms-policy-ns
# oc delete -f policy-lvms-operator.yaml -n lvms-policy-ns
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Le site
policy-lvms-operator.yaml
est le nom du fichier dans lequel la politique a été enregistrée.
Pour créer une politique de suppression de la ressource
LVMCluster
, enregistrez le fichier YAML suivant dans un fichier portant un nom tel quelvms-remove-policy.yaml
. Cela permet à l'opérateur de nettoyer toutes les ressources Logical Volume Manager qu'il a créées sur le cluster.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Définissez la valeur du champ
PlacementRule.spec.clusterSelector
pour sélectionner les clusters à partir desquels désinstaller le stockage LVM. Créez la politique en exécutant la commande suivante :
oc create -f lvms-remove-policy.yaml -n lvms-policy-ns
# oc create -f lvms-remove-policy.yaml -n lvms-policy-ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pour créer une politique permettant de vérifier si le CR
LVMCluster
a été supprimé, enregistrez le fichier YAML suivant dans un fichier portant un nom tel quecheck-lvms-remove-policy.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la politique en exécutant la commande suivante :
oc create -f check-lvms-remove-policy.yaml -n lvms-policy-ns
# oc create -f check-lvms-remove-policy.yaml -n lvms-policy-ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Vérifiez l'état de la politique en exécutant la commande suivante :
oc get policy -n lvms-policy-ns
# oc get policy -n lvms-policy-ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Exemple de sortie
NAME REMEDIATION ACTION COMPLIANCE STATE AGE policy-lvmcluster-delete enforce Compliant 15m policy-lvmcluster-inform inform Compliant 15m
NAME REMEDIATION ACTION COMPLIANCE STATE AGE policy-lvmcluster-delete enforce Compliant 15m policy-lvmcluster-inform inform Compliant 15m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Une fois que les deux politiques sont conformes, enregistrez le YAML suivant dans un fichier portant un nom tel que
lvms-uninstall-policy.yaml
pour créer une politique de désinstallation du stockage LVM.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la politique en exécutant la commande suivante :
oc create -f lvms-uninstall-policy.yaml -ns lvms-policy-ns
# oc create -f lvms-uninstall-policy.yaml -ns lvms-policy-ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.2. Création d'un cluster de Logical Volume Manager Copier lienLien copié sur presse-papiers!
Vous pouvez créer un cluster de Logical Volume Manager après avoir installé LVM Storage.
OpenShift Container Platform prend en charge des nœuds de travail supplémentaires pour les clusters OpenShift à nœud unique sur une infrastructure bare-metal fournie par l'utilisateur. LVM Storage détecte et utilise les nœuds de travail supplémentaires lorsqu'ils apparaissent. Si vous avez besoin de définir un filtre de nœuds pour les nœuds de travail supplémentaires, vous pouvez utiliser la vue YAML lors de la création du cluster.
Cette correspondance de filtre de nœud n'est pas la même que la correspondance d'étiquette de pod.
Conditions préalables
- Vous avez installé LVM Storage à partir de l'OperatorHub.
Procédure
Dans la console Web de OpenShift Container Platform, cliquez sur Operators
Installed Operators pour afficher tous les opérateurs installés. Assurez-vous que le site Project sélectionné est
openshift-storage
.- Cliquez sur LVM Storage, puis sur Create LVMCluster sous LVMCluster.
- Dans la page Create LVMCluster, sélectionnez Form view ou YAML view.
- Entrez un nom pour le cluster.
- Cliquez sur Create.
Facultatif : Pour ajouter un filtre de nœud, cliquez sur YAML view et spécifiez le filtre dans la section
nodeSelector
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Facultatif : Pour modifier le chemin d'accès local des disques, cliquez sur YAML view et indiquez le chemin d'accès dans la section
deviceSelector
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Étapes de la vérification
-
Cliquez sur Storage
Storage Classes dans le volet gauche de la console Web OpenShift Container Platform. -
Vérifiez que la classe de stockage
lvms-<device-class-name>
est créée avec la création deLVMCluster
. Par défaut,vg1
est la classe de stockagedevice-class-name
.
4.12.3.3. Provisionnement du stockage à l'aide de LVM Storage Copier lienLien copié sur presse-papiers!
Vous pouvez provisionner des réclamations de volumes persistants (PVC) en utilisant la classe de stockage créée lors de l'installation de l'Opérateur. Vous pouvez provisionner des PVC de blocs et de fichiers, mais le stockage n'est alloué que lorsqu'un pod utilisant le PVC est créé.
LVM Storage provisionne les PVC par unités de 1 GiB. L'espace de stockage demandé est arrondi au gigaoctet le plus proche.
Procédure
Identifiez le site
StorageClass
qui est créé lorsque le stockage LVM est déployé.Le nom
StorageClass
est au formatlvms-<device-class-name>
.device-class-name
est le nom de la classe d'appareil que vous avez fourni dansLVMCluster
dePolicy
YAML. Par exemple, si le sitedeviceClass
s'appellevg1
, le nomstorageClass
estlvms-vg1
.Le site
volumeBindingMode
de la classe de stockage est défini surWaitForFirstConsumer
.Pour créer un PVC dans lequel l'application a besoin de stockage, enregistrez le fichier YAML suivant dans un fichier portant un nom tel que
pvc.yaml
.Exemple de YAML pour créer un PVC
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez le PVC en exécutant la commande suivante :
oc create -f pvc.yaml -ns <application_namespace>
# oc create -f pvc.yaml -ns <application_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Les PVC créés restent à l'état
pending
jusqu'à ce que vous déployiez les pods qui les utilisent.
4.12.3.4. Surveillance du stockage LVM Copier lienLien copié sur presse-papiers!
Lorsque le stockage LVM est installé à l'aide de la console Web OpenShift Container Platform, vous pouvez surveiller le cluster en utilisant le tableau de bord Block and File dans la console par défaut. Cependant, lorsque vous utilisez RHACM pour installer le stockage LVM, vous devez configurer RHACM Observability pour surveiller tous les clusters OpenShift à nœud unique à partir d'un seul endroit.
4.12.3.4.1. Metrics Copier lienLien copié sur presse-papiers!
Vous pouvez surveiller le stockage LVM en consultant les métriques exportées par l'opérateur sur les tableaux de bord RHACM et les alertes qui sont déclenchées.
Ajouter les métriques
topolvm
suivantes à la listeallow
:topolvm_thinpool_data_percent topolvm_thinpool_metadata_percent topolvm_thinpool_size_bytes
topolvm_thinpool_data_percent topolvm_thinpool_metadata_percent topolvm_thinpool_size_bytes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Les mesures sont mises à jour toutes les 10 minutes ou lorsqu'il y a un changement dans le thin pool, comme la création d'un nouveau volume logique.
4.12.3.4.2. Alertes Copier lienLien copié sur presse-papiers!
Lorsque le thin pool et le groupe de volumes sont remplis, les opérations ultérieures échouent et peuvent entraîner une perte de données. LVM Storage envoie les alertes suivantes sur l'utilisation du thin pool et du groupe de volumes lorsque l'utilisation dépasse une certaine valeur :
Alertes pour le cluster Logical Volume Manager dans RHACM
Alerte | Description |
---|---|
| Cette alerte est déclenchée lorsque l'utilisation du groupe de volumes et du thin pool dépasse 75 % sur les nœuds. La suppression de données ou l'extension du groupe de volumes est nécessaire. |
|
Cette alerte est déclenchée lorsque l'utilisation du groupe de volumes et du thin pool dépasse 85 % sur les nœuds. |
| Cette alerte est déclenchée lorsque l'utilisation des données du thin pool dans le groupe de volumes dépasse 75 % sur les nœuds. La suppression de données ou l'extension du thin pool est nécessaire. |
| Cette alerte est déclenchée lorsque l'utilisation des données du thin pool dans le groupe de volumes dépasse 85 % sur les nœuds. La suppression de données ou l'extension du thin pool est nécessaire. |
| Cette alerte est déclenchée lorsque l'utilisation des métadonnées du thin pool dans le groupe de volumes dépasse 75 % sur les nœuds. La suppression des données ou l'extension du thin pool est nécessaire. |
| Cette alerte est déclenchée lorsque l'utilisation des métadonnées du thin pool dans le groupe de volumes dépasse 85 % sur les nœuds. La suppression de données ou l'extension du thin pool est nécessaire. |
4.12.3.5. Mise à l'échelle du stockage des clusters OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
OpenShift Container Platform prend en charge des nœuds de travail supplémentaires pour les clusters OpenShift à nœud unique sur une infrastructure bare-metal fournie par l'utilisateur. LVM Storage détecte et utilise les nouveaux nœuds de travail supplémentaires lorsqu'ils apparaissent.
4.12.3.5.1. Augmenter le stockage en ajoutant de la capacité à votre cluster OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Pour faire évoluer la capacité de stockage de vos nœuds de travail configurés sur un cluster OpenShift à nœud unique, vous pouvez augmenter la capacité en ajoutant des disques.
Conditions préalables
- Vous disposez de disques supplémentaires inutilisés sur chaque cluster OpenShift à nœud unique à utiliser par LVM Storage.
Procédure
- Connectez-vous à la console OpenShift Container Platform du cluster OpenShift à nœud unique.
-
À partir de la page Operators
Installed Operators, cliquez sur LVM Storage Operator dans l'espace de noms openshift-storage
. -
Cliquez sur l'onglet LVMCluster pour afficher la liste des
LVMCluster
CR créés sur le cluster. - Sélectionnez Edit LVMCluster dans le menu déroulant Actions.
- Cliquez sur l'onglet YAML.
Modifiez le fichier YAML de
LVMCluster
CR pour ajouter le nouveau chemin d'accès au périphérique dans la sectiondeviceSelector
:NoteSi le champ
deviceSelector
n'est pas inclus lors de la création deLVMCluster
, il n'est pas possible d'ajouter la sectiondeviceSelector
au CR. Vous devez supprimer le champLVMCluster
et créer un nouveau CR.Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.5.2. Augmenter le stockage en ajoutant de la capacité à votre cluster OpenShift à nœud unique à l'aide de RHACM Copier lienLien copié sur presse-papiers!
Vous pouvez faire évoluer la capacité de stockage de vos nœuds de travail configurés sur un cluster OpenShift à nœud unique à l'aide de RHACM.
Conditions préalables
-
Vous avez accès au cluster RHACM en utilisant un compte avec les privilèges
cluster-admin
. - Vous disposez de disques supplémentaires inutilisés sur chaque cluster OpenShift à nœud unique à utiliser par LVM Storage.
Procédure
- Connectez-vous au CLI RHACM en utilisant vos identifiants OpenShift Container Platform.
- Recherchez le disque que vous souhaitez ajouter. Le disque à ajouter doit correspondre au nom de périphérique et au chemin d'accès des disques existants.
Pour ajouter de la capacité au cluster OpenShift à nœud unique, modifiez la section
deviceSelector
de la politique YAML existante, par exemple,policy-lvms-operator.yaml
.NoteSi le champ
deviceSelector
n'est pas inclus lors de la création deLVMCluster
, il n'est pas possible d'ajouter la sectiondeviceSelector
au CR. Vous devez supprimer la sectionLVMCluster
et la recréer à partir du nouveau CR.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Modifiez la politique en exécutant la commande suivante :
oc edit -f policy-lvms-operator.yaml -ns lvms-policy-ns
# oc edit -f policy-lvms-operator.yaml -ns lvms-policy-ns
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
policy-lvms-operator.yaml
est le nom de la politique existante.
Cette opération utilise le nouveau disque spécifié dans le CR
LVMCluster
pour approvisionner le stockage.
4.12.3.5.3. Expansion des PVC Copier lienLien copié sur presse-papiers!
Pour tirer parti du nouveau stockage après l'ajout de capacité supplémentaire, vous pouvez étendre les réclamations de volumes persistants (PVC) existantes avec le stockage LVM.
Conditions préalables
- Le provisionnement dynamique est utilisé.
-
L'objet contrôlant
StorageClass
a pour valeurallowVolumeExpansion
et pour valeurtrue
.
Procédure
Modifiez le champ
.spec.resources.requests.storage
de la ressource PVC souhaitée en fonction de la nouvelle taille en exécutant la commande suivante :oc patch <pvc_name> -n <application_namespace> -p '{ "spec" : { \N- "resources\N" : { \N- "requests\N" : { \N- "storage\N" : \N- "<desired_size>\N" }}}}'
oc patch <pvc_name> -n <application_namespace> -p '{ "spec" : { \N- "resources\N" : { \N- "requests\N" : { \N- "storage\N" : \N- "<desired_size>\N" }}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
Surveillez le champ
status.conditions
du PVC pour voir si le redimensionnement est terminé. OpenShift Container Platform ajoute la conditionResizing
au PVC pendant l'expansion, qui est supprimée une fois l'expansion terminée.
4.12.3.6. Mise à jour du stockage LVM sur les clusters OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Actuellement, il n'est pas possible de mettre à niveau OpenShift Data Foundation Logical Volume Manager Operator 4.11 vers LVM Storage 4.12 sur les clusters OpenShift à nœud unique.
Les données ne seront pas conservées pendant ce processus.
Procédure
- Sauvegardez toutes les données que vous souhaitez conserver sur les réclamations de volumes persistants (PVC).
- Supprimer tous les PVC provisionnés par l'opérateur du gestionnaire de volume logique d'OpenShift Data Foundation et leurs pods.
- Réinstaller le stockage LVM sur OpenShift Container Platform 4.12.
- Recréer les charges de travail.
- Copiez les données de sauvegarde sur les PVC créés après la mise à niveau vers la version 4.12.
4.12.3.7. Instantanés de volume pour OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous pouvez prendre des instantanés de volumes persistants (PV) provisionnés par le stockage LVM. Vous pouvez également créer des instantanés de volume des volumes clonés. Les instantanés de volume vous permettent d'effectuer les opérations suivantes :
Sauvegardez les données de votre application.
ImportantLes instantanés de volume sont situés sur les mêmes périphériques que les données d'origine. Pour utiliser les instantanés de volume comme sauvegardes, vous devez déplacer les instantanés vers un emplacement sécurisé. Vous pouvez utiliser les solutions de sauvegarde et de restauration d'OpenShift API for Data Protection.
- Revenir à l'état dans lequel l'instantané du volume a été pris.
4.12.3.7.1. Création d'instantanés de volume dans OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous pouvez créer des instantanés de volume en fonction de la capacité disponible du thin pool et des limites de surprovisionnement. LVM Storage crée un site VolumeSnapshotClass
avec le nom lvms-<deviceclass-name>
.
Conditions préalables
-
Vous vous êtes assuré que la revendication de volume persistant (PVC) est dans l'état
Bound
. Cela est nécessaire pour obtenir un instantané cohérent. - Vous avez arrêté toutes les entrées/sorties vers le PVC avant de prendre l'instantané.
Procédure
-
Connectez-vous à l'OpenShift à nœud unique pour lequel vous devez exécuter la commande
oc
. Enregistrez le fichier YAML suivant dans un fichier portant un nom tel que
lvms-vol-snapshot.yaml
.Exemple de YAML pour créer un instantané de volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez l'instantané en exécutant la commande suivante dans le même espace de noms que le PVC :
oc create -f lvms-vol-snapshot.yaml
# oc create -f lvms-vol-snapshot.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Une copie en lecture seule du PVC est créée sous la forme d'un instantané de volume.
4.12.3.7.2. Restauration d'instantanés de volumes dans OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Lorsque vous restaurez un instantané de volume, une nouvelle revendication de volume persistante (PVC) est créée. Le PVC restauré est indépendant de l'instantané de volume et du PVC source.
Conditions préalables
- La classe de stockage doit être la même que celle du PVC source.
La taille du PVC demandé doit être la même que celle du volume source de l'instantané.
ImportantUn instantané doit être restauré sur un PVC de la même taille que le volume source de l'instantané. Si un PVC plus grand est nécessaire, vous pouvez redimensionner le PVC après la restauration réussie de l'instantané.
Procédure
- Identifiez le nom de la classe de stockage du PVC source et le nom de l'instantané du volume.
Enregistrez le fichier YAML suivant dans un fichier portant un nom tel que
lvms-vol-restore.yaml
pour restaurer l'instantané.Exemple YAML pour restaurer un PVC.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la politique en exécutant la commande suivante dans le même espace de noms que l'instantané :
oc create -f lvms-vol-restore.yaml
# oc create -f lvms-vol-restore.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.7.3. Suppression d'instantanés de volumes dans OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous pouvez supprimer les ressources des instantanés de volume et les réclamations de volumes persistants (PVC).
Procédure
Supprimez la ressource de cliché de volume en exécutant la commande suivante :
oc delete volumesnapshot <volume_snapshot_name> -n <namespace>
# oc delete volumesnapshot <volume_snapshot_name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteLorsque vous supprimez une revendication de volume persistant (PVC), les instantanés du PVC ne sont pas supprimés.
Pour supprimer l'instantané de volume restauré, supprimez le PVC créé pour restaurer l'instantané de volume en exécutant la commande suivante :
oc delete pvc <pvc_name> -n <namespace>
# oc delete pvc <pvc_name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.8. Clonage de volume pour OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Un clone est une copie d'un volume de stockage existant qui peut être utilisé comme n'importe quel volume standard.
4.12.3.8.1. Créer des clones de volume dans OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous créez un clone d'un volume pour faire une copie ponctuelle des données. Une revendication de volume persistant (PVC) ne peut pas être clonée avec une taille différente.
Le PVC cloné a un accès en écriture.
Conditions préalables
-
Vous vous êtes assuré que le PVC est dans l'état
Bound
. Cela est nécessaire pour obtenir un instantané cohérent. -
Vous vous êtes assuré que le
StorageClass
est le même que celui du PVC source.
Procédure
- Identifier la classe de stockage du PVC source.
Pour créer un clone de volume, enregistrez le fichier YAML suivant dans un fichier portant un nom tel que
lvms-vol-clone.yaml
:Exemple de YAML pour cloner un volume
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Créez la stratégie dans le même espace de noms que le PVC source en exécutant la commande suivante :
oc create -f lvms-vol-clone.yaml
# oc create -f lvms-vol-clone.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.8.2. Suppression des volumes clonés dans OpenShift à nœud unique Copier lienLien copié sur presse-papiers!
Vous pouvez supprimer les volumes clonés.
Procédure
Pour supprimer le volume cloné, supprimez le PVC cloné en exécutant la commande suivante :
oc delete pvc <clone_pvc_name> -n <namespace>
# oc delete pvc <clone_pvc_name> -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.9. Téléchargement de fichiers journaux et d'informations de diagnostic à l'aide de la collecte obligatoire Copier lienLien copié sur presse-papiers!
Lorsque LVM Storage n'est pas en mesure de résoudre automatiquement un problème, utilisez l'outil must-gather pour collecter les fichiers journaux et les informations de diagnostic afin que vous ou l'assistance Red Hat puissiez examiner le problème et déterminer une solution.
Exécutez la commande must-gather à partir du client connecté au cluster de stockage LVM en exécutant la commande suivante :
oc adm must-gather --image=registry.redhat.io/lvms4/lvms-must-gather-rhel8:v4.12 --dest-dir=<directory-name>
oc adm must-gather --image=registry.redhat.io/lvms4/lvms-must-gather-rhel8:v4.12 --dest-dir=<directory-name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.12.3.10. Fichier YAML de référence du stockage LVM Copier lienLien copié sur presse-papiers!
L'exemple de ressource personnalisée (CR) LVMCluster
décrit tous les champs du fichier YAML.
Exemple LVMCluster CR
- 1
- Les groupes de volumes LVM à créer sur le cluster. Actuellement, une seule adresse
deviceClass
est prise en charge. - 2
- Le nom du groupe de volumes LVM à créer sur les nœuds.
- 3
- Les nœuds sur lesquels créer le groupe de volumes LVM. Si le champ est vide, tous les nœuds sont pris en compte.
- 4
- Liste des exigences relatives aux sélecteurs de nœuds.
- 5
- Liste des chemins d'accès aux périphériques utilisés pour créer le groupe de volumes LVM. Si ce champ est vide, tous les disques inutilisés du nœud seront utilisés.
- 6
- La configuration du thin pool LVM.
- 7
- Le nom du thin pool à créer dans le groupe de volumes LVM.
- 8
- Le pourcentage d'espace restant dans le groupe de volumes LVM qui doit être utilisé pour créer le thin pool.
- 9
- Le facteur par lequel le stockage supplémentaire peut être provisionné par rapport au stockage disponible dans le thin pool.
- 10
- Le statut du site
deviceClass
. - 11
- État du groupe de volumes LVM sur chaque nœud.
- 12
- Liste des périphériques utilisés pour créer le groupe de volumes LVM.
- 13
- Le nœud sur lequel le site
deviceClass
a été créé. - 14
- État du groupe de volumes LVM sur le nœud.
- 15
- Ce champ est obsolète.
- 16
- Le statut du site
LVMCluster
.