OpenStack安裝(三) Nova模組

小潘東發表於2017-12-14

一、安裝 Nova 前的準備

1. 為KeyStone配置資料庫

提示:以下操作在控制節點完成,為計算服務建立資料庫、服務認證和API端點

  1. 使用資料庫客戶端,以root使用者連線到資料庫中:mysql -u root -p
  2. 建立Nova資料庫:CREATE DATABASE nova;
  3. 為Nova使用者授予資料庫許可權:
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'NOVA_DBPASS';
    GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'NOVA_DBPASS';

2. 建立Nova的身份認證證照

  1. 載入admin使用者的客戶端指令碼:source admin-openrc.sh
  2. 建立nova使用者:openstack user create --password-prompt nova
  3. 將admin角色新增給nova使用者:openstack role add --project service --user nova admin
  4. 建立nova的服務實體:
    openstack service create --name nova --description "OpenStack Compute" compute
  5. 建立計算服務的API endpoint:
    openstack endpoint create --publicurl http://controller:8774/v2/%\(tenant_id\)s --internalurl http://controller:8774/v2/%\(tenant_id\)s --adminurl http://controller:8774/v2/%\(tenant_id\)s --region RegionOne compute

二、在控制節點上安裝和配置Nova

1. 安裝Nova

  1. 安裝Nova:apt-get install -y nova-api nova-cert nova-conductor nova-consoleauth nova-novncproxy nova-scheduler python-novaclient

2. 配置Nova

編輯檔案/etc/nova/nova.conf
小助手:刪除#和空格的命令:cat file | grep -v '^#' | grep -v '^$' > newfile

  1. 修改[database]部分,配置資料庫的連線:connection = mysql://nova:NOVA_DBPASS@controller/nova
    記得密碼替換為自己設定密碼,這是mysql的密碼,並非nova使用者的密碼

  2. 修改[DEFAULT]和[oslo_messaging_rabbit]兩部分, 配置RabbitMQ訊息佇列的訪問:

    rpc_backend = rabbit
    複製程式碼
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = RABBIT_PASS
    複製程式碼
  3. 修改[DEFAULT]和[keystone_authtoken]兩部分,配置身份認證服務的訪問:

    auth_strategy = keystone
    複製程式碼

    注意:修改[keystone_authtoken]部分要註釋掉本部分其他的引數

    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    auth_plugin = password
    project_domain_id = default
    user_domain_id = default
    project_name = service
    username = nova
    password = NOVA_PASS
    複製程式碼
  4. 修改[DEFAULT]部分的my_ip引數,配置控制節點的管理IP地址:

    my_ip = 10.0.0.11
    複製程式碼
  5. 修改[DEFAULT]部分,配置VNC代理以使用控制節點的管理IP地址:

    vncserver_listen = 10.0.0.11
    vncserver_proxyclient_address = 10.0.0.11
    複製程式碼
  6. 修改[glance]部分,配置映象服務的位置:

    host = controller
    複製程式碼
  7. 修改[oslo_concurrency]部分,配置鎖路徑:

    lock_path = /var/lock/nova
    複製程式碼
  8. 可選:在[DEFAULT]部分啟用日誌資訊詳細記錄:

    verbose = True
    複製程式碼

3. 配置Nova資料庫

  1. 為計算服務資料庫新增資料:su -s /bin/sh -c "nova-manage db_sync" nova
  2. 重啟計算服務Nova:
    service nova-api restart
    service nova-cert restart
    service nova-consoleauth restart
    service nova-scheduler restart
    service nova-conductor restart
    service nova-novncproxy restart
    複製程式碼
  3. 刪除ubuntu預設建立的SQLite資料庫:rm -f /var/lib/nova/nova.sqlite

三、在計算節點上安裝和配置Nova

1. 安裝Nova

  1. 安裝Nova:apt-get install -y nova-compute sysfsutils

2. 配置Nova

