Configurer LVM Thin avec ONTAP iSCSI pour OpenNebula
Configurez un datastore Logical Volume Manager (LVM) pour le stockage partagé entre les hôtes OpenNebula en utilisant le protocole iSCSI avec NetApp ONTAP. Cette configuration permet un accès au stockage bloc sur les réseaux Ethernet standard avec prise en charge du multipath.
Tâches initiales de l'administrateur de virtualisation
Effectuez ces tâches initiales pour préparer les hôtes OpenNebula à la connectivité iSCSI et recueillir les informations nécessaires pour l’administrateur de stockage.
-
Vérifiez que deux interfaces VLAN Linux sont disponibles.
-
Assurez-vous que les utilitaires multipath-tools et iSCSI initiator sont installés sur tous les hôtes OpenNebula et démarrent au démarrage.
Debian/Ubuntuapt list | grep multipath-tools # If need to install, execute the following line. apt-get install multipath-tools open-iscsi # If /etc/multipath.conf is not present, first make sure the multipathd service is started. systemctl enable --now multipathd systemctl enable --now open-iscsiRHEL/AlmaLinuxdnf list installed | grep device-mapper-multipath # If need to install, execute the following line. dnf install device-mapper-multipath iscsi-initiator-utils # If /etc/multipath.conf is not present, first make sure the multipathd service is started. systemctl enable --now multipathd systemctl enable --now iscsid -
Collectez l'IQN de l'hôte iSCSI pour tous les hôtes OpenNebula et fournissez-le à l'administrateur de stockage.
cat /etc/iscsi/initiator.name
Si vous débutez avec ONTAP, utilisez System Manager pour une meilleure expérience.
-
Assurez-vous que le SVM est disponible avec le protocole iSCSI activé. Suivre "Documentation ONTAP 9".
-
Créez deux LIF par contrôleur dédiées à iSCSI. Deux LIF par contrôleur sont recommandées pour la redondance et les performances multipath. Assurez-vous que les LIF sont créées sur les interfaces VLAN configurées sur les hôtes OpenNebula. Les trames jumbo (MTU 9000) sont recommandées pour de meilleures performances.

-
Créez des LUN et présentez-les aux initiateurs iSCSI hôtes. En général, un igroup est créé pour un cluster OpenNebula. Incluez les serveurs frontaux et les hôtes hyperviseurs dans le même igroup afin de prendre en charge à la fois les banques de données Image et System.
-
Informez l'administrateur de virtualisation que le LUN a été créé.
Tâches finales de l'administrateur de virtualisation
Effectuez ces tâches pour configurer le LUN iSCSI en tant que banque de données LVM partagée dans OpenNebula.
-
Connectez-vous en SSH à l'un des serveurs frontaux et découvrez tous les portails iSCSI Lif en fournissant l'une des adresses iSCSI data lif.
iscsiadm -m discovery -t sendtargets -p <iscsi data lif address> iscsiadm -m node iscsiadm -m node -l iscsiadm -m session -
Exécutez
rescan-scsi-bus.shouecho "- - -" > /sys/class/scsi_host/host*/scanpour analyser à nouveau le bus SCSI et détecter les nouveaux LUN. -
Vérifiez que le LUN est visible sur tous les hôtes OpenNebula à l'aide de
lsblk -Sou de la commande fdisk -l. -
Exécutez
iscsiadm -m session -P 3pour récupérer la correspondance entre le nom du LUN et le nom du périphérique. -
Ajoutez le périphérique à la configuration multipath en exécutant
multipath -a /dev/<device_name>. Ensuite, exécutezmultipath -rpour recharger la configuration multipath. Vérifiez la configuration multipath en exécutant la commandemultipath -ll. -
Créez un fichier de configuration en fonction du type de Datastore souhaité. Pour obtenir la liste complète des attributs, consultez "OpenNebula documentation LVM". Des exemples de fichiers sont présentés ci-dessous :
Sauvegarde-
Pour Restic,
$cat iscsi-restic.conf NAME = "Backup-Restic-iSCSI01" TYPE = "BACKUP_DS" DS_MAD = "restic" TM_MAD = "-" RESTIC_PASSWORD = "<restic_password>" RESTIC_SFTP_SERVER = "<backup server>"
-
Pour Rsync,
$cat iscsi-rsync.conf NAME = "Backup-Rsync-iSCSI02" TYPE = "BACKUP_DS" DS_MAD = "rsync" TM_MAD = "-" RSYNC_USER = "<rsync_user>" RSYNC_HOST = "<backup server>"
Fichier$cat iscsi-kernel.conf NAME = "File-Kernel-iSCSI03" TYPE = "FILE_DS" DS_MAD = "fs" TM_MAD = "local" SAFE_DIRS = "/var/tmp/files"Image$cat iscsi-image.conf NAME = "Image-iSCSI04" TYPE = "IMAGE_DS" DS_MAD = "fs" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" LVM_THIN_ENABLE = "yes"Système$cat iscsi-system.conf NAME = "System-iSCSI05" TYPE = "SYSTEM_DS" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" BRIDGE_LIST = "<space-separated list of OpenNebula hosts>" # If LUN not presented to frontend hosts LVM_THIN_ENABLE = "yes" -
-
Exécutez
onedatastore create <configuration file>. Notez l’identifiant du datastore renvoyé après la création.onedatastore create iscsi-system.conf ID : 106
-
Créez un groupe de volumes sur le LUN iSCSI à l'aide de la commande
vgcreate <vg_name> <multipath_device>. Pour les banques de données d'images, le nom du groupe de volumes peut être choisi librement. Pour les banques de données système, le nom du groupe de volumes doit être au formatvg-one-<datastore id>. Ceci est nécessaire pour que OpenNebula identifie le groupe de volumes correct pour les banques de données système. Poursuivez les étapes suivantes si vous créez une banque de données de sauvegarde, de fichiers ou d'images. Pour les banques de données système, arrêtez-vous ici. -
Créez un pool de volumes logiques léger à l'aide de la commande
lvcreate -l 100%FREE -n <logical volume name> <volume group name>. Pour les banques de données système, OpenNebula crée automatiquement le pool LVM léger lorsque cela est nécessaire. -
Créez un système de fichiers sur le volume logique à l'aide de la commande
mkfs.ext4 /dev/<volume group>/<logical volume>. Les banques de données système ne nécessitent pas la création d'un système de fichiers. -
Mettez à jour /etc/fstab ou la configuration d'automount pour monter le datastore avec les options de montage souhaitées. En supposant que l'emplacement par défaut du datastore est /var/lib/one/datastores. Peut être validé avec
onedatastore show <datastore_id>. Sinon, vérifiez le paramètre DATASTORE_LOCATION dans /etc/one/oned.conf. Assurez-vous que le dossier <datastore_id> existe sous l'emplacement des datastores. Des exemples d'entrées sont présentés ci-dessous :Utilisation de /etc/fstab/dev/<vg name>/<logical volume> /var/lib/one/datastores/<datastore_id> ext4 _netdev,noauto,x-systemd.automount,nofail 0 2Utilisation du montage automatique/var/lib/one/datastores/<datastore_id> -fstype=ext4,_netdev,noauto,x-systemd.automount,nofail,rw :/dev/<vg name>/<logical volume> -
Montez le datastore à l'aide de
mount -aousystemctl reload autofscommande. -
Vérifiez que la banque de données est montée avec la commande mount et vérifiez la capacité de la banque de données avec la commande
onedatastore show <datastore_id>. -
Assurez-vous que l'utilisateur et le groupe oneadmin sont propriétaires du dossier du datastore. Ajustez les permissions à l'aide de la commande
chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>.