Einführung

Der Shared File Systems Service (Manila) soll auf einem Einzelknoten oder über mehrere Knoten laufen. Der Shared File Systems Service besteht aus vier Hauptdiensten, die denen des Block Storage Service ähneln:

  • manila-api

  • manila-scheduler

  • manila-share

  • manila-data

manila-api

Der Dienst bietet eine stabile RESTful API. Der Dienst authentifiziert und leitet Anfragen im gesamten Shared Filesystem Service. Es ist python-manilaclient, um mit der API zu interagieren. Weitere Informationen zur API der Shared File Systems finden Sie in der API der OpenStack Shared File Systems <https://docs.openstack.org/api-ref/shared-file-system/>`_.

manila-share

Verantwortlich für die Verwaltung von Shared File Service Geräten, speziell die Back-End-Geräte.

manila-scheduler

Verantwortlich für die Planung und Weiterleitung von Anfragen an den entsprechenden ``Manila-Share``Service. Es tut das, indem Sie ein Back-End auswählen, während Sie alle außer einem Back-End filtern.

manila-data

Dieser Dienst ist verantwortlich für die Verwaltung von Datenoperationen, die eine lange Zeit dauern können, um andere Dienste zu vervollständigen und zu blockieren, wenn sie nicht separat behandelt werden.

Der Shared File Systems-Dienst verwendet eine SQL-basierte zentrale Datenbank, die von allen Shared File Systems-Diensten im System gemeinsam genutzt wird. Es kann jeden SQL-Dialekt verwenden, der von ORM SQLALchemy unterstützt wird, aber nur mit MySQL- und PostgreSQL-Datenbanken getestet wird.

Mit SQL ist der Shared File Systems Service ähnlich wie bei anderen OpenStack-Diensten und kann mit jeder OpenStack-Bereitstellung verwendet werden. Weitere Informationen zur API finden Sie in der API der OpenStack Shared File Systems <https://docs.openstack.org/api-ref/shared-file-system/> _ Beschreibung. Weitere Informationen zur CLI-Nutzung und Konfiguration finden Sie unter `Shared File Systems Cloud Administrative Guide <https://docs.openstack.org/admin-guide/shared_file_systems.html>`_.

Auf dem Bild unten sehen Sie, wie verschiedene Teile des Shared File System Service miteinander interagieren.

../_images/manila-intro.png

Neben den bereits beschriebenen Diensten sehen Sie zwei weitere Entitäten auf dem Bild: python-manilaclient und storage controller.

python-manilaclient

Befehlszeilenschnittstelle, um mit dem Shared File Systems Service über `` manila-api``und auch ein Python-Modul zu interagieren, um programmgesteuert

Speichercontroller

In der Regel ein Metall-Box mit Spinndisketten, Ethernet-Ports und eine Art von Software, die Netzwerk-Clients erlaubt, Dateien auf Festplatten zu lesen und zu schreiben. Es gibt auch Software-only-Speicher-Controller, die auf beliebigen Hardware laufen, Cluster-Controller, die ausgeführt werden können, ermöglichen es, dass mehrere physikalische Geräte als ein einziger Speichercontroller oder rein virtuelle Speichercontroller erscheinen.

Eine Freigabe ist ein entferntes, einbaufähiges Dateisystem. Sie können eine Freigabe einhängen und Freigabe von mehreren Hosts von mehreren Benutzern zu einem Zeitpunkt teilen.

Der Shared File Systems Service kann mit verschiedenen Netzwerktypen arbeiten: flat, VLAN, VXLAN oder GRE und unterstützt segmentierte Netzwerke. Es gibt auch anders network plug-ins , die eine Vielzahl von Integrationsansätzen mit den Netzwerkdiensten bieten, die mit OpenStack verfügbar sind.

Es gibt eine große Anzahl von Freigabe-Treiber, die von verschiedenen Anbietern erstellt werden, die unterschiedliche Hardware-Speicherlösungen unterstützen, z.B. NetApp Clustered Data ONTAP (cDOT) Treiber, Huawei NAS Driver oder GlusterFS Driver. Jeder Share-Treiber ist eine Python-Klasse, die für ein Back-End gesetzt werden kann und im Back-End ausgeführt wird, um Share-Operationen zu verwalten, von denen einige herstellerspezifisch sein können. Das Backend ist eine Instanz des Manila-Share Service.

Die Konfigurationsdaten der Clients für die Authentifizierung und die Autorisierung können gespeichert werden durch security services Solche Protokolle wie LDAP-, Kerberos- oder Microsoft Active Directory-Authentifizierungsdienst können konfiguriert und verwendet werden.

Sofern es nicht ausdrücklich in der ``policy.json``geändert wird, kann entweder ein Administrator oder der Tenant, der eine Freigabe besitzt, mit Zugriff auf die Freigabe verwalten. Die Zugriffsverwaltung erfolgt durch die Erstellung von Zugriffsregeln mit Authentifizierung über IP-Adresse, Benutzer-, Gruppen- oder TLS-Zertifikate. Verfügbare Authentifizierungsmethoden hängen davon ab, welchen Share-Treiber und Sicherheitsdienst Sie konfigurieren und verwenden.

