<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      marquee
      當你的才華還撐不起你的野心的時候,你就應該靜下心來學習。當你的能力還駕馭不了你的目標的時候,你就應該沉下心來歷練。問問自己,想要怎樣的人生

      (openstack搭建)openstack云平臺部署-詳細完整教程

      openstack云平臺部署(完整教程)
      環境要求
      Openstack硬件環境:Vmware虛擬機3臺,控制節點配置需求4C8G20G,計算節點2C4G20G

      Openstack網絡要求:至少一套網絡,使用Vmware虛擬機的網絡即可

      操作系統要求:centos7*即可,openstack開源版本均支持大部分開源操作系統,centos、ubnutu、suse等等,centos7操作系統的安裝詳見操作系統安裝文檔。
      本指南中使用的ip
      控制節點:controller:192.168.44.3
      計算節點:compute1:192.168.44.4
      compute2:192.168.44.5

      一、安裝openstack前的前置操作(以下3臺虛擬機均同樣操作):
      1 關閉防火墻

      systemctl stop firewalld && systemctl disable firewalld



      2 關閉selinux

      1、vim /etc/selinux/config
       SELINUX=enforcing #把enforcing改為disabled
      2、setenforce 0
      3、reboot #重新啟動讓其生效

       

      3、hostname機hosts配置

      [root@localhost ~]hostnamectl set-hostname --pretty controller
      [root@localhost ~]hostnamectl set-hostname --static controller
      [root@localhost ~]hostnamectl set-hostname --transient controller


      [root@localhost ~]vi  /etc/hosts

      192.168.44.3 controller
      192.168.44.4 compute1
      192.168.44.5 compute2


      4、安裝openstack及ceph的yum源
      能連接外網的情況下:
      下載安裝openstack存儲庫:

      yum install centos-release-openstack-train

       

      安裝后會自行在源配置路徑/etc/yum.repo.d/下生成配置文件,之后加載即可使用

      yum clean all && yum makecache

       

      如果虛擬機無法上網的話,需要去
      http://mirror.centos.org/centos-7/7.9.2009/cloud/x86_64/openstack-train/上拿取源包,放到虛擬機上配置本地源使用
      5. 配置時間同步ntpd

      [root@controller ~]yum -y install ntp*
      [root@controller ~]systemctl start ntpd
      [root@controller ~]systemctl enable ntpd
      [root@controller ~]ntpdate ntp1.aliyun.com


      二、安裝openstack總體步驟
      安裝rabbitmq
      安裝etcd
      安裝memcached
      安裝MySQL
      安裝keystone
      操作系統環境變量配置
      安裝glance
      安裝placement
      安裝nova
      計算節點nova
      安裝neutron
      計算節點neutron
      安裝dashboard
      安裝 cinder
      計算節點cinder

      1.Rabbitmq:安裝:

      yum install rabbitmq-server -y

       

      啟動并配置為自動啟動

      systemctl enable rabbitmq-server.service
      systemctl start rabbitmq-server.service


      在rabbitmq中添加openstack用戶:

      [root@controller ~]rabbitmqctl add_user openstack RABBIT_PASS #RABBIT_PASS換成合適的密碼
      Creating user "openstack" ...


      配置改用戶的權限

      rabbitmqctl set_permissions openstack ".*" ".*" ".*"
      Setting permissions for user "openstack" in vhost "/" ...


      開啟管理界面插件:

      rabbitmq-plugins enable rabbitmq_management


      openstack部署成功后可以登錄rabbitmq web管理界面:http://192.168.44.3:15672 如出現無法訪問情況 檢查端口:
      netstat -anlp | grep 15672 如果還無法訪問,手動添加安全組規則 端口15672 5672,然后重啟服務
      輸入用戶名:guest 密碼:guest,點擊login就可以登錄

      另,安裝openstack客戶端:

      yum install python-openstackclient openstack-selinux -y

       

      2.Etcd
      安裝:

      yum install etcd -y

       

      編輯配置文件:

      vi /etc/etcd/etcd.conf

      #[Member]
      ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
      ETCD_LISTEN_PEER_URLS="http://192.168.44.3:2380"
      ETCD_LISTEN_CLIENT_URLS="http://192.168.44.3:2379"
      ETCD_NAME="controller"
      #[Clustering]
      ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.44.3:2380"
      ETCD_ADVERTISE_CLIENT_URLS="http://192.168.44.3:2379"
      ETCD_INITIAL_CLUSTER="controller=http://192.168.44.3:2380"
      ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
      ETCD_INITIAL_CLUSTER_STATE="new"

       

      啟動etcd

      systemctl enable etcd
      systemctl start etcd


      3.Memcached

      yum install memcached python-memcached -y

       

      編輯配置文件/etc/sysconfig/memcached ,在最后添加上控制節點的主機名:

      vi /etc/sysconfig/memcached

      OPTIONS="-l 127.0.0.1,::1,controller"

       

      啟動

      systemctl enable memcached.service
      systemctl start memcached.service

       

      4.MySQL

      yum install mariadb mariadb-server python2-PyMySQL -y

       

      創建和編輯/etc/my.cnf.d/openstack.cnf /etc/my.cnf.d/文件(如果需要,備份現有的配置文件)并完成以下操作:
      創建一個[mysqld]section,設置bind-address key為controller節點的管理IP地址,允許其他節點通過管理網絡訪問。設置附加鍵以啟用有用的選項和 UTF-8 字符集:

      vi /etc/my.cnf.d/openstack.cnf

      [mysqld]
      bind-address = 192.168.44.3
      
      default-storage-engine = innodb
      innodb_file_per_table = on
      max_connections = 4096
      collation-server = utf8_general_ci
      character-set-server = utf8

       

      完成安裝
      啟動數據庫服務并配置它在系統啟動時啟動:

      systemctl enable mariadb.service
      systemctl start mariadb.service

       

      初始化數據庫并設置密碼(123456)

       mysql_secure_installation

      5.Keystone
      安裝mariadb數據庫

      mysql -u root -p

       

      創建keystone數據庫:

      MariaDB [(none)]> CREATE DATABASE keystone;

       

      授予對keystone數據庫的適當訪問權限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'KEYSTONE_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';
      #(用合適的密碼替換 KEYSTONE_DBPASS )
      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY '123456';
      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY '123456';

       安裝keystone

      yum install openstack-keystone httpd mod_wsgi -y


      編輯/etc/keystone/keystone.conf文件并完成以下操作:
      在該[database]部分中,配置數據庫訪問:

      vim /etc/keystone/keystone.conf

      [database]
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      #替換KEYSTONE_DBPASS為您為數據庫選擇的密碼。
      #注釋掉或刪除connection該[database]部分中的任何其他選項 。
      #在[token]部分中,配置 Fernet 令牌提供程序:
      [token]
      provider = fernet

       

      填充身份服務數據庫:

      su -s /bin/sh -c "keystone-manage db_sync" keystone

       

      初始化 Fernet 密鑰庫:

      在–keystone-user和–keystone-group標志用于指定將用于運行keystone操作系統的用戶/組。提供這些是為了允許在另一個操作系統用戶/組下運行
      keystone。在下面的示例中,我們調用 user & group keystone。

      keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
      keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

       

      引導身份服務:

      keystone-manage bootstrap --bootstrap-password ADMIN_PASS \
        --bootstrap-admin-url http://controller:5000/v3/ \
        --bootstrap-internal-url http://controller:5000/v3/ \
        --bootstrap-public-url http://controller:5000/v3/ \
        --bootstrap-region-id RegionOne
      #替換ADMIN_PASS為適合管理用戶的密碼。

       

      配置 Apache HTTP 服務器
      編輯/etc/httpd/conf/httpd.conf文件并配置 ServerName選項以引用控制器節點:

      vim etc/httpd/conf/httpd.conf

      ServerName controller

       

      如果該ServerName條目尚不存在,則需要添加該條目。

      創建/usr/share/keystone/wsgi-keystone.conf文件鏈接:

      vim usr/share/keystone/wsgi-keystone.conf

      ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

       

      啟動 Apache HTTP 服務并配置它在系統啟動時啟動:

      systemctl enable httpd.service
      systemctl start httpd.service

       

      通過設置適當的環境變量來配置管理帳戶:

      export OS_USERNAME=admin
      export OS_PASSWORD=ADMIN_PASS
      export OS_PROJECT_NAME=admin
      export OS_USER_DOMAIN_NAME=Default
      export OS_PROJECT_DOMAIN_NAME=Default
      export OS_AUTH_URL=http://controller:5000/v3
      export OS_IDENTITY_API_VERSION=3

       

      創建域、項目、用戶和角色
      1.盡管本指南中的keystone-manage 引導步驟中已經存在“默認”域,但創建新域的正式方法是:

      openstack domain create --description "An Example Domain" example

       

      2.本指南使用一個服務項目,其中包含每個用戶的唯一用戶 添加到環境中的服務。創建項目:service

      openstack project create --domain default --description "Service Project" service

       

      3.常規(非管理員)任務應使用非特權項目和用戶。例如,本指南創建myproject項目和myuser 用戶。
      創建myproject項目:

      openstack project create --domain default --description "Demo Project" myproject

       

      為該項目創建其他用戶時不要重復此步驟。
      創建myuser用戶:

      openstack user create --domain default --password-prompt myuser

       

      創建myrole角色:

      openstack role create myrole

       

      將myrole角色添加到myproject項目和myuser用戶:

      $ openstack role add --project myproject --user myuser myrole
      1
      創建 OpenStack 客戶端環境腳本
      為 和 項目和用戶創建客戶端環境腳本。本指南的后續部分將參考這些內容 用于為客戶端操作加載相應憑據的腳本。
      1.創建并編輯文件并添加以下內容:admin-openrc

      $ vi admin-openrc

      export OS_PROJECT_DOMAIN_NAME=Default
      export OS_USER_DOMAIN_NAME=Default
      export OS_PROJECT_NAME=admin
      export OS_USERNAME=admin
      export OS_PASSWORD=ADMIN_PASS
      export OS_AUTH_URL=http://controller:5000/v3
      export OS_IDENTITY_API_VERSION=3
      export OS_IMAGE_API_VERSION=2
      #替換為您選擇的密碼 對于標識服務中的用戶。ADMIN_PASS  admin


      2.創建并編輯文件并添加以下內容:demo-openrc

      $ vi demo-openrc

      export OS_PROJECT_DOMAIN_NAME=Default
      export OS_USER_DOMAIN_NAME=Default
      export OS_PROJECT_NAME=myproject
      export OS_USERNAME=myuser
      export OS_PASSWORD=DEMO_PASS
      export OS_AUTH_URL=http://controller:5000/v3
      export OS_IDENTITY_API_VERSION=3
      export OS_IMAGE_API_VERSION=2
      #替換為您選擇的密碼 對于標識服務中的用戶。DEMO_PASS videmo

       使用腳本
      要以特定項目和用戶身份運行客戶端,只需加載即可 運行它們之前的關聯客戶端環境腳本。 例如:
      加載文件以填充 具有標識服務位置的環境變量 以及項目和用戶憑據:admin-openrc

      $ sh admin-openrc

       

      請求身份驗證令牌:

      openstack token issue

       

      6.操作系統環境配置
      sysctl.conf文件配置:

      vi /etc/sysctl.conf

      net.ipv4.tcp_syncookies = 1
      net.ipv4.tcp_tw_reuse = 1
      net.ipv4.tcp_tw_recycle = 1
      net.ipv4.tcp_fin_timeout = 30
      net.ipv4.tcp_keepalive_time = 1200
      net.ipv4.tcp_keepalive_intvl = 2
      net.ipv4.tcp_keepalive_probes = 1
      #net.ipv4.ip_local_port_range = 10000 65000
      net.ipv4.tcp_max_syn_backlog = 8192
      net.ipv4.tcp_max_tw_buckets = 5000
      net.ipv4.tcp_synack_retries = 2
      net.ipv4.neigh.default.gc_stale_time=120
      net.ipv4.conf.all.rp_filter=0
      net.ipv4.conf.default.rp_filter=0
      net.ipv4.conf.default.arp_announce = 2
      net.ipv4.conf.lo.arp_announce=2
      net.ipv4.conf.all.arp_announce=2
      net.ipv4.ip_forward = 1
      
      net.ipv6.conf.all.disable_ipv6 = 0
      net.ipv6.conf.default.disable_ipv6 = 0
      net.ipv6.conf.lo.disable_ipv6 = 0
      
      net.core.somaxconn=8192
      
      vm.swappiness = 0


      /etc/sudoers文件配置:

      cepher  ALL=(ALL)       NOPASSWD: ALL
      nova    ALL=(ALL)       NOPASSWD: ALL
      neutron ALL=(ALL)       NOPASSWD: ALL
      ceilometer ALL = (root) NOPASSWD: /usr/bin/ceilometer-rootwrap /etc/ceilometer/rootwrap.conf *

       

      /etc/security/limits.conf文件配置(end前):

      * soft  nofile  65530
      * hard  nofile  65530
      
      * - memlock unlimited
      * - nofile 100000
      * - nproc 32768
      * - as unlimited

      /etc/systemd/system.conf #資源限制連接數

      DefaultLimitNOFILE=20480
      DefaultLimitNPROC=20480

       

      上面這些配置完后要重啟才能生效

      7.Glance
      在安裝和配置 Image 服務之前,您必須創建數據庫、服務憑證和 API 端點。
      1.要創建數據庫,請完成以下步驟:
      使用數據庫訪問客戶端以root用戶身份連接數據庫服務器:

      mysql -u root -p

       

      創建glance數據庫:

      MariaDB [(none)]> CREATE DATABASE glance;

       

      授予對glance數據庫的適當訪問權限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost'  IDENTIFIED BY 'GLANCE_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%'  IDENTIFIED BY 'GLANCE_DBPASS';

       

      替換GLANCE_DBPASS為合適的密碼。

      退出數據庫訪問客戶端。

      2.來源admin憑據來訪問僅管理員CLI命令:

      sh  admin-openrc

       

      報錯處理source admin-openrc

      3.要創建服務憑證,請完成以下步驟:
      創建glance用戶:

      openstack user create --domain default --password-prompt glance

       

      將admin角色添加到glance用戶和 service項目:

      openstack role add --project service --user glance admin

       

      創建glance服務實體:

      openstack service create --name glance --description "OpenStack Image" image


      創建鏡像服務 API 端點:

      $ openstack endpoint create --region RegionOne image public http://controller:9292
      $ openstack endpoint create --region RegionOne image internal http://controller:9292 
      $ openstack endpoint create --region RegionOne image admin http://controller:9292


      安裝和配置組件
      安裝軟件包:

      yum install openstack-glance -y


      編輯/etc/glance/glance-api.conf文件并完成以下操作:
      在該[database]部分中,配置數據庫訪問:
      #vi /etc/glance/glance-api.conf

      [database]
      # ...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance

       

      替換GLANCE_DBPASS為您為Glance:服務數據庫選擇的密碼。

      在[keystone_authtoken]和[paste_deploy]部分,配置身份服務訪問:

      [keystone_authtoken]
       ...
      www_authenticate_uri  = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = glance
      password = GLANCE_PASS
      
      [paste_deploy]
       ...
      flavor = keystone


      替換GLANCE_PASS為您glance在身份服務中為用戶選擇的密碼 。

      在該[glance_store]部分中,配置本地文件系統存儲和鏡像文件的位置:

      [glance_store]
      # ...
      stores = file,http
      default_store = file
      filesystem_store_datadir = /var/lib/glance/images

       

      填充glance服務數據庫:

       su -s /bin/sh -c "glance-manage db_sync" glance

       

      編輯/etc/glance/glance-registry.conf文件并完成以下操作:

      在該[database]部分中,配置數據庫訪問:

      [database]
      
      #...
      connection = mysql+pymysql://glance:GLANCE_DBPASS@controller/glance


      替換GLANCE_DBPASS為您為Glance服務數據庫選擇的密碼。

      在[keystone_authtoken]和[paste_deploy]部分,配置身份服務訪問:

       

      [keystone_authtoken]
      #...
      www_authenticate_uri = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = glance
      password = GLANCE_PASS

       

      [paste_deploy]
       ...
      flavor = keystone

       

      替換GLANCE_PASS為您glance在身份服務中為用戶選擇的密碼 。
      完成安裝
      啟動 Image 服務并將它們配置為在系統啟動時啟動:

      systemctl enable openstack-glance-api.service
      systemctl start openstack-glance-api.service

       

      8.placement
      1.創建數據庫
      要創建數據庫,請完成以下步驟:
      使用數據庫訪問客戶端以root用戶身份連接數據庫服務器:

      $ mysql -u root -p

      創建placement數據庫:

      MariaDB [(none)]> CREATE DATABASE placement;

       

      授予對數據庫的適當訪問權限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'localhost' IDENTIFIED BY 'PLACEMENT_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON placement.* TO 'placement'@'%' IDENTIFIED BY 'PLACEMENT_DBPASS';

       

      替換PLACEMENT_DBPASS為合適的密碼。

      退出數據庫訪問客戶端。

      2.配置用戶和端點
      來源admin憑據來訪問僅管理員CLI命令:

      $ . admin-openrc

       

      使用您選擇的創建一個安置服務用戶PLACEMENT_PASS:

      $ openstack user create --domain default --password-prompt placement

       

      3.將 Placement 用戶添加到具有 admin 角色的服務項目:

      $ openstack role add --project service --user placement admin

       

      4.在服務目錄中創建 Placement API 條目:

      $ openstack service create --name placement \
        --description "Placement API" placement

       

      5.創建 Placement API 服務端點:
      (根據環境,端點的 URL 會因端口(可能是 8780 而不是 8778,或者根本沒有端口)和主機名而異。確定正確的 URL。)

      $ openstack endpoint create --region RegionOne \
        placement public http://controller:8778
      $ openstack endpoint create --region RegionOne \
        placement internal http://controller:8778
      $ openstack endpoint create --region RegionOne \
        placement admin http://controller:8778

       

      安裝和配置組件
      1.安裝軟件包:

      yum install openstack-placement-api -y

       

      2.編輯/etc/placement/placement.conf文件并完成以下操作:
      #vi /etc/placement/placement.conf

      在該[placement_database]部分中,配置數據庫訪問:

      [placement_database]
      # ...
      connection = mysql+pymysql://placement:PLACEMENT_DBPASS@controller/placement

       

      替換PLACEMENT_DBPASS為您為展示位置數據庫選擇的密碼。

      在[api]和[keystone_authtoken]部分,配置身份服務訪問:

      [api]
       ...
      auth_strategy = keystone

       

      
      [keystone_authtoken]
      #...
      auth_url = http://controller:5000/v3
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = placement
      password = PLACEMENT_PASS

       


      替換PLACEMENT_PASS為您placement在身份服務中為用戶選擇的密碼 。

      筆記 注釋掉或刪除該[keystone_authtoken] 部分中的任何其他選項。
      、的值user_name,password,project_domain_name并
      user_domain_name需要在你的keystone配置同步。

      3.填充placement數據庫:

      su -s /bin/sh -c "placement-manage db sync" placement

       

      完成安裝
      4.重啟httpd服務:

      systemctl restart httpd

       

      9.nova控制節點
      1.使用數據庫訪問客戶端以root用戶身份連接數據庫服務器:

      $ mysql -u root -p

       

      創建nova_api,nova和nova_cell0數據庫:

      MariaDB [(none)]> CREATE DATABASE nova_api;
      MariaDB [(none)]> CREATE DATABASE nova;
      MariaDB [(none)]> CREATE DATABASE nova_cell0;

      授予對數據庫的適當訪問權限:

      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';
      
      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';
      
      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_DBPASS為合適的密碼。(這里設置的是123456)

      數據庫訪問客戶端。

      2.來源admin憑據來訪問僅管理員CLI命令:

      $ . admin-openrc

       

      3.創建計算服務憑證:
      創建nova用戶:

      $ openstack user create --domain default --password-prompt nova

       

      admin為nova用戶添加角色:

      $ openstack role add --project service --user nova admin

       

      此命令不提供任何輸出。

      創建nova服務實體:

      $ openstack service create --name nova \
        --description "OpenStack Compute" compute

       

      4.創建 Compute API 服務端點:

      $ openstack endpoint create --region RegionOne \
        compute public http://controller:8774/v2.1
       
      $ openstack endpoint create --region RegionOne \
        compute internal http://controller:8774/v2.1
       
      $ openstack endpoint create --region RegionOne \
        compute admin http://controller:8774/v2.1

       

      安裝和配置組件
      1.安裝軟件包:

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

       

      2.編輯/etc/nova/nova.conf文件并完成以下操作:
      #vi /etc/nova/nova.conf
      在該[DEFAULT]部分中,僅啟用計算和元數據 API:

      [DEFAULT]
      #...
      enabled_apis = osapi_compute,metadata

       

      在[api_database]和[database]部分,配置數據庫訪問:

      [api_database]
      ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova_api

       

      [database]
       ...
      connection = mysql+pymysql://nova:NOVA_DBPASS@controller/nova


      替換NOVA_DBPASS為您為 數據庫選擇的密碼。

      在該[DEFAULT]部分,配置RabbitMQ消息隊列訪問:

      [DEFAULT]
       ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/

       

      替換RABBIT_PASS為您為 中的openstack 帳戶選擇的密碼。

      在[api]和[keystone_authtoken]部分,配置身份服務訪問:

      [api]
       ...
      auth_strategy = keystone

       

      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000/
      auth_url = http://controller:5000/
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = nova
      password = NOVA_PASS

       

      替換NOVA_PASS為您nova在身份服務中為用戶選擇的密碼。

      筆記 注釋掉或刪除該[keystone_authtoken] 部分中的任何其他選項。

      在該[DEFAULT]部分中,配置my_ip選項以使用控制器節點的管理接口 IP 地址:

      [DEFAULT]
       ...
      my_ip = 192.168.44.3

       

      在該[DEFAULT]部分中,啟用對網絡服務的支持:

      [DEFAULT]
       ...
      use_neutron = true
      firewall_driver = nova.virt.firewall.NoopFirewallDriver

       

      筆記 默認情況下,Compute
      使用內部防火墻驅動程序。由于網絡服務包括防火墻驅動程序,您必須使用nova.virt.firewall.NoopFirewallDriver防火墻驅動程序禁用計算防火墻驅動程序。

      配置/etc/nova/nova.conf的[neutron]部分。有關更多詳細信息,請參閱網絡服務安裝指南。

      在該[vnc]部分中,將 VNC 代理配置為使用控制器節點的管理接口 IP 地址:

      [vnc]
      enabled = true
       ...
      server_listen = $my_ip
      server_proxyclient_address = $my_ip

       

      在該[glance]部分中,配置 Image 服務 API 的位置:

      [glance]
       ...
      api_servers = http://controller:9292

       

      在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
       ...
      lock_path = /var/lib/nova/tmp

       

      在[placement]部分中,配置對 Placement 服務的訪問:

      [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 = PLACEMENT_PASS

       

      替換PLACEMENT_PASS為您為placement安裝Placement時創建的服務用戶 選擇的密碼 。注釋掉或刪除該[placement]部分中的任何其他選項。

      3.填充nova-api數據庫:

      su -s /bin/sh -c "nova-manage api_db sync" nova

       

      4.注冊cell0數據庫:

      su -s /bin/sh -c "nova-manage cell_v2 map_cell0" nova

       

      5.創建cell1單元格:

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

       

      6.填充 nova 數據庫:

      su -s /bin/sh -c "nova-manage db sync" nova

       

      7.驗證 nova cell0 和 cell1 是否正確注冊:

      su -s /bin/sh -c "nova-manage cell_v2 list_cells" nova

       

      完成安裝
      啟動 Compute 服務并將它們配置為在系統啟動時啟動:

      systemctl enable \
          openstack-nova-api.service \
          openstack-nova-scheduler.service \
          openstack-nova-conductor.service \
          openstack-nova-novncproxy.service
      systemctl start \
          openstack-nova-api.service \
          openstack-nova-scheduler.service \
          openstack-nova-conductor.service \
          openstack-nova-novncproxy.service

       

      10.nova計算節點
      安裝軟件包:

      yum install openstack-nova-compute libvirt -y

       

      編輯/etc/nova/nova.conf文件并完成以下操作:
      #vi /etc/nova/nova.conf
      在該[DEFAULT]部分中,僅啟用計算和元數據 API:

      [DEFAULT]
       ...
      enabled_apis = osapi_compute,metadata

       

      在該[DEFAULT]部分,配置RabbitMQ消息隊列訪問:

      [DEFAULT]
       ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller

       

      替換RABBIT_PASS為您為 中的openstack 帳戶選擇的密碼。

      在[api]和[keystone_authtoken]部分,配置身份服務訪問:

      [api]
       ...
      auth_strategy = keystone
      
      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000/
      auth_url = http://controller:5000/
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = Default
      user_domain_name = Default
      project_name = service
      username = nova
      password = NOVA_PASS

       

      替換NOVA_PASS為您nova在身份服務中為用戶選擇的密碼。

      在該[DEFAULT]部分中,配置my_ip選項:

      [DEFAULT]
       ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

       

      替換MANAGEMENT_INTERFACE_IP_ADDRESS為計算節點上管理網絡接口的 IP 地址,
      在該[DEFAULT]部分中,啟用對網絡服務的支持:

      [DEFAULT]
       ...
      use_neutron = true
      firewall_driver = nova.virt.firewall.NoopFirewallDriver

       

      筆記 默認情況下,Compute 使用內部防火墻服務。由于網絡包括防火墻服務,您必須使用nova.virt.firewall.NoopFirewallDriver防火墻驅動程序禁用計算防火墻服務。

      在[vnc]部分中,啟用和配置遠程控制臺訪問:

      [vnc]
       ...
      enabled = true
      server_listen = 0.0.0.0
      server_proxyclient_address = $my_ip
      novncproxy_base_url = http://controller:6080/vnc_auto.html

       

      服務器組件偵聽所有 IP 地址,代理組件僅偵聽計算節點的管理接口 IP 地址?;?URL 指示您可以使用 Web瀏覽器訪問此計算節點上實例的遠程控制臺的位置。 如果用于訪問遠程控制臺的 Web
      瀏覽器駐留在無法解析controller主機名的主機上,則必須替換 controller為控制器節點的管理接口 IP 地址。

      在該[glance]部分中,配置 Image 服務 API 的位置:

      [glance]
       ...
      api_servers = http://controller:9292

       

      在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
      ...
      lock_path = /var/lib/nova/tmp

       

      在[placement]部分中,配置 Placement API:

      [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 = PLACEMENT_PASS

       

      替換PLACEMENT_PASS為您placement在身份服務中為用戶選擇的密碼 。注釋掉該[placement]部分中的任何其他選項。
      完成安裝
      1.確定計算節點是否支持虛擬機的硬件加速:

      $ egrep -c '(vmx|svm)' /proc/cpuinfo

       

      如果此命令返回值one or greater,則計算節點支持硬件加速,這通常不需要額外配置。
      如果此命令返回值zero,則計算節點不支持硬件加速,您必須配置libvirt為使用 QEMU 而不是 KVM。

      編輯文件中的[libvirt]部分,/etc/nova/nova.conf如下所示:

      [libvirt]
       ...
      virt_type = qemu

       

      啟動 Compute 服務及其依賴項,并將它們配置為在系統啟動時自動啟動:

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

       

      如果有遇到起不起來rabbitmq一直報連接不上的加下這條

       compute_driver=libvirt.LibvirtDriver

       

      將計算節點添加到單元數據庫
      在控制器節點上運行以下命令:
      1.獲取管理員憑據以啟用僅限管理員的 CLI 命令,然后確認數據庫中有計算主機:

      $ . admin-openrc
      $ openstack compute service list --service nova-compute

       

      2.發現計算主機

      su -s /bin/sh -c "nova-manage cell_v2 discover_hosts --verbose" nova

       

      11.neutron控制節點
      1.要創建數據庫,請完成以下步驟:
      用數據庫訪問客戶端以root用戶身份連接數據庫服務器:

      $ mysql -u root -p

       

      創建neutron數據庫:

      MariaDB [(none)] CREATE DATABASE neutron;

       

      授予對neutron數據庫的適當訪問權限,替換 NEUTRON_DBPASS為合適的密碼:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost'  IDENTIFIED BY 'NEUTRON_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%'  IDENTIFIED BY 'NEUTRON_DBPASS';

       

      退出數據庫訪問客戶端。
      2.來源admin憑據來訪問僅管理員CLI命令:

      $ . admin-openrc

       

      3.要創建服務憑證,請完成以下步驟:
      創建neutron用戶:

      $ openstack user create --domain default --password-prompt neutron

       

      admin為neutron用戶添加角色:

      $ openstack role add --project service --user neutron admin

       

      此命令不提供任何輸出。

      創建neutron服務實體:

      $ openstack service create --name neutron \
        --description "OpenStack Networking" network

       

      4.創建網絡服務 API 端點:

      $ openstack endpoint create --region RegionOne \
        network public http://controller:9696
      $ openstack endpoint create --region RegionOne \
        network internal http://controller:9696
      
      $ openstack endpoint create --region RegionOne \
        network admin http://controller:9696

       

      配置網絡選項 可以使用以下兩種體系結構之一部署網絡服務 以選項1和2為代表。

      選項 1 部署了最簡單的體系結構,該體系結構僅支持 將實例附加到提供商(外部)網絡。沒有自助服務(私人) 網絡、路由器或浮動 IP
      地址。只有 或其他 特權用戶可以管理提供商網絡。admin

      選項 2 使用支持連接的第 1 層服務擴充選項 3 實例到自助服務網絡。或其他非特權 用戶可以管理自助服務網絡,包括提供
      自助服務和提供商網絡之間的連接。此外 浮動 IP 地址使用自助服務提供與實例的連接 來自外部網絡(如互聯網)的網絡。demo

      自助服務網絡通常使用覆蓋網絡。疊加網絡 VXLAN 等協議包括增加開銷的其他標頭 并減少可用于有效負載或用戶數據的空間。沒有知識
      的虛擬網絡基礎結構,實例嘗試發送數據包 使用默認以太網最大傳輸單元 (MTU) 1500 字節。網絡服務自動提供正確的 MTU 值 通過
      DHCP 傳輸到實例。但是,某些云映像不使用 DHCP 或忽略 DHCP MTU 選項,并需要使用元數據或腳本進行配置。

      注意 選項 2 還支持將實例附加到提供商網絡。
      選項1請參考官網:https://docs.openstack.org/neutron/train/install/controller-install-option1-rdo.html
      網絡選項 2:自助服務網絡

      yum install openstack-neutron openstack-neutron-ml2 \
        openstack-neutron-linuxbridge ebtables ipset -y

      配置服務器組件
      編輯/etc/neutron/neutron.conf文件并完成以下操作:
      #vi /etc/neutron/neutron.conf
      在該[database]部分中,配置數據庫訪問:

      [database]
       ...
      connection = mysql+pymysql://neutron:NEUTRON_DBPASS@controller/neutron

       

      替換NEUTRON_DBPASS為您為數據庫選擇的密碼。

      在該[DEFAULT]部分中,啟用模塊化第 2 層 (ML2) 插件、路由器服務和重疊 IP 地址:

      [DEFAULT]
       ...
      core_plugin = ml2
      service_plugins = router
      allow_overlapping_ips = true

       

      在該[DEFAULT]部分,配置RabbitMQ 消息隊列訪問:

      [DEFAULT]
      #...
      transport_url = rabbit://openstack:RABBIT_PASS@controller

       

      替換RABBIT_PASS為您openstack在 RabbitMQ 中為帳戶選擇的密碼 。

      在[DEFAULT]和[keystone_authtoken]部分,配置身份服務訪問:

      [DEFAULT]
       ...
      auth_strategy = keystone
      
      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = neutron
      password = NEUTRON_PASS

       

      替換NEUTRON_PASS為您neutron 在身份服務中為用戶選擇的密碼。

      注釋掉或刪除該[keystone_authtoken]部分中的任何其他選項 。

      在[DEFAULT]和[nova]部分中,配置 Networking 以通知 Compute 網絡拓撲更改:

      [DEFAULT]
      ...
      notify_nova_on_port_status_changes = true
      notify_nova_on_port_data_changes = true

       

      [nova]
       ...
      auth_url = http://controller:5000
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      region_name = RegionOne
      project_name = service
      username = nova
      password = NOVA_PASS


      替換NOVA_PASS為您nova 在身份服務中為用戶選擇的密碼。

      在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
       ...
      lock_path = /var/lib/neutron/tmp

       

      配置模塊化第 2 層 (ML2) 插件
      ML2 插件使用 Linux 橋接機制為實例構建第 2 層(橋接和交換)虛擬網絡基礎設施。
      編輯/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作:
      #vi /etc/neutron/plugins/ml2/ml2_conf.ini
      在該[ml2]部分中,啟用平面、VLAN 和 VXLAN 網絡:

      [ml2]
       ...
      type_drivers = flat,vlan,vxlan


      在該[ml2]部分中,啟用 VXLAN 自助網絡:

      [ml2]
       ...
      tenant_network_types = vxlan

       

      在該[ml2]部分中,啟用 Linux 橋接和二層填充機制:

      [ml2]
      
       ...
      mechanism_drivers = linuxbridge,l2population


      警告 配置 ML2 插件后,刪除type_drivers選項中的值 可能會導致數據庫不一致。

      Linux 網橋代理僅支持 VXLAN 覆蓋網絡。

      在該[ml2]部分中,啟用端口安全擴展驅動程序:

      [ml2]
       ...
      extension_drivers = port_security

       

      在該[ml2_type_flat]部分中,將提供者虛擬網絡配置為平面網絡:

      [ml2_type_flat]
       ...
      flat_networks = provider

       

      在該[ml2_type_vxlan]部分中,配置自助網絡的 VXLAN 網絡標識符范圍:

      [ml2_type_vxlan]
      #...
      vni_ranges = 1:1000

       

      在該[securitygroup]部分中,啟用ipset以提高安全組規則的效率:

      [securitygroup]
       ...
      enable_ipset = true

       

      配置 Linux 網橋代理
      Linux 橋接代理為實例構建第 2 層(橋接和交換)虛擬網絡基礎架構并處理安全組。
      編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下操作:
      在該[linux_bridge]部分中,將提供者虛擬網絡映射到提供者物理網絡接口:

      [linux_bridge]
      physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

       

      替換PROVIDER_INTERFACE_NAME為底層提供者物理網絡接口的名稱。ens33
      在該[vxlan]部分中,啟用VXLAN覆蓋網絡,配置處理覆蓋網絡的物理網絡接口的IP地址,并啟用二層填充:

      [vxlan]
      enable_vxlan = true
      local_ip = OVERLAY_INTERFACE_IP_ADDRESS
      l2_population = true

       

      替換OVERLAY_INTERFACE_IP_ADDRESS為處理覆蓋網絡的底層物理網絡接口的 IP 地址。示例架構使用管理接口將流量隧道傳輸到其他節點。因此,替換OVERLAY_INTERFACE_IP_ADDRESS為控制器節點的管理 IP 地址。有關詳細信息,請參閱 主機網絡。

      在該[securitygroup]部分中,啟用安全組并配置 Linux 網橋 iptables 防火墻驅動程序:

      [securitygroup]
       ...
      enable_security_group = true
      firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

       

      通過驗證以下所有sysctl值都設置為,確保您的 Linux 操作系統內核支持網橋過濾器1:
      編輯/etc/sysctl.conf加入:

      net.bridge.bridge-nf-call-iptables = 1
      net.bridge.bridge-nf-call-ip6tables = 1

       

      保存退出,輸入modprobe br_netfilter加載內核模塊,最后sysctl -p查看是否生效

       modprobe br_netfilter
       sysctl -p

       

      要啟用網絡橋接支持,通常br_netfilter需要加載內核模塊。有關啟用此模塊的其他詳細信息,請查看操作系統的文檔。

      配置三層代理
      第 3 層 (L3) 代理為自助服務虛擬網絡提供路由和 NAT 服務。

      編輯/etc/neutron/l3_agent.ini文件并完成以下操作:

      在該[DEFAULT]部分中,配置 Linux 橋接接口驅動程序:

      [DEFAULT]
       ...
      interface_driver = linuxbridge

       

      配置 DHCP 代理
      DHCP 代理為虛擬網絡提供 DHCP 服務。
      編輯/etc/neutron/dhcp_agent.ini文件并完成以下操作:
      在該[DEFAULT]部分中,配置 Linux 橋接接口驅動程序、Dnsmasq DHCP 驅動程序,并啟用隔離元數據,以便提供商網絡上的實例可以通過網絡訪問元數據:

      [DEFAULT]
       ...
      interface_driver = linuxbridge
      dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
      enable_isolated_metadata = true

       

      配置元數據代理
      元數據代理向實例提供配置信息,例如憑據。

      編輯/etc/neutron/metadata_agent.ini文件并完成以下操作:

      在該[DEFAULT]部分中,配置元數據主機和共享密鑰:

      [DEFAULT]
       ...
      nova_metadata_host = controller
      metadata_proxy_shared_secret = METADATA_SECRET

       

      替換METADATA_SECRET為元數據代理的合適密鑰。

      配置 Compute 服務以使用 Networking 服務

      筆記 必須安裝 Nova 計算服務才能完成此步驟。有關更多詳細信息,請參閱文檔網站安裝指南部分下的計算安裝指南 。

      編輯/etc/nova/nova.conf文件并執行以下操作:

      在該[neutron]部分中,配置訪問參數,啟用元數據代理,并配置密鑰:

      [neutron]
       ...
      auth_url = http://controller:5000
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      region_name = RegionOne
      project_name = service
      username = neutron
      password = NEUTRON_PASS
      service_metadata_proxy = true
      metadata_proxy_shared_secret = METADATA_SECRET

       

      替換NEUTRON_PASS為您neutron 在身份服務中為用戶選擇的密碼。
      替換METADATA_SECRET為您為元數據代理選擇的機密。
      請參閱計算服務配置指南 以獲取完整的選項集,包括必要時覆蓋服務目錄端點 URL。

      完成安裝
      1.網絡服務初始化腳本需要一個/etc/neutron/plugin.ini指向 ML2 插件配置文件的符號鏈接 /etc/neutron/plugins/ml2/ml2_conf.ini。如果此符號鏈接不存在,請使用以下命令創建它:

      ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

       

      2.填充數據庫:

       su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
        --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron

       

      3.重啟計算 API 服務:

       systemctl restart openstack-nova-api.service

       

      4.啟動網絡服務并將它們配置為在系統啟動時啟動。

      對于兩個網絡選項:

       systemctl enable neutron-server.service \
        neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
        neutron-metadata-agent.service
       systemctl start neutron-server.service \
        neutron-linuxbridge-agent.service neutron-dhcp-agent.service \
        neutron-metadata-agent.service

       

      對于網絡選項 2,還啟用并啟動第 3 層服務:

      systemctl enable neutron-l3-agent.service
      systemctl start neutron-l3-agent.service

       

      12.neutron計算節點
      安裝組件

       yum install openstack-neutron-linuxbridge ebtables ipset -y

       

      配置通用組件
      Networking 通用組件配置包括身份驗證機制、消息隊列和插件。

      編輯/etc/neutron/neutron.conf文件并完成以下操作:
      在該[database]部分中,注釋掉所有connection選項,因為計算節點不直接訪問數據庫。
      在該[DEFAULT]部分,配置RabbitMQ 消息隊列訪問:

      [DEFAULT]
       ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller

       

      替換RABBIT_PASS為您openstack 在 RabbitMQ 中為帳戶選擇的密碼。

      在[DEFAULT]和[keystone_authtoken]部分,配置身份服務訪問:

      [DEFAULT]
      ...
      auth_strategy = keystone
      
      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = neutron
      password = NEUTRON_PASS

       

      替換NEUTRON_PASS為您neutron 在身份服務中為用戶選擇的密碼。

      在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
       ...
      lock_path = /var/lib/neutron/tmp

       

      在計算節點上配置網絡組件。

      配置 Linux 網橋代理
      Linux 橋接代理為實例構建第 2 層(橋接和交換)虛擬網絡基礎架構并處理安全組。

      編輯/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并完成以下操作:

      在該[linux_bridge]部分中,將提供者虛擬網絡映射到提供者物理網絡接口:

      [linux_bridge]
      physical_interface_mappings = provider:PROVIDER_INTERFACE_NAME

       

      替換PROVIDER_INTERFACE_NAME為底層提供者物理網絡接口的名稱。有關 詳細信息,請參閱主機網絡。

      在該[vxlan]部分中,啟用VXLAN覆蓋網絡,配置處理覆蓋網絡的物理網絡接口的IP地址,并啟用二層填充:

      [vxlan]
      enable_vxlan = true
      local_ip = OVERLAY_INTERFACE_IP_ADDRESS
      l2_population = true

       

      替換OVERLAY_INTERFACE_IP_ADDRESS為處理覆蓋網絡的底層物理網絡接口的 IP 地址。示例架構使用管理接口將流量隧道傳輸到其他節點。因此,替換OVERLAY_INTERFACE_IP_ADDRESS為計算節點的管理IP地址。有關詳細信息,請參閱 主機網絡。

      在該[securitygroup]部分中,啟用安全組并配置 Linux 網橋 iptables 防火墻驅動程序:

      [securitygroup]
       ...
      enable_security_group = true
      firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

       

      通過驗證以下所有sysctl值都設置為,確保您的 Linux 操作系統內核支持網橋過濾器1:
      編輯/etc/sysctl.conf加入:

      net.bridge.bridge-nf-call-iptables = 1
      net.bridge.bridge-nf-call-ip6tables = 1

       

      保存退出,輸入modprobe br_netfilter加載內核模塊,最后sysctl -p查看是否生效

       modprobe br_netfilter
       sysctl -p

       

      要啟用網絡橋接支持,通常br_netfilter需要加載內核模塊。有關啟用此模塊的其他詳細信息,請查看操作系統的文檔。

      配置 Compute 服務以使用 Networking 服務
      編輯/etc/nova/nova.conf文件并完成以下操作:

      在該[neutron]部分,配置訪問參數:

      [neutron]
       ...
      auth_url = http://controller:5000
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      region_name = RegionOne
      project_name = service
      username = neutron
      password = NEUTRON_PASS


      替換NEUTRON_PASS為您neutron 在身份服務中為用戶選擇的密碼。

      完成安裝
      1.重啟計算服務:

       systemctl restart openstack-nova-compute.service

       

      2.啟動 Linux 網橋代理并將其配置為在系統啟動時啟動:

      systemctl enable neutron-linuxbridge-agent.service
      systemctl start neutron-linuxbridge-agent.service

       

      13.dashboard:
      本節假設使用 Apache HTTP 服務器和 Memcached 服務正確安裝、配置和操作 Identity 服務。
      安裝和配置組件
      1.安裝軟件包:

      yum install openstack-dashboard -y

       

      2.編輯 /etc/openstack-dashboard/local_settings 文件并完成以下操作:
      配置儀表板以在controller節點上使用 OpenStack 服務 :

      OPENSTACK_HOST = "controller"
      ALLOWED_HOSTS = ['horizon.example.com', '*']
      SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
      CACHES = {
      'default': {
      'BACKEND':
      'django.core.cache.backends.memcached.MemcachedCache',
      'LOCATION': 'controller:11211',
      }
      }
      OPENSTACK_KEYSTONE_URL = "http://%s:5000/v3" % OPENSTACK_HOST
      OPENSTACK_KEYSTONE_MULTIDOMAIN_SUPPORT = True
      OPENSTACK_API_VERSIONS = {
      "identity": 3,
      "image": 2,
      "volume": 3,
      }
      OPENSTACK_KEYSTONE_DEFAULT_DOMAIN = "Default"
      OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"
      OPENSTACK_NEUTRON_NETWORK = {
      'enable_lb': False,
      'enable_firewall': False,
      'enable_vpn': False,
      'enable_auto_allocated_network': False,
      'enable_distributed_router': False,
      'enable_fip_topology_check': False,
      'enable_ha_router': False,
      'enable_ipv6': False,
      'enable_quotas': False,
      'enable_rbac_policy': False,
      'enable_router': False,
      }
      TIME_ZONE = "Asia/Shanghai"
      WEBROOT="/dashboard"


      替換TIME_ZONE為適當的時區標識符。有關更多信息,請參閱時區列表。

      /etc/httpd/conf.d/openstack-dashboard.conf如果不包括,則添加以下行 。

      WSGIApplicationGroup %{GLOBAL}

       

      完成安裝
      重新啟動 Web 服務器和會話存儲服務:

      systemctl restart httpd.service memcached.service

       

      14.cinder控制節點
      1.使用數據庫訪問客戶端以root用戶身份連接數據庫服務器:

      $ mysql -u root -p

       

      創建cinder數據庫:

      MariaDB [(none)]> CREATE DATABASE cinder;

       

      授予對cinder數據庫的適當訪問權限:

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
        IDENTIFIED BY 'CINDER_DBPASS';
      MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
        IDENTIFIED BY 'CINDER_DBPASS';


      替換CINDER_DBPASS為合適的密碼。
      退出數據庫訪問客戶端。

      2.來源admin憑據來訪問僅管理員CLI命令:

      $ . admin-openrc

       

      3.要創建服務憑證,請完成以下步驟:
      創建cinder用戶:

       $ openstack user create --domain default --password-prompt cinder

       

      admin為cinder用戶添加角色:

      $ openstack role add --project service --user cinder admin

       

      創建cinderv2和cinderv3服務實體:

       $ openstack service create --name cinderv2 \
        --description "OpenStack Block Storage" volumev2
       
       $ openstack service create --name cinderv3 \
        --description "OpenStack Block Storage" volumev3

       

      (塊存儲服務需要兩個服務實體。)

      4.創建塊存儲服務 API 端點:

      $ openstack endpoint create --region RegionOne \
        volumev2 public http://controller:8776/v2/%\(project_id\)s
      $ openstack endpoint create --region RegionOne \
        volumev2 internal http://controller:8776/v2/%\(project_id\)s
      $ openstack endpoint create --region RegionOne \
        volumev2 admin http://controller:8776/v2/%\(project_id\)s
      $ openstack endpoint create --region RegionOne \
        volumev3 public http://controller:8776/v3/%\(project_id\)s
      $ openstack endpoint create --region RegionOne \
        volumev3 internal http://controller:8776/v3/%\(project_id\)s
      $ openstack endpoint create --region RegionOne \
        volumev3 admin http://controller:8776/v3/%\(project_id\)s

       

      (塊存儲服務需要每個服務實體的端點。)

      安裝和配置組件
      1.安裝軟件包:

       yum install openstack-cinder -y

       

      2.編輯/etc/cinder/cinder.conf文件并完成以下操作:
      #vi /etc/cinder/cinder.conf
      在該[database]部分中,配置數據庫訪問:

      [database]
       ...
      connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

       

      替換CINDER_DBPASS為您為 Block Storage 數據庫選擇的密碼。

      在該[DEFAULT]部分,配置RabbitMQ 消息隊列訪問:

      [DEFAULT]
       ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller

       

      替換RABBIT_PASS為您為 中的openstack帳戶選擇的密碼 RabbitMQ。

      在[DEFAULT]和[keystone_authtoken]部分,配置身份服務訪問:

      [DEFAULT]
       ...
      auth_strategy = keystone
      
      
      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = cinder
      password = CINDER_PASS

       

      替換CINDER_PASS為您cinder在身份服務中為用戶選擇的密碼。

      注釋掉或刪除該[keystone_authtoken]部分中的任何其他選項 。

      在該[DEFAULT]部分中,配置my_ip選項以使用控制器節點的管理接口 IP 地址:

      [DEFAULT]
       ...
      my_ip = 192.168.44.3

       

      3.在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
       ...
      lock_path = /var/lib/cinder/tmp

       

      4.填充塊存儲數據庫:

       su -s /bin/sh -c "cinder-manage db sync" cinder

       

      (忽略此輸出中的任何棄用消息。)

      配置 Compute 以使用塊存儲
      1.編輯/etc/nova/nova.conf文件并將以下內容添加到其中:

      [cinder]
      os_region_name = RegionOne

       

      完成安裝
      1.重啟計算 API 服務:

      systemctl restart openstack-nova-api.service

       

      2.啟動塊存儲服務并配置它們在系統啟動時啟動:

       systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
       systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

       

      15.cinder計算節點
      1.安裝支持的實用程序包:
      安裝 LVM 包:

       yum install lvm2 device-mapper-persistent-data

       

      啟動 LVM 元數據服務并將其配置為在系統啟動時啟動:

       systemctl enable lvm2-lvmetad.service
       systemctl start lvm2-lvmetad.service

       

      2.創建 LVM 物理卷/dev/sdb;

      $ pvcreate /dev/sdb
      Physical volume "/dev/sda1" successfully created

       

      3.創建 LVM 卷組cinder-volumes:

      $ vgcreate cinder-volumes /dev/sdb
       Volume group "cinder-volumes" successfully created

       

      Block Storage 服務在這個卷組中創建邏輯卷。

      4.只有實例可以訪問塊存儲卷。但是,底層操作系統管理與卷關聯的設備。默認情況下,LVM 卷掃描工具會掃描/dev包含卷的塊存儲設備的 目錄。如果項目在其卷上使用 LVM,掃描工具會檢測這些卷并嘗試緩存它們,這可能會導致底層操作系統和項目卷出現各種問題。您必須重新配置 LVM 以僅掃描包含cinder-volumes卷組的設備。編輯 /etc/lvm/lvm.conf文件并完成以下操作:
      在該devices部分中,添加一個接受/dev/sdb設備并拒絕所有其他設備的過濾 器:

      devices {
      ...
      filter = [ "a/sdb/", "r/.*/"]

       

      濾波器陣列中的每個項目開始于a用于接受或 r用于拒絕,并且包括用于所述裝置名稱的正則表達式。該陣列必須r/.*/以拒絕任何剩余設備結束。您可以使用vgs -vvvv命令來測試過濾器。

      警告 如果您的存儲節點在操作系統磁盤上使用 LVM,您還必須將關聯的設備添加到過濾器中。例如,如果/dev/sda設備包含操作系統:
      filter = [ “a/sda/”, “a/sdb/”, “r/./"] 同樣,如果您的計算節點在操作系統磁盤上使用
      LVM,您還必須修改/etc/lvm/lvm.conf這些節點上文件中的過濾器 以僅包含操作系統磁盤。例如,如果/dev/sda
      設備包含操作系統: filter = [ “a/sda/”, "r/./”]

      安裝和配置組件
      1.安裝軟件包:

       yum install openstack-cinder targetcli python-keystone -y


      2.編輯/etc/cinder/cinder.conf文件并完成以下操作:
      在該[database]部分中,配置數據庫訪問:

      [database]
       ...
      connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

       

      替換CINDER_DBPASS為您為 Block Storage 數據庫選擇的密碼。

      在該[DEFAULT]部分,配置RabbitMQ 消息隊列訪問:

      [DEFAULT]
       ...
      transport_url = rabbit://openstack:RABBIT_PASS@controller

       

      替換RABBIT_PASS為您為 中的openstack帳戶選擇的密碼。

      在[DEFAULT]和[keystone_authtoken]部分,配置身份服務訪問:

      [DEFAULT]
       ...
      auth_strategy = keystone
      
      [keystone_authtoken]
       ...
      www_authenticate_uri = http://controller:5000
      auth_url = http://controller:5000
      memcached_servers = controller:11211
      auth_type = password
      project_domain_name = default
      user_domain_name = default
      project_name = service
      username = cinder
      password = CINDER_PASS

       

      替換CINDER_PASS為您cinder在身份服務中為用戶選擇的密碼 。

      注釋掉或刪除該[keystone_authtoken]部分中的任何其他選項 。

      在該[DEFAULT]部分中,配置my_ip選項:

      [DEFAULT]
       ...
      my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

       

      替換MANAGEMENT_INTERFACE_IP_ADDRESS為存儲節點上管理網絡接口的 IP 地址

      在該[lvm]部分中,使用 LVM 驅動程序、cinder-volumes卷組、iSCSI 協議和適當的 iSCSI 服務配置 LVM 后端。如果該[lvm]部分不存在,請創建它:

      [lvm]
      volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
      volume_group = cinder-volumes
      target_protocol = iscsi
      target_helper = lioadm

       

      在該[DEFAULT]部分中,啟用 LVM 后端:

      [DEFAULT]
      ...
      enabled_backends = lvm

       

      后端名稱是任意的。例如,本指南使用驅動程序的名稱作為后端的名稱。

      在該[DEFAULT]部分中,配置 Image 服務 API 的位置:

      [DEFAULT]
       ...
      glance_api_servers = http://controller:9292

       

      在該[oslo_concurrency]部分中,配置鎖定路徑:

      [oslo_concurrency]
      #...
      lock_path = /var/lib/cinder/tmp

       

      完成安裝
      啟動 Block Storage 卷服務及其依賴項,并將它們配置為在系統啟動時啟動:

       systemctl enable openstack-cinder-volume.service target.service
       systemctl start openstack-cinder-volume.service target.service

       

      登錄dsahboard

      http://192.168.44.3/dashboard

       

      控制節點ip登錄

      下面進行安裝好openstack后的操作,在控制節點上,加載. admin-openrc后進行創建網絡、規格、安全組、密鑰等

      創建網絡:

      openstack network create  --share --external --provider-physical-network provider --provider-network-type flat provider        
      openstack subnet create --network provider --allocation-pool start=192.168.44.10,end=192.168.50.254 --gateway 192.168.0.254 --subnet-range 192.168.0.0/16 provider

       

      創建規格:

      openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano

       

      創建密鑰對:

      ssh-keygen -q -N ""
      openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey

       

      創建安全組并允許SSH訪問:

      openstack security group rule create --proto icmp default 
      openstack security group rule create --proto tcp --dst-port 22 default

       

      創建個user的,不然后面創建項目創建用戶會報找不到token

      openstack role create user

       

      創建一個鏡像文件

      Touch cirros-0.5.2-x86_64-disk.img

       

      上傳鏡像:

      openstack image create NEW_IMAGE_NAME --container-format bare --disk-format qcow2 --file IMAGE_URL

       

      最后,在dashboard界面臺中創建實例吧

      openstack云鏡像下載地址:https://cloud.centos.org/centos/7/images/
      官方文檔:https://docs.openstack.org/install-guide/

      posted @ 2024-01-11 16:09  智杰  閱讀(16444)  評論(5)    收藏  舉報
      marquee
      當你的才華還撐不起你的野心的時候,你就應該靜下心來學習。當你的能力還駕馭不了你的目標的時候,你就應該沉下心來歷練。問問自己,想要怎樣的人生
      主站蜘蛛池模板: 人妻丝袜AV中文系列先锋影音| 在线国产精品中文字幕| 干老熟女干老穴干老女人| 国产精品免费观看色悠悠| 99久久er热在这里只有精品99| аⅴ天堂中文在线网| 欧美一本大道香蕉综合视频| 国产精品久久久久久人妻精品| 99人中文字幕亚洲区三| 国产福利深夜在线观看| 性欧美丰满熟妇xxxx性| 国精品无码一区二区三区左线| 性奴sm虐辱暴力视频网站| 精品乱码一区内射人妻无码| 国产超碰人人爽人人做| 97视频精品全国免费观看| 亚洲日本欧美日韩中文字幕 | 精品精品久久宅男的天堂| 国产丰满乱子伦无码专区| 国产白丝无码免费视频| 久久精品第九区免费观看| 成 人色 网 站 欧美大片| 玩弄放荡人妻少妇系列 | 好吊妞| 久久精品国产99久久美女| 99精品国产精品一区二区| 国产免费人成网站在线播放| 18禁无遮挡啪啪无码网站破解版| 亚洲精品国产av成拍色拍个| 老太脱裤子让老头玩xxxxx| 昌平区| 国产台湾黄色av一区二区| 国产午夜福利视频在线| 免费看婬乱a欧美大片| 熟女人妻aⅴ一区二区三区电影| 绯色蜜臀av一区二区不卡| aⅴ精品无码无卡在线观看| 深夜在线观看免费av| 国产成人理论在线视频观看| 99久久国产福利自产拍| 亚洲国产精品综合久久20|