Installer et configurer un nœud de stockage

Installer et configurer un nœud de stockage

Cette section décrit comment installer et configurer les nœuds de stockage pour le service de Stockage Bloc. Pour simplifier, cette configuration référence un nœud de stockage avec un device bloc local vide. Les instructions indiquent /dev/sdb, mais vous pouvez utiliser une valeur différente correspondant à votre nœud en particulier.

Le service provisionne des volumes logiques sur ce device en utilisant le driver LVM et les fournit aux instances via le transport iSCSI. Vous pouvez suivre ces instructions, à peu de choses près, pour redimensionner horizontalement votre environnement en y ajoutant des nœuds de stockage.

Pré-requis

Avant d’installer et configurer le service de Stockage Bloc sur le nœud de stockage, vous devez préparer le device de stockage.

Note

Effectuer ces opérations sur le nœud de stockage.

  1. Installer les packages d’utilitaires :

    # apt-get install lvm2
    

    Note

    Certaines distributions incluent LVM par défaut.

  2. Créer le volume physique LVM /dev/sdb:

    # pvcreate /dev/sdb
    Physical volume "/dev/sdb" successfully created
    
  3. Créer le groupe de volumes LVM cinder-volumes:

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

    Le service de Stockage Bloc crée des volumes logiques dans ce groupe de volumes.

  4. Seules les instances peuvent accéder aux volumes de Stockage Bloc. Néanmoins, le système d’exploitation sous-jacent gère les devices associés aux volumes. Par défaut, l’outil d’analyse des volumes LVM scanne le répertoire /dev pour trouver des devices de stockage bloc qui contiennent des volumes. Si les projets utilisent LVM sur leurs volumes, l’outil d’analyse détecte ces volumes et essaie de les mettre en cache, ce qui peut causer différents problèmes avec à la fois le système d’exploitation sous-jacent et les volumes des projets. Vous devez reconfigurer LVM pour analyser seulement les devices qui contiennent le groupe de volumes``cinder-volume``. Éditez le fichier /etc/lvm/lvm.conf et effectuez les opérations suivantes :

    • Dans la section devices, ajouter un filtre qui accepte le device /dev/sdb et rejette tous les autres devices :

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

      Chaque élément du tableau de filtre commence par a pour accepter ou r pour rejeter et comporte une expression régulière pour le nom de device. Le tableau doit se terminer par r/.*/ pour rejeter tous les devices restants. Vous pouvez utiliser la commande vgs -vvvv pour tester les filtres.

      Avertissement

      Si vos nœuds de stockage utilisent LVM sur leur disque système, vous devez aussi ajouter le device associé au filtre. Par exemple, si le device /dev/sda contient le système d’exploitation :

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

      De la même façon, si vos nœuds compute utilisent LVM sur leur disque système, vous devez aussi modifier le filtre dans le fichier /etc/lvm/lvm.conf sur ces nœuds pour inclure uniquement le disque système. Par exemple, si le device /dev/sda contient le système d’exploitation :

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

Installer et configurer les composants

  1. Installer les packages :

    # apt-get install cinder-volume
    
  1. Éditer le fichier /etc/cinder/cinder.conf et réaliser les actions suivantes :

    • Dans la section [database], configurer l’accès à la base de données :

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

      Remplacer CINDER_DBPASS par le mot de passe choisi pour la base de données du Stockage Bloc.

    • Dans les sections [DEFAULT] et [oslo_messaging_rabbit], configurer l’accès au service de files de messages RabbitMQ:

      [DEFAULT]
      ...
      rpc_backend = rabbit
      
      [oslo_messaging_rabbit]
      ...
      rabbit_host = controller
      rabbit_userid = openstack
      rabbit_password = RABBIT_PASS
      

      Remplacez RABBIT_PASS par le mot de passe que vous avez attribué au compte openstack dans RabbitMQ.

    • Dans les sections [DEFAULT] et [keystone_authtoken], configurer l’accès au service d’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
      

      Remplacer CINDER_PASS par le mot de passe choisi pour l’utilisateur cinder dans le service d’Identité.

      Note

      Commenter ou supprimer toute autre option dans la section [keystone_authtoken].

    • Dans la section [DEFAULT], configurer l’option my_ip:

      [DEFAULT]
      ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      

      Remplacer MANAGEMENT_INTERFACE_IP_ADDRESS par l’adresse IP de l’interface du réseau de management sur le nœud de stockage, généralement 10.0.0.41 pour le premier nœud dans l’ exemple d’architecture.

    • Dans la section [lvm], configurer le backend LVM avec le driver LVM, le groupe de volumes cinder-volumes, le protocole iSCSI et le service iSCSI approprié :

      [lvm]
      ...
      volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
      volume_group = cinder-volumes
      iscsi_protocol = iscsi
      iscsi_helper = tgtadm
      
    • Dans la section [DEFAULT], activer le backend LVM :

      [DEFAULT]
      ...
      enabled_backends = lvm
      

      Note

      Les noms des backends sont arbitraires. Par exemple, ce guide utilise le nom du driver comme nom de backend.

    • Dans la section [DEFAULT], configurer l’emplacement de l’API du service Image :

      [DEFAULT]
      ...
      glance_api_servers = http://controller:9292
      
    • Dans la section [oslo_concurrency], configurer le chemin du verrou :

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

Finaliser l’installation

  1. Redémarrer le service de volume du Stockage Bloc, ainsi que ses dépendances :

    # 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.