目录
一、openstack准备环境
二、基础环境配置
controller节点和compute节点配置
controller节点配置
compute节点配置
controller节点配置
安装keystone服务
安装Glance镜像服务
安装nova计算服务
compute节点配置
一、openstack准备环境
二、基础环境配置使用的是Secure CRT软件连接虚拟机,以下操作步骤皆在Secure CRT操作
controller节点和compute节点配置
关闭防火墙并设置开机不启动
[root@controller ~]# systemctl stop firewalld && systemctl disable firewalld
关闭selinux
[root@controller ~]# vi /etc/selinux/config
SELINUX=disabled
修改hosts
[root@controller ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100 controller
192.168.1.200 compute
关闭NetworkManager
[root@controller ~]# systemctl stop NetworkManager && systemctl disable NetworkManager
controller节点配置
查找openstack版本
[root@controller ~]# yum search openstack
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.lzu.edu.cn
* extras: mirror.lzu.edu.cn
* updates: mirror.lzu.edu.cn
============================ N/S matched: openstack ============================
centos-release-openstack-queens.noarch : OpenStack from the CentOS Cloud SIG
: repo configs
centos-release-openstack-rocky.noarch : OpenStack from the CentOS Cloud SIG repo
: configs
centos-release-openstack-stein.noarch : OpenStack from the CentOS Cloud SIG repo
: configs
centos-release-openstack-train.noarch : OpenStack from the CentOS Cloud SIG repo
: configs
找到stein版并安装
[root@controller ~]# yum -y install centos-release-openstack-stein.noarch
安装数据库mariadb
[root@controller ~]# yum -y install mariadb mariadb-server
在my.cnf.d下创建一个openstack.cnf并添加如下代码
[root@controller ~]# vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.1.100 //controller节点的IP地址
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
启动数据库
[root@controller ~]# systemctl start mariadb.service && systemctl enable mariadb.service
初始化数据库
[root@controller ~]# mysql_secure_installation
Enter current password for root (enter for none): 按enter键
Set root password? [Y/n] y //设置数据库密码
New password:
Re-enter new password:
Remove anonymous users? [Y/n] n //是否设置匿名用户,按n
Disallow root login remotely? [Y/n] n
Remove test database and access to it? [Y/n] n
Reload privilege tables now? [Y/n] n
安装消息队列并启动
[root@controller ~]# yum -y install rabbitmq-server
[root@controller ~]# systemctl start rabbitmq-server.service && systemctl enable rabbitmq-server.service
添加openstack用户
[root@controller ~]# rabbitmqctl add_user openstack 123456 //添加用户和密码
[root@controller ~]# rabbitmqctl set_permissions openstack ".*" ".*" ".*" //给openstack用户配置读写权限
安装Memcached
[root@controller ~]# yum -y install memcached python-memcached //安装memcached
[root@controller ~]# vi /etc/sysconfig/memcached //修改配置文件
OPTIONS="-l 192.168.1.100,::1" //controller节点的ip地址
[root@controller ~]# systemctl start memcached.service && systemctl enable memcached.service //启动
安装时间同步ntp ntpdate
[root@controller ~]# yum -y install ntpdate ntp
[root@controller ~]# ntpdate ntp1.aliyun.com //同步aliyun时间
[root@controller ~]# vi /etc/ntp.conf
server 192.168.1.100 iburst //任意一行添加
[root@controller ~]# systemctl start ntpd && systemctl enable ntpd
[root@controller ~]# crontab -e
*/2 * * * * /usr/sbin/ntpdate compute << /var/log/ntpdate.log //五个*表示分时号月几
[root@controller ~]# systemctl start crond && systemctl enable crond
compute节点配置
安装ntpdate,时间同步到controller节点
[root@compute ~]# yum -y install ntpdate
[root@compute ~]# ntpdate controller
24 May 09:34:36 ntpdate[2180]: adjust time server 192.168.1.100 offset -0.019328 sec
安装keystone服务
controller节点配置
vi编辑器扩展:
进入vi编辑器后,按shift+;键输入“set nu”出现行号。输入“ :xx,可以定位到该行”(例: :14,则定位到14行)。下列代码中英文字母之前的数字代表的是行号。
注意:修改内容时,要把英文字母前的 "#"号去掉,这样代码才能生效,修改内容较多,一定要仔细修改,不要有多余的空行,不然执行下一个代码时会报错。代码中有几个地方需要自己添加,请注意查看。输入的英文字母和符号皆为英文状态下输入。
[root@controller ~]# yum install openstack-keystone httpd mod_wsgi python-openstackclient openstack-utils python-keystoneclient mod_ssl
[root@controller ~]# openssl rand -hex 10 //生成一个随机值在初始的配置中作为管理员的令牌
b87a783e404e93b7b7ce //复制出来
[root@controller ~]# vi /etc/keystone/keystone.conf //修改keystone的配置文件
14 admin_token = b87a783e404e93b7b7ce
452 backend = oslo_cache.memcache_pool
465 enabled = true
475 memcache_servers = controller:11211
480 memcache_dead_retry = 60
484 memcache_socket_timeout = 1
488 memcache_pool_maxsize = 1000
492 memcache_pool_unused_timeout = 60
507 template_file = /etc/keystone/default_catalog.templates
514 driver = sql
611 connection = mysql+pymysql://keystone:123456@controller/keystone
651 max_pool_size = 30
657 max_retries = -1
662 retry_interval = 2
667 max_overflow = 60
887 key_repository = /etc/keystone/fernet-keys/
896 max_active_keys = 3
1015 driver = sql
1019 caching = false
---------------------------------------------------------
1435 servers = controller:11211 //自己添加
---------------------------------------------------------
1438 dead_retry = 60
1494 idle_timeout = 3600
1442 socket_timeout = 1
1446 pool_maxsize = 1000
1450 pool_unused_timeout = 60
---------------------------------------------------------
1761 rabbit_hosts = controller:5672 //自己添加
1762 rabbit_userid = openstack //自己添加
1763 rabbit_password = 123456 //自己添加
1764 rabbit_use_ssl = false //自己添加
1765 rabbit_ha_queues = True //自己添加
1766 rabbit_retry_interval = 1 //自己添加
1767 rabbit_retry_backoff = 2 //自己添加
1768 rabbit_max_retries = 0 //自己添加
-----------------------------------------------------------
2082 expiration = 3600
2095 caching = False
2542 provider = fernet
初始化身份认证服务的数据库
[root@controller ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone
初始化Fernet keys
[root@controller ~]# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
[root@controller ~]# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
登录数据库
[root@controller ~]# mysql -uroot -p123456
MariaDB [(none)]> CREATE DATABASE keystone; //创建 keystone 数据库
对“keystone”数据库授予权限
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';
修改http的配置文件
[root@controller ~]# vi /etc/httpd/conf/httpd.conf
95 ServerName controller
42 Listen 80 //配置文件里已经有了一个Listen 80,如果没有,就自己添加
复制一份配置文件:
[root@controller ~]# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak
复制keystone/wsgi-keystone.conf配置文件到/etc/httpd/conf.d/中并编辑
[root@controller keystone]# cp /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
[root@controller ~]# vi /etc/httpd/conf.d/wsgi-keystone.conf
Listen 192.168.1.100:5000
Listen 192.168.1.100:35357
<VirtualHost 192.168.1.100:5000>
WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-public
WSGIScriptAlias / /usr/bin/keystone-wsgi-public
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.100:35357>
WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
WSGIProcessGroup keystone-admin
WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
WSGIApplicationGroup %{GLOBAL}
WSGIPassAuthorization On
ErrorLogFormat "%{cu}t %M"
ErrorLog /var/log/httpd/keystone-error.log
CustomLog /var/log/httpd/keystone-access.log combined
<Directory /usr/bin>
Require all granted
</Directory>
</VirtualHost>
启动http服务
[root@controller]# systemctl start httpd && systemctl enable httpd
[root@controller]# systemctl status httpd //查看httpd端口是否开启
Active: active (running) //表示开启状态
创建keystone端点认证
[root@controller]# keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne
编辑启动文件
[root@controller ~]#vi admin.sh
export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_AUTH_URL=http://192.168.1.100:5000/v3
export OS_IDENTITY_API_VERSION=3
export PS1='[\u@\h\W(keystone_admin)]\$'
[root@controller ~]# source admin.sh
[root@controller~(keystone_admin)]#openstack endpoint list //出现一下内容表示成功
+----------------------------------+-----------+--------------+--------------+---------+-----------+-----------------------------+
| ID | Region | Service Name | Service Type | Enabled | Interface | URL |
+----------------------------------+-----------+--------------+--------------+---------+-----------+-----------------------------+
| 02161cbb0064428186a937063d2197ea | RegionOne | keystone | identity | True | public | http://controller:5000/v3/ |
| 0faa65db9fad437a805f30a4be611f18 | RegionOne | keystone | identity | True | admin | http://controller:35357/v3/ |
| b631c969eaab4cf2914d1c09322f8466 | RegionOne | keystone | identity | True | internal | http://controller:5000/v3/ |
+----------------------------------+-----------+--------------+--------------+---------+-----------+-----------------------------+
创建services项目
[root@controller~(keystone_admin)]#openstack project create --domain default --description "Service Project" service
[root@controller~(keystone_admin)]#openstack project create --domain default --description "Demo Project" demo
创建demo用户
[root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt demo
User Password:123456
Repeat User Password:123456
创建角色user
[root@controller~(keystone_admin)]#openstack role create user
[root@controller~(keystone_admin)]#openstack role add --project demo --user demo user
如果想要退出keystone_admin,输入exit
安装Glance镜像服务
[root@controller ~]# yum install -y openstack-glance
创建glance数据库
[root@controller ~]# mysql -uroot -p123456
MariaDB [(none)]> create database glance;
MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on glance.* to 'glance'@'%' identified by '123456';
编辑glance配置文件
[root@controller ~]# grep -Ev '^#|^$' /etc/glance/glance-api.conf //过滤#号对应的代码
[root@controller ~]# vi /etc/glance/glance-api.conf //找到对应文件修改代码,也可以在对应的文件下添加,为了以防出现问题,最好复制添加。
[DEFAULT]
[cinder]
[cors]
[database]
connection = mysql+pymysql://glance:123456@controller/glance -----添加
[file]
[glance.store.http.store]
[glance.store.rbd.store]
[glance.store.sheepdog.store]
[glance.store.swift.store]
[glance.store.vmware_datastore.store]
[glance_store]
stores = file,http ----添加
default_store = file ----添加
filesystem_store_datadir = /var/lib/glance/images ---添加
[image_format]
[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 = glance ---添加
password = 123456 ---添加
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
[oslo_middleware]
[oslo_policy]
[paste_deploy]
flavor = keystone ---添加
[profiler]
[store_type_location_strategy]
[task]
[taskflow_executor]
写入镜像服务数据库
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
Database is synced successfully. //表示成功
如果出现以下错误:
/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1371: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade expire_on_commit=expire_on_commit, _conf=conf) Database is up to date. No migrations needed.
删除数据库,重新创建
MariaDB [(none)]> drop database glance;
MariaDB [(none)]> CREATE DATABASE glance;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY '123456';
然后再次执行
[root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance
就成功了
启动镜像服务、配置他们随机启动
[root@controller ~]# systemctl start openstack-glance-api.service
[root@controller ~]# systemctl enable openstack-glance-api.service //出现下面代码代表启动成功,可查看端口是否开启。
Created symlink from /etc/systemd/system/multi-user.target.wants/openstack-glance-api.service to /usr/lib/systemd/system/openstack-glance-api.service.
[root@controller ~]# systemctl start openstack-glance-registry.service
[root@controller ~]# systemctl enable openstack-glance-registry.service
[root@controller ~]# systemctl status openstack-glance-api.service
Active: active (running) //开启
[root@controller ~]# systemctl status openstack-glance-registry.service
Active: active (running) //开启
创建glance用户
[root@controller ~]# source admin.sh
[root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt glance
User Password:123456
Repeat User Password:123456
添加 admin 角色到 glance 用户和 service 项目上。
[root@controller~(keystone_admin)]#openstack role add --project service --user glance admin
创建glance服务实体
[root@controller ~(keystone_admin)]# openstack service create --name glance --description "OpenStack Image" image
创建镜像服务的 API 端点
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image public http://controller:9292
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image internal http://controller:9292
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne image admin http://controller:9292
查看端口
Glance-api:9292(对外开放)
Glance-registry:9191内部端口(内部使用)
[root@controller ~]# netstat -antp | grep 9292
tcp 0 0 0.0.0.0:9292 0.0.0.0:* LISTEN 6675/python2
[root@controller ~]# netstat -antp | grep 9191
tcp 0 0 0.0.0.0:9191 0.0.0.0:* LISTEN 6676/python2
创建glance镜像
要将镜像cirros-0.3.4-x86_64-disk.img上传
image-create | 镜像创建 |
--name cirros | 镜像名称为cirros |
--disk-format qcow2 | 磁盘格式为qcow2 |
--container-format bare | 图片的容器格式,可以是ami,ari,aki,ovf,bare默认是bare |
[root@controller ~(keystone_admin)]# glance image-create --name cirros --disk-format qcow2 --container-format bare < cirros-0.3.4-x86_64-disk.img
[root@controller~(keystone_admin)]#openstack image list //查看镜像
+--------------------------------------+--------+--------+
| ID | Name | Status |
+--------------------------------------+--------+--------+
| 8fdb9300-c51f-4eea-8c7f-113cbb6b49d7 | cirros | active |
+--------------------------------------+--------+--------+
安装nova计算服务
安装软件包
[root@controller ~]# yum -y install openstack-nova-api openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler
创建 nova_api 和 nova 数据库
MariaDB [(none)]> create database nova_api;
MariaDB [(none)]> create database nova;
MariaDB [(none)]> create database nova_cell0;
授权
Nova-api:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY '123456';
Nova:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '123456';
nova_cell0:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON nova_cell0.* TO 'nova'@'%' IDENTIFIED BY '123456';
修改nova配置文件
[root@controller ~]# grep -Ev '^#|^$' /etc/nova/nova.conf
[root@controller ~]# vi /etc/nova/nova.conf //找到对应文件,添加如下代码(可修改,可添加)
[DEFAULT]
rpc_backend = rabbit
my_ip=192.168.1.100
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata
transport_url=rabbit://openstack:123456@controller
[api]
auth_strategy=keystone
[api_database]
connection=mysql+pymysql://nova:123456@controller/nova_api
[barbican]
[cache]
[cells]
[cinder]
[compute]
[conductor]
[console]
[consoleauth]
[cors]
[database]
connection=mysql+pymysql://nova:123456@controller/nova
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers=http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[ironic]
[key_manager]
[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 = nova
password = 123456
[libvirt]
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[oslo_middleware]
[oslo_policy]
[pci]
[placement]
region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default
auth_url = http://controller:5000/v3
username = placement
password = 123456
[placement_database]
[powervm]
[privsep]
[profiler]
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[upgrade_levels]
[vault]
[vendordata_dynamic_auth]
[vmware]
[vnc]
vncserver_listen = 192.168.1.100
vncserver_proxyclient_address = 192.168.1.100
[workarounds]
[wsgi]
[xenserver]
[xvp]
[zvm]
初始化数据库
[root@controller ~]# su -s /bin/sh -c "nova-manage api_db sync" nova
[root@controller ~]# su -s /bin/sh -c "nova-manage db sync" nova
[root@controller ~(keystone_admin)]# su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova
[root@controller ~(keystone_admin)]# su -s /bin/sh -c "nova-manage cell_v2 create_cell --name=cell1 --verbose" nova
49192d92-08da-4dd2-b953-b4746477eb8c
创建nova用户
[root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt nova
User Password:123456
Repeat User Password:123456
给 nova 用户添加 admin 角色
[root@controller~(keystone_admin)]#openstack role add --project service --user nova admin
创建 nova 服务实体
[root@controller ~(keystone_admin)]# openstack service create --name nova --description "OpenStack Compute" compute
创建compute服务API端点
[root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute public http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute internal http://controller:8774/v2.1/%\(tenant_id\)s
[root@controller~(keystone_admin)]# openstack endpoint create --region RegionOne compute admin http://controller:8774/v2.1/%\(tenant_id\)s
创建一个placement服务用户
[root@controller~(keystone_admin)]#openstack user create --domain default --password-prompt placement
User Password:123456
Repeat User Password:123456
[root@controller ~(keystone_admin)]# openstack role add --project service --user placement admin
[root@controller ~(keystone_admin)]# openstack service create --name placement --description "Placement API" placement
创建端点信息
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement public http://controller:8778
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement internal http://controller:8778
[root@controller ~(keystone_admin)]# openstack endpoint create --region RegionOne placement admin http://controller:8778
启动服务
[root@controller ~]# systemctl start openstack-nova-api.service
[root@controller ~]# systemctl start openstack-nova-consoleauth.service
[root@controller ~]# systemctl start openstack-nova-scheduler.service
[root@controller ~]# systemctl start openstack-nova-conductor.service
[root@controller ~]# systemctl start openstack-nova-novncproxy.service
[root@controller ~]# systemctl enable openstack-nova-api.service
[root@controller ~]# systemctl enable openstack-nova-consoleauth.service
[root@controller ~]# systemctl enable openstack-nova-scheduler.service
[root@controller ~]# systemctl enable openstack-nova-conductor.service
[root@controller ~]# systemctl enable openstack-nova-novncproxy.service
compute节点配置
安装centos-release-openstack-stein.noarch
[root@compute ]# yum -y install centos-release-openstack-stein.noarch
安装openstack-nova-compute
[root@compute ]# yum -y install openstack-nova-compute
修改nova配置文件
[root@compute ~]# grep -Ev '^#|^$' /etc/nova/nova.conf
[root@compute ~]# vi /etc/nova/nova.conf
[DEFAULT]
rpc_backend = rabbit
my_ip=192.168.1.100
use_neutron=true
firewall_driver=nova.virt.firewall.NoopFirewallDriver
enabled_apis=osapi_compute,metadata
transport_url=rabbit://openstack:123456@controller
[api]
auth_strategy=keystone
[api_database]
[barbican]
[cache]
[cells]
[cinder]
[compute]
[conductor]
[console]
[consoleauth]
[cors]
[database]
[devices]
[ephemeral_storage_encryption]
[filter_scheduler]
[glance]
api_servers=http://controller:9292
[guestfs]
[healthcheck]
[hyperv]
[ironic]
[key_manager]
[keystone]
[keystone_authtoken]
auth_uri=http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password 6300
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = 123456
[libvirt]
virt_type=qemu
[metrics]
[mks]
[neutron]
[notifications]
[osapi_v21]
[oslo_concurrency]
lock_path=/var/lib/nova/tmp
[oslo_messaging_amqp]
[oslo_messaging_kafka]
[oslo_messaging_notifications]
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
[oslo_middleware]
[oslo_policy]
[pci]
[placement]
os_region_name = RegionOne
project_domain_name = Default
project_name = service
auth_type = password
user_domain_name = Default 8652
auth_url = http://controller:5000/v3
username = placement
password = 123456
[placement_database]
[powervm]
[privsep]
[profiler]
[quota]
[rdp]
[remote_debug]
[scheduler]
[serial_console]
[service_user]
[spice]
[upgrade_levels]
[vault]
[vendordata_dynamic_auth]
[vmware]
[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 192.168.1.100
novncproxy_base_url = http://controller:6080/vnc_auto.html
[workarounds]
[wsgi]
[xenserver]
[xvp]
[zvm]
[root@compute ~]# egrep -c '(vmx|svm)' /proc/cpuinfo //返回值为0,进行下一步,如果为1,重新检查配置文件是否修改正确
0
启动
[root@compute ~]# systemctl start libvirtd.service openstack-nova-compute.service
[root@compute ~]# systemctl enable libvirtd.service openstack-nova-compute.service
测试:
[root@controller~(keystone_admin)]#nova service-list
安装neutron网络服务
controller节点配置
安装neutron服务
[root@controller ~]# yum install openstack-neutron openstack-neutron-ml2 openstack-neutron-linuxbridge ebtables
创建neutron数据库
[root@controller ~]# mysql -uroot -p123456
MariaDB [(none)]> CREATE DATABASE neutron;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY '123456';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY '123456';