Servicio Nova Computing
Servicio Nova Computing
- Proporciona potencia informática para el entorno de nube de OpenStack, y el entorno relacionado debe implementarse por separado en el nodo de control y el nodo informático.
La instalación principal del nodo de control ct:
- Servicio principal nova-api nova
- Nova-planificador servicio de programación nova
- Servicio de base de datos nova-condutor nova, que proporciona acceso a la base de datos
- Servicio vnc de nova-novncproxy nova, que proporciona una consola de instancia
La instalación principal de los nodos de cómputo:
- nova-compute servicio de computación nova
1. Configure el servicio Nova en el nodo de control (ct)
- Cree una base de datos nova y realice operaciones de autorización
mysql -uroot -p123456
CREATE DATABASE nova_api;
CREATE DATABASE nova;
CREATE DATABASE nova_cell0;
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';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';
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
- Crea usuarios y entidades nova
openstack user create --domain default --password NOVA_PASS nova #创建nova用户
openstack role add --project service --user nova admin #向nova用户添加admin权限
openstack service create --name nova --description "OpenStack Compute" compute #创建nova服务实体
- Crear un punto final de servicio de la API de computación
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
- Instalar el paquete
yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-novncproxy openstack-nova-scheduler
1
修改配置文件
cp -a /etc/nova/nova.conf{,.bak}
grep -Ev '^$|#' /etc/nova/nova.conf.bak > /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.100.11 #修改为ct的IP(内网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
- Importar la base de datos
Inicializar la base de datos nova_api
su -s /bin/sh -c "nova-manage api_db sync" nova
- Registre la base de datos cell0 (el servicio nova divide los recursos en diferentes celdas y divide los nodos de computación en diferentes celdas; openstack agrupa lógicamente los nodos de computación basados en celdas)
su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
- Crear celda cell1
su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
- Inicialice la base de datos nova (puede juzgar si la inicialización se realizó correctamente a través del registro /var/log/nova/nova-manage.log)
su -s /bin/sh -c "nova-manage db sync" nova
- Verifique que nova cell0 y cell1 estén registrados correctamente
su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova
- Inicie el servicio Nova y configure el inicio
systemctl start openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl enable openstack-nova-api.service openstack-nova-scheduler.service openstack-nova-conductor.service openstack-nova-novncproxy.service
- Compruebe si se inicia el servicio nova
netstat -tnlup|egrep '8774|8775'
curl http://ct:8774
2. Configure el servicio Nova en los nodos informáticos (c1, c2)
- Instale el paquete de software y modifique 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
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.100.12 #此处为计算节点内部IP,c1、c2不同
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
- 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 informático no admite la aceleración de hardware y libvirt debe configurarse para usar
QEMU en lugar de KVM, y debe editar la sección [libvirt] en / etc / nova / nova. conf archivo
vim /etc/nova/nova.conf
[libvirt]
virt_type = qemu
- 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
En tercer lugar, la operación de seguimiento del nodo ct
- Agregar nodo de cálculo a la base de datos de la celda
openstack compute service list --service nova-compute
- Descubrimiento de nodos informáticos
su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova
-
Cuando agregue nuevos nodos de cómputo en el futuro, debe ejecutar su -s / bin / sh -c "nova-manage cell_v2 discover_hosts --verbose" nova en el nodo del controlador para registrar estos nuevos nodos de cómputo.
-
Establecer un intervalo de descubrimiento apropiado (operación opcional)
vim /etc/nova/nova.conf
[scheduler]
discover_hosts_in_cells_interval = 300
systemctl restart openstack-nova-api.service
Cuatro, servicios de computación de verificación
openstack compute service list #列出服务组件以验证每个进程的成功启动和注册情况
openstack catalog list #列出身份服务中的API端点以验证与身份服务的连接
openstack image list #列出图像服务中的图像以验证与图像服务的连接性
nova-status upgrade check #Compruebe si las celdas y la API de ubicación se están ejecutando normalmente, siempre que una de ellas sea incorrecta, la máquina virtual no se puede crear más tarde