Instalace a nastavení uzlu úložiště

Instalace a nastavení uzlu úložiště

Tato část popisuje jak nainstalovat a nastavit uzly úložiště pro službu blokového úložiště. Pro zjednodušení toto nastavení pracuje s jedním uzlem úložiště obsahující prázdné místní zařízení blokového úložiště. Pokyny využívají /dev/sdb, ale tuto hodnotu můžete nahradit jinou, podle vašich konkrétních potřeb.

The service provisions logical volumes on this device using the LVM driver and provides them to instances via iSCSI transport. You can follow these instructions with minor modifications to horizontally scale your environment with additional storage nodes.

Požadavky

Před instalací a nastavením služby blokového úložiště na uzlu úložiště je třeba připravit úložné zařízení.

Poznámka

Proveďte tyto kroky na uzlu úložiště.

  1. Nainstalujte balíčky s podpůrnými nástroji:

    • Nainstalujte balíčky LVM:

      # zypper install lvm2
      
    • (Nepovinné) Pokud budete chtít používat obrazy v neprostém formátu, jako např. QCOW2 a VMDK, nainstalujte balíček QEMU:

      # zypper install qemu
      

    Poznámka

    Některé distribuce jsou vydávány s již nainstalovaným balíčkem LVM.

  2. Vytvořte fyzický svazek LVM /dev/sdb:

    # pvcreate /dev/sdb
    
    Physical volume "/dev/sdb" successfully created
    
  3. Vytvořte skupinu svazku LVM cinder-volumes:

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

    Služba blokového úložiště bude vytvářet svazky v této skupině.

  4. Only instances can access Block Storage volumes. However, the underlying operating system manages the devices associated with the volumes. By default, the LVM volume scanning tool scans the /dev directory for block storage devices that contain volumes. If projects use LVM on their volumes, the scanning tool detects these volumes and attempts to cache them which can cause a variety of problems with both the underlying operating system and project volumes. You must reconfigure LVM to scan only the devices that contain the cinder-volumes volume group. Edit the /etc/lvm/lvm.conf file and complete the following actions:

    • V části devices přidejte filtr, který odfiltruje všechna zařízení mimo /dev/sdb:

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

      Každá položka v poli filtru začíná a pro přijetí a r pro **odmítnutí* následovaná regulárním výrazem pro název zařízení. Pole musí být ukončeno r/.*/ pro odmítnutí všech zbývajících zařízení. Pro vyzkoušení filtrů můžete použít příkaz vgs -vvvv.

      Varování

      Pokud vaše uzly úložiště využívají LVM na disku s operačním systémem, musíte také přidat přidružené zařízení do filtru. Například, pokud zařízení /dev/sda obsahuje operační systém:

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

      Podobně, pokud vaše výpočtové uzly využívají LVM na disku s operačním systémem, musíte také změnit filtr v souboru /etc/lvm/lvm.conf v těchto uzlech, aby byl zahrnut pouze disk s operačním systémem. Například, pokud zařízení /dev/sda obsahuje operační systém:

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

Instalace a nastavení součástí

  1. Nainstalujte balíčky:

    # zypper install openstack-cinder-volume tgt
    
  1. Upravte soubor /etc/cinder/cinder.conf a proveďte následující úkony:

    • V části [database] nastavte přístup k databázi:

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

      Nahraďte CINDER_DBPASS vámi zvoleným heslem pro databázi blokového úložiště.

    • In the [DEFAULT] section, configure RabbitMQ message queue access:

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

      Nahraďte RABBIT_PASS Vámi zvoleným heslem pro účet openstack v RabbitMQ.

    • V částech [DEFAULT] a [keystone_authtoken] nastavte přístup ke službě identit:

      [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
      

      Nahraďte CINDER_PASS vámi zvoleným heslem pro uživatele cinder ve službě identit.

      Poznámka

      Okomentujte nebo odstraňte všechny ostatní možnosti v části [keystone_authtoken].

    • V části [DEFAULT] nastavte volbu my_ip:

      [DEFAULT]
      # ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      Nahraďte MANAGEMENT_INTERFACE_IP_ADDRESS IP adresou síťového rozhraní pro správu ve vašem uzlu úložiště. Standardně 10.0.0.41 pro první uzel v ukázkové architektuře.

    • V části [lvm] nastavte podpůrnou vrstvu LVM používající ovladač LVM, skupinou svazku cinder-volumes, protokolem iSCSI a odpovídající službou iSCSI:

      [lvm]
      # ...
      volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
      volume_group = cinder-volumes
      iscsi_protocol = iscsi
      iscsi_helper = tgtadm
      
    • V části [DEFAULT] povolte podpůrnou vrstvu LVM:

      [DEFAULT]
      # ...
      enabled_backends = lvm
      

      Poznámka

      Název podpůrné vrstvy může být libovolný. Například v tomto průvodci je využit název ovladače také v podpůrné vrstvě.

    • In the [DEFAULT] section, configure the location of the Image service API:

      [DEFAULT]
      # ...
      glance_api_servers = http://controller:9292
      
    • V části [oslo_concurrencyservice_credentials] nastavte cestu pro zámky:

      [oslo_concurrency]
      # ...
      lock_path = /var/lib/cinder/tmp
      
  1. Create the /etc/tgt/conf.d/cinder.conf file with the following data:

    include /var/lib/cinder/volumes/*
    

Dokončení instalace

  • Spusťte službu svazku blokového úložiště, včetně jejích závislostí, a nastavte ji pro spouštění při zavedení systému:

    # systemctl enable openstack-cinder-volume.service tgtd.service
    # systemctl start openstack-cinder-volume.service tgtd.service
    
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.