Konfigurieren Sie LVM Thin mit ONTAP NVMe/TCP für OpenNebula
Konfigurieren Sie den Logical Volume Manager (LVM)-Datenspeicher für die gemeinsame Nutzung von Speicher über OpenNebula-Hosts mithilfe des NVMe-over-TCP-Protokolls mit NetApp ONTAP. Diese Konfiguration bietet leistungsstarken Block-Level-Speicherzugriff über Standard-Ethernet-Netzwerke mit dem modernen NVMe-Protokoll.
Erste Aufgaben des Virtualisierungsadministrators
Führen Sie diese ersten Aufgaben durch, um OpenNebula-Hosts für die NVMe/TCP-Konnektivität vorzubereiten und die notwendigen Informationen für den Speicheradministrator zu sammeln.
-
Prüfen Sie, ob zwei Linux-VLAN-Schnittstellen verfügbar sind.
-
Führen Sie auf jedem OpenNebula Host den folgenden Befehl aus, um die Host-Initiator-Informationen zu erfassen.
nvme show-hostnqn -
Stellen Sie dem Speicheradministrator die gesammelten Host-NQN-Informationen zusammen mit dem Hostnamen zur Verfügung und fordern Sie einen NVMe-Namespace der erforderlichen Größe an.
Aufgaben des Speicheradministrators
Wenn Sie ONTAP noch nicht kennen, nutzen Sie den System Manager für eine bessere Benutzererfahrung.
-
Stellen Sie sicher, dass die SVM mit aktiviertem NVMe-Protokoll verfügbar ist. Siehe "NVMe-Aufgaben in der ONTAP 9-Dokumentation"Die
-
Erstellen Sie den NVMe-Namespace.
-
Erstellen Sie das Subsystem und weisen Sie es den Host-NQNs zu. Erstellen Sie ein Subsystem für alle OpenNebula Hosts in einem Cluster und auch für Frontend-Server. Frontend-Server sind bei der Subsystemzuordnung optional, aber für Image-Datenspeicher erforderlich.
-
Stellen Sie sicher, dass der Anti-Ransomware-Schutz auf der Registerkarte „Sicherheit“ aktiviert ist.
-
Benachrichtigen Sie den Virtualisierungsadministrator, dass der NVMe-Namespace erstellt wurde.
Abschließende Aufgaben des Virtualisierungsadministrators
Führen Sie diese Aufgaben aus, um den NVMe-Namespace als gemeinsam genutzten LVM-Datenspeicher in OpenNebula zu konfigurieren.
-
Navigieren Sie zu einer Shell auf jedem OpenNebula-Host im Cluster und erstellen Sie die Datei /etc/nvme/discovery.conf. Aktualisieren Sie den Inhalt entsprechend Ihrer Umgebung.
root@onehost01:~# cat /etc/nvme/discovery.conf # Used for extracting default parameters for discovery # # Example: # --transport=<trtype> --traddr=<traddr> --trsvcid=<trsvcid> --host-traddr=<host-traddr> --host-iface=<host-iface> -t tcp -l 1800 -a 172.21.118.153 -t tcp -l 1800 -a 172.21.118.154 -t tcp -l 1800 -a 172.21.119.153 -t tcp -l 1800 -a 172.21.119.154 -
Melden Sie sich beim NVMe-Subsystem an.
nvme connect-all -
Um den NVMe-Namensraum über Neustarts hinweg beizubehalten, aktivieren Sie den nvmf-autoconnect service.
systemctl enable nvmf-autoconnect -
Gerätedetails prüfen und erfassen.
nvme list nvme netapp ontapdevices nvme list-subsys lsblk -N -
Stellen Sie eine SSH-Verbindung zu einem der Frontend-Server her und erstellen Sie eine Konfigurationsdatei basierend auf dem gewünschten Datenspeichertyp. Eine vollständige Attributliste finden Sie "OpenNebula LVM-Dokumentation". Beispieldateien sind unten aufgeführt:
Backup-
Für Restic,
$cat nvmetcp-restic.conf NAME = "Backup-Restic-NVMETCP" TYPE = "BACKUP_DS" DS_MAD = "restic" TM_MAD = "-" RESTIC_PASSWORD = "<restic_password>" RESTIC_SFTP_SERVER = "<backup server>"
-
Für Rsync,
$cat nvmetcp-rsync.conf NAME = "Backup-Rsync-NVMETCP" TYPE = "BACKUP_DS" DS_MAD = "rsync" TM_MAD = "-" RSYNC_USER = "<rsync_user>" RSYNC_HOST = "<backup server>"
Datei$cat nvmetcp-kernel.conf NAME = "File-Kernel-NVMETCP" TYPE = "FILE_DS" DS_MAD = "fs" TM_MAD = "local" SAFE_DIRS = "/var/tmp/files"Bild$cat nvmetcp-image.conf NAME = "Image-NVMETCP01" TYPE = "IMAGE_DS" DS_MAD = "fs" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" LVM_THIN_ENABLE = "yes"System$cat nvmetcp-system.conf NAME = "System-NVMETCP02" TYPE = "SYSTEM_DS" TM_MAD = "fs_lvm_ssh" DISK_TYPE = "block" BRIDGE_LIST = "<space-separated list of OpenNebula hosts>" # If NVMe namespace not presented to frontend hosts LVM_THIN_ENABLE = "yes" -
-
Führen Sie
onedatastore create <configuration file>aus. Notieren Sie sich die nach der Erstellung zurückgegebene Datenspeicher-ID.onedatastore create nvmetcp-system.conf ID: 109
-
Erstellen Sie eine Volume-Gruppe im NVMe-Namespace mit dem
vgcreate <vg_name> <nvme_device>Befehl. Für Image-Datenspeicher kann der Name der Volume-Gruppe beliebig gewählt werden. Für System-Datenspeicher muss der Name der Volume-Gruppe das Formatvg-one-<datastore id>haben. Dies ist erforderlich, damit OpenNebula die richtige Volume-Gruppe für System-Datenspeicher identifizieren kann. Fahren Sie mit den folgenden Schritten fort, wenn Sie einen Backup-/Datei-/Image-Datenspeicher erstellen. Für System-Datenspeicher stoppen Sie hier. -
Erstellen Sie einen logischen Volume-Thin-Pool mit dem
lvcreate -l 100%FREE -n <logical volume name> <volume group name>Befehl. Für Systemdatenspeicher erstellt OpenNebula den LVM-Thin-Pool bei Bedarf automatisch. -
Erstellen Sie ein Dateisystem auf dem logischen Volume mit dem
mkfs.ext4 /dev/<volume group>/<logical volume>-Befehl. Für Systemdatenspeicher ist keine Dateisystemerstellung erforderlich. -
Aktualisieren Sie /etc/fstab oder die Automount-Konfiguration, um den Datenspeicher mit den gewünschten Mount-Optionen einzubinden. Angenommen wird der Standardspeicherort /var/lib/one/datastores. Kann mit
onedatastore show <datastore_id>validiert werden. Falls nicht, prüfen Sie den Parameter DATASTORE_LOCATION in /etc/one/oned.conf. Stellen Sie sicher, dass der <datastore_id> Ordner unter dem Datenspeicherort existiert. Beispielhafte Einträge sind unten aufgeführt:Verwendung von /etc/fstab/dev/<vg name>/<logical volume> /var/lib/one/datastores/<datastore_id> ext4 _netdev,noauto,x-systemd.automount,nofail 0 2Automount verwenden/var/lib/one/datastores/<datastore_id> -fstype=ext4,_netdev,noauto,x-systemd.automount,nofail,rw :/dev/<vg name>/<logical volume> -
Mounten Sie den Datenspeicher mit
mount -aodersystemctl reload autofs-Befehl. -
Überprüfen Sie mit dem Befehl mount, ob der Datenspeicher eingebunden ist, und überprüfen Sie die Datenspeicherkapazität mit dem
onedatastore show <datastore_id>Befehl. -
Stellen Sie sicher, dass der Benutzer und die Gruppe „oneadmin“ Eigentümer des Datenspeicherordners sind. Passen Sie die Berechtigungen mit dem
chown -R oneadmin:oneadmin /var/lib/one/datastores/<datastore_id>Befehl an.