Calcular el despliegue de Nova

Uno, arquitectura del sistema Nova

Inserte la descripción de la imagen aquí
Contacto externo

  • DB: base de datos SQL para almacenamiento de datos
  • Red: componente de red nova que gestiona el reenvío de IP, puente o red de área local virtual
  • Keystone: componente de la autenticación de seguridad
  • Glance & Cinder: el componente responsable de gestionar la imagen

Estructura interna

  • API: componentes de Nova que se utilizan para recibir solicitudes HTTP, convertir comandos y comunicarse con otros componentes a través de colas de mensajes o HTTP
  • Programador: programador nova utilizado para determinar qué nodo informático alojar la instancia informática
  • Compute: componente de computación nova que administra la comunicación entre el administrador de la máquina virtual y la máquina virtual
  • Conductor: maneja solicitudes que requieren coordinación (construye una máquina virtual o ajusta el tamaño de la máquina virtual), o maneja la conversión de objetos

Dos, configuración del entorno

Nodo de control ct

UPC Virtualización de CPU de doble hilo y doble núcleo habilitada
RAM 8G
disco duro 300G + 1024G (almacenamiento en bloque CEPH)
Tarjeta de red dual VM1- (Red de área local) 192.168.86.11/NAT-192.168.109.12
Sistema operativo Centos 7.6 (1810) -Minima instalación

Nodo de control c1

UPC Virtualización de CPU de doble hilo y doble núcleo habilitada
RAM 8G
disco duro 300G + 1024G (almacenamiento en bloque CEPH)
Tarjeta de red dual VM1- (Red de área local) 192.168.86.22 /NAT-192.168.109.22
Sistema operativo Centos 7.6 (1810) -Minima instalación

Nodo de control c2

UPC Virtualización de CPU de doble hilo y doble núcleo habilitada
RAM 8G
disco duro 300G + 1024G (almacenamiento en bloque CEPH)
Tarjeta de red dual VM1- (Red de área local) 192.168.86.33 /NAT-192.168.109.32
Sistema operativo Centos 7.6 (1810) -Minima instalación

Tres, ideas de implementación

Nodo de control ct

  • Nova-api (servicio principal de nova)
  • Nova-planificador (servicio de programación nova)
  • Nova-condutor (servicio de base de datos nova, que proporciona acceso a la base de datos)
  • Nova-novncproxy (servicio vnc de nova, que proporciona una consola de instancia)

Calcular los nodos c1, c2

  • nova-compute (servicio de computación nova)

Cuarto, la operación de implementación real

Nodo de control ct

Crear instancia de base de datos y autorización

mysql -uroot -p

CREATE DATABASE nova_api;
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

CREATE DATABASE nova;
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

CREATE DATABASE nova_cell0;
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
flush privileges;
exit

Inserte la descripción de la imagen aquí

Crear usuarios, modificar archivos de configuración

#创建nova用户;验证openstack user list
openstack user create --domain default --password NOVA_PASS nova

#向nova用户添加admin角色;验证openstack role assignment list验证,还要查role、user、project列表看id号
openstack role add --project service --user nova admin

#创建nova服务实体;验证openstack service list
openstack service create --name nova --description "OpenStack Compute" compute

Inserte la descripción de la imagen aquí

#创建 compute API 服务端点
openstack endpoint create --region RegionOne compute public http://ct:8774/v2.1
openstack endpoint create --region RegionOne compute internal http://ct:8774/v2.1
openstack endpoint create --region RegionOne compute admin http://ct:8774/v2.1

Inserte la descripción de la imagen aquí

Modificar el archivo de configuración

yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler

#修改配置文件
cp -a /etc/nova/nova.conf{
    
    ,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf

Inserte la descripción de la imagen aquí

#添加/etc/nova/nova.conf配置
openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.86.11    #本地内网IP
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf api_database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova_api
openstack-config --set /etc/nova/nova.conf database connection mysql+pymysql://nova:NOVA_DBPASS@ct/nova
openstack-config --set /etc/nova/nova.conf placement_database connection mysql+pymysql://placement:PLACEMENT_DBPASS@ct/placement
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen '$my_ip'
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip'
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS

cat /etc/nova/nova.conf      #太多了简单截个图

Inserte la descripción de la imagen aquí

Inicialice la base de datos nova y genere la estructura de la tabla relacionada

su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
su -s /bin/sh -c "nova-manage db sync" nova

Inserte la descripción de la imagen aquí

#验证 nova cell0 和 cell1 是否正确注册
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

Inserte la descripción de la imagen aquí

Iniciar el servicio Nova

#启动 Nova 服务并配置开机启动
systemctl start openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy

systemctl enable openstack-nova-api openstack-nova-scheduler openstack-nova-conductor openstack-nova-novncproxy

Inserte la descripción de la imagen aquí

#检查nova服务是否启动
netstat -tnlup|egrep '8774|8775'
curl http://ct:8774

Inserte la descripción de la imagen aquí

Nodo de control c1, c2

Modificar el archivo de configuración

yum -y install openstack-nova-compute

cp -a /etc/nova/nova.conf{
    
    ,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /etc/nova/nova.conf

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

openstack-config --set /etc/nova/nova.conf DEFAULT enabled_apis osapi_compute,metadata
openstack-config --set /etc/nova/nova.conf DEFAULT transport_url rabbit://openstack:RABBIT_PASS@ct
openstack-config --set /etc/nova/nova.conf DEFAULT my_ip 192.168.86.22     #注意区别c1\c2内网IP
openstack-config --set /etc/nova/nova.conf DEFAULT use_neutron true
openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
openstack-config --set /etc/nova/nova.conf api auth_strategy keystone
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf keystone_authtoken memcached_servers ct:11211
openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_type password
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken user_domain_name Default
openstack-config --set /etc/nova/nova.conf keystone_authtoken project_name service
openstack-config --set /etc/nova/nova.conf keystone_authtoken username nova
openstack-config --set /etc/nova/nova.conf keystone_authtoken password NOVA_PASS
openstack-config --set /etc/nova/nova.conf vnc enabled true
openstack-config --set /etc/nova/nova.conf vnc server_listen 0.0.0.0
openstack-config --set /etc/nova/nova.conf vnc server_proxyclient_address '$my_ip'
openstack-config --set /etc/nova/nova.conf vnc novncproxy_base_url http://ct:6080/vnc_auto.html
openstack-config --set /etc/nova/nova.conf glance api_servers http://ct:9292
openstack-config --set /etc/nova/nova.conf oslo_concurrency lock_path /var/lib/nova/tmp
openstack-config --set /etc/nova/nova.conf placement region_name RegionOne
openstack-config --set /etc/nova/nova.conf placement project_domain_name Default
openstack-config --set /etc/nova/nova.conf placement project_name service
openstack-config --set /etc/nova/nova.conf placement auth_type password
openstack-config --set /etc/nova/nova.conf placement user_domain_name Default
openstack-config --set /etc/nova/nova.conf placement auth_url http://ct:5000/v3
openstack-config --set /etc/nova/nova.conf placement username placement
openstack-config --set /etc/nova/nova.conf placement password PLACEMENT_PASS
openstack-config --set /etc/nova/nova.conf libvirt virt_type qemu

cat /etc/nova/nova.conf

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Determinar si la computadora admite la aceleración de hardware de la máquina virtual

#前面环境部署已经改过这里再确认下
egrep -c '(vmx|svm)' /proc/cpuinfo

Si el valor de retorno del comando anterior no es 0, el nodo informático admite la aceleración de hardware y no se requiere la siguiente configuración.
El valor de retorno del comando anterior es 0, el nodo de cálculo no admite la aceleración de hardware y libvirt debe configurarse para usar
QEMU en lugar de KVM. Debe editar la parte [libvirt] de /etc/nova/nova.conf archivo.
vim / etc / nova / nova .conf
[libvirt]
virt_type = qemu

Inserte la descripción de la imagen aquí

Inicie el servicio de computación Nova y configure el inicio

systemctl start libvirtd.service openstack-nova-compute.service
systemctl enable libvirtd.service openstack-nova-compute.service

Inserte la descripción de la imagen aquí

Nodo de control ct

Agregar nodo de cálculo a la base de datos de la celda

openstack compute service list --service nova-compute

Inserte la descripción de la imagen aquí

Descubrimiento de nodos informáticos

su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
#以后添加新的计算节点时,必须在控制器节点上运行 su -s /bin/sh -c “nova-manage cell_v2 discover_hosts --verbose” nova 以注册这些新的计算节点。

Inserte la descripción de la imagen aquí

vim /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval = 200

systemctl restart openstack-nova-api.service

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Servicio de Computación de Verificación

#列出服务组件以验证每个进程的成功启动和注册情况
openstack compute service list

#列出身份服务中的API端点以验证与身份服务的连接
openstack catalog list

#列出图像服务中的图像以验证与图像服务的连接性
openstack image list

#检查Cells和placement API是否正常运行
nova-status upgrade check

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_51616026/article/details/114998809
Recomendado
Clasificación