目录
一、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:35357WSGIDaemonProcess 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 Require all granted 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 Require all granted
启动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@hW(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.servicecompute节点配置
安装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';