Bemerkung

Verschiedene Treiber unterstützen unterschiedliche Zugriffsoptionen, je nachdem, welches freigegebene Dateisystemprotokoll verwendet wird. Unterstützte freigegebene Dateisystemprotokolle sind NFS, CIFS, GlusterFS und HDFS. Beispielsweise unterstützt der Generic (Block Storage als Backend)

Als Administrator können Sie Freigabetypen erstellen, die es dem Scheduler ermöglichen, Backends zu filtern, bevor Sie eine Freigabe erstellen. Freigabetypen haben zusätzliche Spezifikationen, die Sie für den Scheduler festlegen können, um zu filtern und zu beenden, so dass eine geeignete für einen Benutzer ausgewählt wird, der die Freigabeerstellung anfordert. Aktien und Aktienarten können als öffentlich oder privat angelegt werden. Diese Sichtbarkeit legt fest, ob andere Tenant diese Objekte sehen und mit ihnen betreiben können oder nicht. Ein Administrator kann hinzufügen:ref:`Zugriff auf die privaten Freigabetypen <shared_fs_share_types_acl>`für bestimmte Benutzer oder Tenant im Identity Service. So können Benutzer, denen Sie Zugriff gewährt haben, verfügbare Freigabetypen anzeigen und mit ihnen Aktien erstellen.

Berechtigungen für API-Aufrufe für verschiedene Benutzer und ihre Rollen werden bestimmt durch:ref:`policy <shared_fs_policies>`wie in anderen OpenStack-Diensten.

Der Identity-Dienst kann für die Authentifizierung im Shared File Systems Service verwendet werden. Siehe Details der Identity Service Security in ../ identity Abschnitt.

Allgemeine Sicherheitsinformationen

Ähnlich wie bei anderen OpenStack-Projekten ist der Shared File Systems Service mit dem Identity Service registriert, so dass Sie API Endpunkte des Share Service v1 und v2 mit manila endpoints Befehl finden können:

$ manila endpoints
+-------------+-----------------------------------------+
| manila      | Value                                   |
+-------------+-----------------------------------------+
| adminURL    | http://172.18.198.55:8786/v1/20787a7b...|
| region      | RegionOne                               |
| publicURL   | http://172.18.198.55:8786/v1/20787a7b...|
| internalURL | http://172.18.198.55:8786/v1/20787a7b...|
| id          | 82cc5535aa444632b64585f138cb9b61        |
+-------------+-----------------------------------------+

+-------------+-----------------------------------------+
| manilav2    | Value                                   |
+-------------+-----------------------------------------+
| adminURL    | http://172.18.198.55:8786/v2/20787a7b...|
| region      | RegionOne                               |
| publicURL   | http://172.18.198.55:8786/v2/20787a7b...|
| internalURL | http://172.18.198.55:8786/v2/20787a7b...|
| id          | 2e8591bfcac4405fa7e5dc3fd61a2b85        |
+-------------+-----------------------------------------+

Standardmäßig lauscht der API-Dienst der Shared File Systems nur auf dem Port 8786 mit ``tcp6``Typ, der sowohl IPv4 als auch IPv6 unterstützt.

Bemerkung

Der Port 8786 ist der Standard-Port für den Shared File Systems Service. Es kann in einen anderen Port geändert werden, aber diese Änderung sollte auch in der Konfigurationsdatei zur Option `` osapi_share_listen_port``vorgenommen werden, die standardmäßig 8786 ist.

Im /etc/manila/ Verzeichnis finden Sie mehrere Konfigurationsdateien:

api-paste.ini
manila.conf
policy.json
rootwrap.conf
rootwrap.d

./rootwrap.d:
share.filters

It is recommended that you configure the Shared File Systems service to run under a non-root service account, and change file permissions so that only the system administrator can modify them. The Shared File Systems service expects that only administrators can write to configuration files and services can only read them through their group membership in manila group. Others must not be able to read these files because the files contain admin passwords for different services.

Checks überprüfen Check-Shared-01: Ist User/Group Besitz von Konfigurationsdateien auf root/manila gesetzt? und Check-Shared-02: Sind strenge Berechtigungen für Konfigurationsdateien festgelegt? aus der Checkliste, um zu überprüfen, ob die Berechtigungen richtig eingestellt sind.

Bemerkung

Die Konfiguration für manila-rootwrap in der Datei rootwrap.conf``und die manila-rootwrap-Befehlsfilter für Freigabeknoten in der Datei `` rootwrap.d/share.filters sollte im Besitz und nur schreibbar sein für root-Benutzer.

Tipp

Die Manila-Konfigurationsdatei ``manila.conf``kann überall platziert werden. Der Pfad ``/etc/manila/manila.conf``wird standardmäßig erwartet.