2015年12月11日 星期五

RHEL 的 OpenStack (九)--管理 Nova 計算與控制器服務

Nova 計算服務
  • Nova 控制器節點執行大多數 Nova 服務!
    • nova-scheduler : 協調不同的 Nova 服務活動!

  • Nova 計算節點利用虚擬化軟體去管理、啟動 OpenStack 上的實體!

  • RHEL上的OpenStack 使用 openstack-db 指令,設定 Nova 服務的資料庫!
    • 為 Nova 建立使用者,並且將該使用者加入 service 這個租賃戶裡!
    • 為環境建立結束點,以及在 /etc/nova/nova.conf 檔內,設定合適的參數值!
    • 啟用與啟動 Nova 服務

  • 可用 openstack-status 查看狀態!

超用實體資源
OpenStack 允許在計算節點上,過用 CPU 與 RAM 資源!但不建議過度的使用,以下為建議的比例:
  • CPU : 16 : 1 (指實心 cole)
  • RAM : 1.5 : 1

/etc/nova/nova.conf 檔案內的 cpu_allocation_ratio 以及 ram_allocation_ratio 有設定比例!
練習1:
  1. # source /root/keystonerc_admin
  2. # systemctl status openstack-nova-scheduler
  3. # systemctl status openstack-nova-conductor
  4. # systemctl status openstack-nova-api
  5. # systemctl status openstack-nova-consoleauth
  6. # systemctl status openstack-nova-novncproxy
  7. 登入另一個計算節點
  8. # systemctl status openstack-nova-compute
  9. # systemctl status libvirtd
  10. 回到原來節點
  11. # keystone user-get nova
  12. # keystone user-role-list --user nova --tenant services
  13. # keystone service-list | grep nova
  14. # keystone endpoint-get --service compute
  15. # vim /etc/nova/nova.conf
    admin_tenant_name=services
    admin_user=nova
    admin_password=xxxxxxx
    auth_host=10.1.1.1
    auth_port=35357
    auth_protocol=http
    auth_uri=http://10.1.1.1:5000
    .....
  16. # vim /etc/nova/nova.conf
    rabbit_host=主機名稱(FQDN)
    rabbit_use_ssl=False
    rabbit_port=5672
    rabbit_userid=guest
    rabbit_password=guest
    ....
  17. # openstack-status

使用 CLI 佈署實體
佈署實體時,可用下列指令查看相關資訊:
  • nova flavor-list : 查看硬體設定
  • nova image-list : 查看用來啟動實體的影像檔
  • nova network-list : 查看可用網路
將上列指令所列出的ID收集好,即可使用 nova boot 指令,配置實體。nova list 指令可查看運行中的實體!
練習2:
  1. # source /root/keystonerc_myuser
  2. # cp /etc/issue /tmp
  3. # echo "Installed using nova command-line" >> /tmp/issue
  4. # nova keypair-add key1 > /root/key1
  5. # nova secgroup-create mysecgroup "SSH"
  6. # nova secgroup-add-rule mysecgroup tcp 22 22 0.0.0.0/0
  7. # nova image-list
  8. # nova flavor-list
  9. # neutron net-list
  10. # nova boot --flavor m1.small --image small --key-name key1 --security-groups mysecgroup --nic net-id=<net-list列出來private那一組ID>  --file /etc/issue=/tmp/issue test
  11. # nova list
  12. # nova list
  13. 利用 myuser / redhat 登入 dashboard,登入實體 test
  14. # nova floating-ip-list
  15. # nova floating-ip-associate test 10.1.1.2
  16. # chmod 600 /root/key1
  17. # ssh -i /root/key1 cloud-user@10.1.1.2 -->請保留,開另一個新的 teminal
  18. 登入本機
  19. # source /keystonerc_myuser
  20. # cinder create --display-name vol6 2
  21. # cinder list
  22. # nova volume-attach test <上項指令的ID> auto
  23. # cinder list
  24. <test 主機>$ lsblk
  25. 清除 nova 實體 
    # nova delete test
    # cinder delete vol6

除錯

練習3: