Installieren und Konfigurieren eines Speicherknotens

Installieren und Konfigurieren eines Speicherknotens

Diese Sektion beschreibt wie Speicher-Knoten für den Block-Speicherdienst zu installieren und konfigurieren sind. Zur Vereinfachung referenziert diese Konfiguration auf einen Speicher-Knoten mit einem leeren lokalen Block-Speicher-Gerät. DIe Anleitung benutzt /dev/sdb, aber Sie können andere Werte für Ihren Knoten verwenden.

Der Dienst sieht logische Datenträger auf diesem Gerät vor, die den Treiber LVM verwenden. Die Datenträger werden den Instanzen mittels iSCSI bereitgestellt. Um die Umgebung mit zusätzlichen Storage Nodes horizontal zu skalieren, können Sie mit kleineren Anpassungen diese Anleitung befolgen.

Voraussetzungen

Bevor Sie den Block-Speicherdienst auf dem Speicher-Knoten installieren und konfigurieren, müssen SIe das Speichergerät vorbereiten.

Bemerkung

Führen Sie diese Schritte auf dem Storage Node aus.

  1. Installieren Sie die unterstützenden Werkzeugpakete:

    Bemerkung

    Einige Distributionen beinhalten LVM standardmäßig.

  2. Erstellen Sie den LVM physikalischen Datenträger /dev/sdb:

    # pvcreate /dev/sdb
    
    Physical volume "/dev/sdb" successfully created
    
  3. Erstellen Sie die LVM Datenträgergruppe cinder-volumes:

    # vgcreate cinder-volumes /dev/sdb
    
    Volume group "cinder-volumes" successfully created
    

    Der Block-Speicher-Dienst erstellt logische Datenträger in dieser Datenträger-Gruppe.

  4. Nur Instanzen haben Zugriff auf Block-Storage-Datenträger. Das darunterliegende Betriebssystem verwaltet die den Datenträgern zugewiesenen Geräte. Standardmäßig scannt das LVM Datenträger Scan-Werkzeug das Verzeichnis /dev nach Block-Storage-geräten, die Datenträger enthalten. Wenn Projekte LVM auf ihren Datenträgern verwenden, erkennt das Scan-Werkzeug diese und speichert sie zwischen, was zu verschiedenen Problemen sowohl im darunterliegenden Betriebssystem als auch auf dem Projektdatenträger führen kann. Sie müssen LVM so konfigurieren, dass nur Geräte gescannt werden, die die Datenträgergruppe cinder-volumes enthalten. Bearbeiten Sie die Datei /etc/lvm/lvm.conf und vervollständigen Sie folgende Aktionen:

    • Fügen Sie in der Sektion devices einen Filter hinzu, der das Gerät /dev/sdb akzeptiert und alle andere Geräte abweist.

      devices {
      ...
      filter = [ "a/sdb/", "r/.*/"]
      

      Jeder Eintrag im Filter beginnt mit einem a für accept oder r für reject und beinhaltet einen regulären Ausdruck für den Gerätenamen. Der Filtereintrag muss zum Abweisen aller übrigen Geräte mit r/.*/ enden. Sie können den Befehl vgs -vvvv zum Testen der Filter verwenden.

      Warnung

      Wenn Ihre Storage Nodes LVM für die Betriebssystemfestplatten verwenden, müssen Sie zusätzlich das entsprechende Gerät zum Filter hinzufügen. Zum Beispiel, wenn das Gerät /dev/sda das Betriebssystem enthält:

      filter = [ "a/sda/", "a/sdb/", "r/.*/"]
      

      Gleichermaßen müssen Sie den Filter in der Datei /etc/lvm/lvm.conf auf allen betroffenen Nodes anpassen , um nur die Betriebssystemfestplatten einzuschliessen, wenn Ihre Compute Nodes LVM für die Betriebssystemfestplatten verwenden. Zum Beispiel, wenn das Gerät /dev/sda Ihr Betriebssystem enthält:

      filter = [ "a/sda/", "r/.*/"]
      

Installieren und konfigurieren von Komponenten

  1. Installieren Sie die Pakete:

    # apt install cinder-volume
    
  1. Bearbeiten Sie die Datei /etc/cinder/cinder.conf und vervollständigen Sie folgende Aktionen:

    • Konfigurieren Sie den Datenbankzugriff in der Sektion [database] :

      [database]
      ...
      connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder
      

      Ersetzen Sie CINDER_DBPASS durch das Passwort, das Sie für die Block-Storage-Datenbank gewählt haben.

    • In der [DEFAULT] Sektion, konfigurieren Sie den RabbitMQ Nachrichtenwarteschlangen-Zugriff:

      [DEFAULT]
      ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller
      

      Ersetzen Sie RABBIT_PASS mit dem Passwort, welches Sie für den openstack Account in RabbitMQ gewählt haben.

    • Konfigurieren Sie den Identitätsdienst-Zugriff in den Sektionen [DEFAULT] und [keystone_authtoken]:

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [keystone_authtoken]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = cinder
      password = CINDER_PASS
      

      Ersetzen Sie CINDER_PASS durch das Passwort, das Sie für den Benutzer cinder im Identitätsdienst vergeben haben.

      Bemerkung

      Alle anderen Optionen in der Sektion [keystone_authtoken] müssen auskommentiert oder gelöscht werden.

    • Konfigurieren Sie in der Sektion``[DEFAULT]`` die Option my_ip:

      [DEFAULT]
      ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      Ersetzen Sie MANAGEMENT_INTERFACE_IP_ADDRESS durch die IP-Adresse der Management-Netzwerkschnittstelle Ihres Storage Nodes, typischerweise 10.0.0.41 für den ersten Node in der Beispiel-Architektur.

    • Aktivieren Sie das LVM-Backend in der Sektion [DEFAULT]:

      [DEFAULT]
      ...
      enabled_backends = lvm
      

      Bemerkung

      Backend-Namen sind frei wählbar. Als Beispiel verwendet diese Anleitung den Namen des Treibers als Backend-Namen.

    • Konfigurieren Sie den Ort des Abbilddienstes in der Sektion [DEFAULT]:

      [DEFAULT]
      ...
      glance_api_servers = http://controller:9292
      
    • Konfigurieren Sie den Sperrpfad in der Sektion [oslo_concurrency]:

      [oslo_concurrency]
      ...
      lock_path = /var/lib/cinder/tmp
      

Installation abschließen

  1. Starten Sie den Block-Storage-Datenträgerdienst mit seinen Abhängigkeiten neu:

    # service tgt restart
    # service cinder-volume restart
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.