編輯檔案/etc/nova/nova.conf
小助手:刪除#和空格的命令:cat file | grep -v '^#' | grep -v '^$' > newfile

  1. 修改[database]部分,配置資料庫的連線:connection = mysql://nova:NOVA_DBPASS@controller/nova
    記得密碼替換為自己設定密碼,這是mysql的密碼,並非nova使用者的密碼

  2. 修改[DEFAULT]和[oslo_messaging_rabbit]兩部分, 配置RabbitMQ訊息佇列的訪問:

    rpc_backend = rabbit
    複製程式碼
    rabbit_host = controller
    rabbit_userid = openstack
    rabbit_password = RABBIT_PASS
    複製程式碼
  3. 修改[DEFAULT]和[keystone_authtoken]兩部分,配置身份認證服務的訪問:

    auth_strategy = keystone
    複製程式碼

    注意:修改[keystone_authtoken]部分要註釋掉本部分其他的引數

    auth_uri = http://controller:5000
    auth_url = http://controller:35357
    auth_plugin = password
    project_domain_id = default
    user_domain_id = default
    project_name = service
    username = nova
    password = NOVA_PASS
    複製程式碼
  4. 修改[DEFAULT]部分的my_ip引數,配置控制節點的管理IP地址:

    my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
    複製程式碼
  5. 修改[DEFAULT]部分,配置VNC代理以啟用遠端終端的訪問:

    vnc_enabled = True
    vncserver_listen = 0.0.0.0
    vncserver_proxyclient_address = MANAGEMENT_INTERFACE_IP_ADDRESS
    novncproxy_base_url = http://controller:6080/vnc_auto.html
    複製程式碼
  6. 修改[glance]部分,配置映象服務的位置:

    host = controller
    複製程式碼
  7. 修改[oslo_concurrency]部分,配置鎖路徑:

    lock_path = /var/lock/nova
    複製程式碼
  8. 可選:在[DEFAULT]部分啟用日誌資訊詳細記錄:

    verbose = True
    複製程式碼

3. 完成在計算節點上安裝和配置Nova

  1. 檢查計算節點是否支援虛擬機器的硬體加速:egrep -c '(vmx|svm)' /proc/cpuinfo
    如果輸出值是1或則比這更大,則不需要額外配置
    如果是0,計算節點不支援硬體加速,你必須配置libvirt為QEMU,代替KVM
  2. 修改檔案/etc/nova/nova-compute.conf下的[libvirt]部分:
    virt_type = qemu
    複製程式碼
  3. 重啟計算服務nova:service nova-compute restart
  4. 刪除ubuntu預設建立的SQLite資料庫:rm -f /var/lib/nova/nova.sqlite

四、校驗安裝

提示:在控制節點上進行校驗

  1. 載入admin客戶端指令碼:source admin-openrc.sh
  2. 檢查計算服務的服務元件是否成功地啟動和註冊:nova service-list
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| Id | Binary           | Host       | Zone     | Status  | State | Updated_at                 | Disabled Reason |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
| 1  | nova-conductor   | controller | internal | enabled | up    | 2014-09-16T23:54:02.000000 | -               |
| 2  | nova-consoleauth | controller | internal | enabled | up    | 2014-09-16T23:54:04.000000 | -               |
| 3  | nova-scheduler   | controller | internal | enabled | up    | 2014-09-16T23:54:07.000000 | -               |
| 4  | nova-cert        | controller | internal | enabled | up    | 2014-09-16T23:54:00.000000 | -               |
| 5  | nova-compute     | compute1   | nova     | enabled | up    | 2014-09-16T23:54:06.000000 | -               |
+----+------------------+------------+----------+---------+-------+----------------------------+-----------------+
複製程式碼
  1. 在身份認證服務中檢視API端點資訊以驗證是否能夠連線到OpenStack的認證服務:nova endpoints
  2. 通過在映象服務中檢視映象資訊以驗證是否能夠連線映象服務:nova image-list

相關文章