Cette section décrit comment installer et configurer le service Compute sur un nœud compute. Le service supporte plusieurs hyperviseurs pour déployer les instances ou VMs. Pour simplifier, cette configuration utilise l’hyperviseur QEMU avec l’extension KVM sur des nœuds compute qui supportent l’accélération hardware pour les machines virtuelles. Sur du matériel ancien, cette configuration utilise l’hyperviseur générique QEMU. Vous pouvez aussi suivre ces instructions avec peu de modifications pour scaler horizontalement votre environnement avec des nœuds compute additionnels.
Note
Cette section assume que vous suiviez pas à pas les instructions dans ce guide pour configurer le premier nœud compute. Si vous souhaitez configurer des nœuds compute supplémentaires, préparez-les de la même façon que le premier nœud compute dans la section exemples d’architecture. Chaque nœud supplémentaire nécessite une adresse IP unique.
Note
Les fichiers de configuration par défaut diffèrent par distribution. Vous pouvez être amenés à ajouter ces sections et options plutôt que de modifier des sections et options existantes. De plus, une ellipse (...) dans l’extrait de configuration indique d’éventuelles options de configuration par défaut que vous devriez conserver.
Installez les paquets:
# zypper install openstack-nova-compute genisoimage kvm libvirt
Editer le fichier /etc/nova/nova.conf et effectuer les modifications suivantes:
Dans les sections [DEFAULT] et [oslo_messaging_rabbit], configurer l’accès à la file de messages RabbitMQ:
[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS
Remplacer RABBIT_PASS par le mot de passe choisi pour le compte openstack dans RabbitMQ.
Dans la section [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
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = nova
password = NOVA_PASS
Remplacer NOVA_PASS par le mot de passe choisi pour l’utilisateur nova 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 réseau de management de votre nœud compute, généralement 10.0.0.31 pour le premier nœud dans l’exemple d’architecture.
Dans la section [DEFAULT], activer le support du service de Réseau:
[DEFAULT]
...
network_api_class = nova.network.neutronv2.api.API
security_group_api = neutron
linuxnet_interface_driver = nova.network.linux_net.NeutronLinuxBridgeInterfaceDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
Note
Par défaut, Compute utilise un service de firewall interne. Comme le service Réseau inclut un service de firewall, vous devez désactiver le service de firewall Compute en utilisant le driver firewall nova.virt.firewall.NoopFirewallDriver.
Dans la section [vnc], activer et configurer l’accès à la console distante:
[vnc]
...
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = $my_ip
novncproxy_base_url = http://controller:6080/vnc_auto.html
Le composant serveur écoute sur toutes les adresses IP et le composant proxy écoute seulement sur l’adresse IP de l’interface de management du nœud compute. L’URL de base indique l’emplacement où vous pouvez utiliser un navigateur web pour accéder aux consoles distantes des instances sur ce nœud compute.
Note
Si le navigateur web pour accéder aux consoles distantes tourne sur un hôte qui ne peut pas résoudre le nom de host du controller, vous devez remplacer controller par l’adresse IP de l’interface de management de votre nœud contrôleur.
Dans la section [glance], configurer l’emplacement du service d’Image:
[glance]
...
host = controller
Dans la section [oslo_concurrency], configurer le chemin des verrous:
[oslo_concurrency]
...
lock_path = /var/run/nova
(Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :
[DEFAULT]
...
verbose = True
S’assurer que le module noyau nbd est chargé.
# modprobe nbd
S’assurer que le module sera chargé à chaque boot en ajoutant nbd au fichier /etc/modules-load.d/nbd.conf.
Déterminer si vos noeuds compute supportent l’accélération hardware pour les machines virtuelles:
$ egrep -c '(vmx|svm)' /proc/cpuinfo
Si la commande retourne une valeur de un ou plus, votre nœud compute supporte l’accélération matérielle ce qui ne nécessite généralement aucune configuration complémentaire.
Si la commande retourne la valeur zero, votre nœud compute ne supporte pas l’accélération matérielle et vous devez configurer libvirt pour utiliser QEMU à la place de KVM.
Editer la section [libvirt]` du fichier ``/etc/nova/nova.conf comme suit :
[libvirt]
...
virt_type = qemu
Démarrer le service Compute, en incluant ses dépendances et le configurer pour démarrer au boot du système:
# systemctl enable libvirtd.service openstack-nova-compute.service
# systemctl start libvirtd.service openstack-nova-compute.service
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.