OpenStack(kilo版本)计算服务Nova的安装部署
OpenStack計(jì)算服務(wù)是基礎(chǔ)設(shè)施即服務(wù)(IaaS)系統(tǒng)的主要組成部分。OpenStack計(jì)算服務(wù)使用Keystone來執(zhí)行其身份驗(yàn)證,使用Horizon作為其管理接口,并使用Glance提供其鏡像服務(wù)。
一、OpenStack 計(jì)算服務(wù)包含的組件
圖1.1. OpenStack Nova組件
二、OpenStack計(jì)算節(jié)點(diǎn)基本環(huán)境配置
1.配置主機(jī)名和網(wǎng)絡(luò)信息
1.1配置主機(jī)名
| 1 2 | root@compute1:~#?vim?/etc/hostname compute1 |
1.2 配置IP地址
| 1 2 3 4 5 6 | root@compute1:~#?vim??/etc/network/interfaces auto?eth0 iface?eth0?inet?static address?192.168.100.102 netmask?255.255.255.0 gateway?192.168.100.2 |
1.3 配置名稱解析hosts
| 1 2 3 4 5 6 7 | root@compute1:~#?vim??/etc/hosts #?controller 192.168.100.100??controller #?network 192.168.100.101??network #?compute1 192.168.100.102??compute1 |
2.網(wǎng)絡(luò)時(shí)間協(xié)議ntp
2.1 安裝ntp服務(wù)器
| 1 | root@compute1:~#??apt-get?install?ntp |
2.2 配置/etc/ntp.conf 服務(wù)
| 1 | server?controller?iburst |
2.3重啟ntp服務(wù)
| 1 | root@compute1:~#??/etc/init.d/ntp?restart |
3.系統(tǒng)升級(jí)更新
3.1 更新openstack 倉(cāng)庫(kù)源
| 1 2 3 | root@compute1:~#??apt-get?install?ubuntu-cloud-keyring root@compute1:~#?vim?/etc/apt/sources.list.d/cloudarchive-kilo.list deb?http://ubuntu-cloud.archive.canonical.com/ubuntu?trusty-updates/kilo?main |
3.2升級(jí)軟件包,如果升級(jí)過程中包含內(nèi)核的升級(jí),需要重啟服務(wù)器。
| 1 2 | root@compute1:~#??apt-get?update root@compute1:~#??apt-get?dist-upgrade |
三、安裝和配置控制節(jié)點(diǎn)
下面介紹如何在控制節(jié)點(diǎn)上面安裝和配置計(jì)算服務(wù),即Nova。下面所有的操作步驟在控制節(jié)點(diǎn)上面操作。在安裝和配置計(jì)算服務(wù)之前,必須先創(chuàng)建數(shù)據(jù)庫(kù)、服務(wù)證書和API。
1.1數(shù)據(jù)庫(kù)配置
1)創(chuàng)建數(shù)據(jù)庫(kù)
| 1 2 3 | root@controller:~#?mysql?-uroot?–p MariaDB?[(none)]>?create?database?nova; Query?OK,?1?row?affected?(0.01?sec) |
2)給數(shù)據(jù)庫(kù)授權(quán)
| 1 2 3 4 5 6 7 8 | MariaDB?[(none)]>?GRANT?ALL?PRIVILEGES?ON?nova.*?TO'nova'@'localhost'?IDENTIFIED?BY?'sfzhang1109'; Query?OK,?0?rows?affected?(0.16?sec) ?? MariaDB?[(none)]>?GRANT?ALL?PRIVILEGES?ON?nova.*?TO'nova'@'%'???IDENTIFIED?BY?'sfzhang1109'; Query?OK,?0?rows?affected?(0.00?sec) MariaDB?[(none)]>?flush?privileges; Query?OK,?0?rows?affected?(0.27?sec) |
3)退出數(shù)據(jù)庫(kù)客戶端
| 1 2 | MariaDB?[(none)]>?exit Bye |
1.2 導(dǎo)入admin身份憑證以便執(zhí)行管理命令
| 1 | root@controller:~#?source?admin-openrc.sh |
1.3 創(chuàng)建服務(wù)證書
1)創(chuàng)建nova用戶(密碼:nova)
| 1 2 3 4 5 6 7 8 9 10 11 12 | root@controller:~#?openstack?user?create--password-prompt?nova User?Password: Repeat?User?Password: +----------+----------------------------------+ |?Field????|Value?????????????????????????????| +----------+----------------------------------+ |?email????|None??????????????????????????????| |?enabled??|True??????????????????????????????| |?id???????|44ccbfd3be744176b3650dc0eb24d5b8??| |?name?????|nova??????????????????????????????| |?username?|?nova?????????????????????????????| +----------+----------------------------------+ |
2)添加nova用戶到admin角色
| 1 2 3 4 5 6 7 | root@controller:~#?openstack?role?add?--project?service?--user?nova?admin +-------+----------------------------------+ |Field?|?Value?????????????????????????????| +-------+----------------------------------+ |id????|?05616505a61c4aa78f43fba9e60ba7fc??| |name??|?admin?????????????????????????????| +-------+----------------------------------+ |
3)創(chuàng)建nova服務(wù)實(shí)體
| 1 2 3 4 5 6 7 8 9 10 | root@controller:~#?openstack?service?create?--name?nova?--description?"OpenStackCompute"?compute +-------------+----------------------------------+ |Field????????|?Value????????????????????????????| +-------------+----------------------------------+ |description??|?OpenStack?Compute????????????????| |enabled??????|?True?????????????????????????????| |id???????????|22b9948004934b169b0618c533e3a7e4??| |name?????????|?nova?????????????????????????????| |type?????????|?compute??????????????????????????| +-------------+----------------------------------+ |
1.4創(chuàng)建nova服務(wù)的API endpoint
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | root@controller:~#?openstack?endpoint?create?\ ????--publicurlhttp://controller:8774/v2/%\(tenant_id\)s?\ ????--internalurl?http://controller:8774/v2/%\(tenant_id\)s\ ????--adminurlhttp://controller:8774/v2/%\(tenant_id\)s?\ ????--region?RegionOne?\ ????compute +--------------+-----------------------------------------+ |Field?????????|?Value???????????????????????????????????| +--------------+-----------------------------------------+ |adminurl??????|??| |id????????????|027bc91642794be6b1880e03b8dd5a92?????????| |internalurl???|??| |publicurl?????|??| |region????????|?RegionOne???????????????????????????????| |service_id????|22b9948004934b169b0618c533e3a7e4?????????| |service_name??|?nova????????????????????????????????????| |service_type??|?compute?????????????????????????????????| +--------------+-----------------------------------------+ |
四、安裝和配置計(jì)算控制節(jié)點(diǎn)組件
下面所有的操作步驟在控制節(jié)點(diǎn)上面操作。
1.安裝軟件包
| 1 2 | root@controller:~#?apt-get?install?nova-api?nova-cert?nova-conductor?nova-consoleauth?\ ????nova-novncproxy?nova-scheduler?python-novaclient |
2.編輯nova配置文件/etc/nova/nova.conf
1)在[database]部分配置數(shù)據(jù)庫(kù)訪問
| 1 | connection=?mysql://nova:sfzhang1109@controller/nova |
2)在[DEFAULT]和[oslo_messaging_rabbit]部分配置RabbitMQ消息隊(duì)列訪問
| 1 2 3 4 5 6 7 8 | [DEFAULT] ... rpc_backend?=?rabbit [oslo_messaging_rabbit] ... rabbit_host?=?controller rabbit_userid?=?openstack rabbit_password?=?2015OS## |
這里的密碼為rabbitmqctl add_user命令添加openstack用戶的密碼
3) 在[DEFAULT]和[keystone_authtoken]部分配置身份認(rèn)證服務(wù)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [DEFAULT] ... 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 |
4) 在[DEFAULT]部分配置控制節(jié)點(diǎn)網(wǎng)絡(luò)IP地址
| 1 2 3 | [DEFAULT] ... my_ip=?192.168.100.100 |
5) 在[DEFAULT]部分配置 VNC代理以使用控制節(jié)點(diǎn)的網(wǎng)絡(luò)地址
| 1 2 3 4 | [DEFAULT] ... vncserver_listen?=192.168.100.100 vncserver_proxyclient_address?=192.168.100.100 |
6) 在[glance]部分配置鏡像服務(wù)的位置
| 1 2 3 | [glance] ... host?=?controller |
7)在[oslo_concurrency]部分,配置lock路徑
| 1 2 3 | [oslo_concurrency] … lock_path=?/var/lib/nova/tmp |
8)在[DEFAULT]段中開啟詳細(xì)日志配置,為后期的故障排除提供幫助
| 1 2 3 4 | [DEFAULT] ... log_dir=/var/log/nova verbose?=?True |
3.初始化nova數(shù)據(jù)庫(kù)
| 1 2 3 | root@controller:~#?su?-s?/bin/sh?-c?"nova-manage?dbsync"?nova 2015-09-1814:09:42.462?5096?INFO?migrate.versioning.api?[-]?215?->?216... … |
4.啟動(dòng)nova服務(wù)
| 1 2 3 4 5 6 | root@controller:~#?service?nova-api?restart root@controller:~#?service?nova-cert?restart root@controller:~#?service?nova-consoleauth?restart root@controller:~#?service?nova-scheduler?restart root@controller:~#?service?nova-conductor?restart root@controller:~#?service?nova-novncproxy?restart |
5.默認(rèn)會(huì)創(chuàng)建SQLite數(shù)據(jù)庫(kù),因?yàn)槭褂玫氖?/span>MYSQL數(shù)據(jù)庫(kù),因此要?jiǎng)h除SQLite數(shù)據(jù)庫(kù)文件
| 1 | root@controller:~#?rm?-f?/var/lib/nova/nova.sqlite |
四、安裝和配置計(jì)算節(jié)點(diǎn)
這部分描述如何在一個(gè)計(jì)算節(jié)點(diǎn)上面安裝和配置compute服務(wù)。這個(gè)服務(wù)支持一些hypervisors來部署實(shí)例或者虛擬機(jī)。
1.安裝compute hypervisor組件
| 1 | root@compute1:~#?apt-get?install?nova-compute?sysfsutils |
2.編輯/etc/nova/nova.conf配置文件
1)在[DEFAULT]和[oslo_messaging_rabbit]部分配置RabbitMQ消息隊(duì)列訪問
| 1 2 3 4 5 6 7 8 | [DEFAULT] ... rpc_backend?=?rabbit [oslo_messaging_rabbit] ... rabbit_host?=?controller rabbit_userid?=?openstack rabbit_password?=?2015OS## |
這里的密碼為rabbitmqctl add_user命令添加openstack用戶的密碼
2)在[DEFAULT]和[keystone_authtoken]部分配置身份認(rèn)證服務(wù)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | [DEFAULT] ... 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 |
3) 在[DEFAULT]部分配置控制節(jié)點(diǎn)網(wǎng)絡(luò)IP地址
| 1 2 3 | [DEFAULT] ... my_ip=?192.168.100.100 |
4) 在[DEFAULT]部分啟用和配置remote console?訪問
| 1 2 3 4 5 6 | [DEFAULT] ... vnc_enabled?=?True vncserver_listen?=?0.0.0.0 vncserver_proxyclient_address?=?192.168.100.102 novncproxy_base_url?=?http://controller:6080/vnc_auto.html |
5) 在[glance]部分配置鏡像服務(wù)的位置
| 1 2 3 | [glance] ... host?=?controller |
6)在[oslo_concurrency]部分,配置lock路徑
| 1 2 3 | [oslo_concurrency] … lock_path=?/var/lib/nova/tmp |
7)在[DEFAULT]段中開啟詳細(xì)日志配置,為后期的故障排除提供幫助
| 1 2 3 4 | [DEFAULT] ... log_dir=/var/log/nova verbose?=?True |
五、完成安裝
1.驗(yàn)證計(jì)算機(jī)是否支持虛擬機(jī)硬件加速
| 1 2 | root@controller:~#?egrep?-c?'(vmx|svm)'?/proc/cpuinfo 1 |
如果這個(gè)命令返回 1或更大的值,說明計(jì)算節(jié)點(diǎn)支持硬件加速,不需要進(jìn)行額外的配置。
如果這個(gè)命令返回的是 0,說明計(jì)算節(jié)點(diǎn)不支持硬件加速,必須進(jìn)行下面的設(shè)置。
| 1 2 3 4 5 | 設(shè)置libvirt使用QEMU?而不能使用KVM。 編輯文件/etc/nova/nova-compute.conf在[libvirt] [libvirt] ... virt_type?=?qemu |
2.重啟計(jì)算服務(wù)
| 1 | root@compute1:~#?service?nova-compute?restart |
3.默認(rèn)會(huì)創(chuàng)建SQLite數(shù)據(jù)庫(kù),因?yàn)槭褂玫氖?/span>MYSQL數(shù)據(jù)庫(kù),因此要?jiǎng)h除SQLite數(shù)據(jù)庫(kù)文件
| 1 | root@compute1:~#?rm?-f?/var/lib/nova/nova.sqlite |
六、OpenStack 計(jì)算節(jié)點(diǎn)nova驗(yàn)證操作
??? 注意:驗(yàn)證操作在控制節(jié)點(diǎn)上面進(jìn)行。
1.執(zhí)行admin身份憑證
| 1 | root@controller:~#?source?admin-openrc.sh |
2.列出服務(wù)組件來驗(yàn)證每個(gè)進(jìn)程的成功創(chuàng)建和注冊(cè)
下面顯示四個(gè)服務(wù)在控制節(jié)點(diǎn)啟用,一個(gè)服務(wù)在計(jì)算節(jié)點(diǎn)
| 1 2 3 4 5 6 7 8 9 10 | root@controller:~#?nova?service-list +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ |?Id?|?Binary???????????|?Host???????|?Zone?????|?Status??|?State?|?Updated_at?????????????????|?Disabled?Reason?| +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ |1???|?nova-cert????????|?controller?|?internal?|?enabled?|?up????|?2015-09-24T06:46:42.000000?|?-???????????????| |2???|?nova-consoleauth?|?controller?|internal??|?enabled?|?up????|2015-09-24T06:46:35.000000??|?-???????????????| |3???|?nova-scheduler???|?controller?|?internal?|?enabled?|?up????|?2015-09-24T06:46:35.000000?|?-???????????????| |4???|?nova-conductor???|?controller?|?internal?|?enabled?|?up????|?2015-09-24T06:46:35.000000?|?-???????????????| |5???|?nova-compute?????|?compute1???|?nova?????|?enabled?|?up????|2015-09-24T06:46:40.000000??|?-???????????????| +----+------------------+------------+----------+---------+-------+----------------------------+-----------------+ |
3.列出API endpoints??在?Identity service核實(shí)身份驗(yàn)證連接服務(wù)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | root@controller:~#nova?endpoints +-----------+----------------------------------+ |keystone???|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|2129b615198b4bcc8067b750a4edabb6??| |interface??|?public???????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|http://controller:5000/v2.0???????|? +-----------+----------------------------------+ +-----------+----------------------------------+ |keystone???|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|426dd482fcb14c2bb4f65edeb9e23b77??| |interface??|?internal?????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|http://controller:5000/v2.0???????| +-----------+----------------------------------+ +-----------+----------------------------------+ |keystone???|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|?8b0de58ca9994bb8a4f576443ec92f9b?| |interface??|?admin????????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|http://controller:35357/v2.0??????| +-----------+----------------------------------+ +-----------+------------------------------------------------------------+ |nova???????|?Value??????????????????????????????????????????????????????| +-----------+------------------------------------------------------------+ |id?????????|5dd845c869994633a866cd8612cee27b????????????????????????????| |interface??|?admin??????????????????????????????????????????????????????| |region?????|?RegionOne??????????????????????????????????????????????????| |region_id??|?RegionOne??????????????????????????????????????????????????| |url????????|http://controller:8774/v2/d04d4985d62f42e2af2ddc35f442ffd9??| +-----------+------------------------------------------------------------+ +-----------+------------------------------------------------------------+ |nova???????|?Value??????????????????????????????????????????????????????| +-----------+------------------------------------------------------------+ |id?????????|?adfbb3d19a504d3098757b6303818d8d???????????????????????????| |interface??|?public?????????????????????????????????????????????????????| |region?????|?RegionOne??????????????????????????????????????????????????| |region_id??|?RegionOne??????????????????????????????????????????????????| |url????????|http://controller:8774/v2/d04d4985d62f42e2af2ddc35f442ffd9??| +-----------+------------------------------------------------------------+ +-----------+------------------------------------------------------------+ |nova???????|?Value??????????????????????????????????????????????????????| +-----------+------------------------------------------------------------+ |id?????????|c05aa31990d948f0b44b5e6c5868c0cd????????????????????????????| |interface??|?internal???????????????????????????????????????????????????| |region?????|?RegionOne??????????????????????????????????????????????????| |region_id??|?RegionOne??????????????????????????????????????????????????| |url????????|??| +-----------+------------------------------------------------------------+ +-----------+----------------------------------+ |glance?????|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|74a9ff79e8a8430b9ed467e10465a93d??| |interface??|?public???????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|?http://controller:9292???????????| +-----------+----------------------------------+ +-----------+----------------------------------+ |glance?????|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|c397966e81874832aaaef103ad7e2dff??| |interface??|?admin????????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|?http://controller:9292???????????| +-----------+----------------------------------+ +-----------+----------------------------------+ |glance?????|?Value????????????????????????????| +-----------+----------------------------------+ |id?????????|?f63ad1c91cdb43ed9841b91b4aa543e1?| |interface??|?internal?????????????????????????| |region?????|?RegionOne????????????????????????| |region_id??|?RegionOne????????????????????????| |url????????|?http://controller:9292???????????| +-----------+----------------------------------+ |
4.列出鏡像在?Image service?目錄驗(yàn)證連接?Image service
| 1 2 3 4 5 6 | root@controller:~#nova?image-list +--------------------------------------+---------------------+--------+--------+ |ID????????????????????????????????????|Name?????????????????|?Status?|?Server?| +--------------------------------------+---------------------+--------+--------+ |df54ff49-b167-4fed-987a-0ade3cbc9aca??|?cirros-0.3.4-x86_64?|?ACTIVE?|????????| +--------------------------------------+---------------------+--------+--------+ |
備注:
1)OpenStack官方文檔:
????http://docs.openstack.org/kilo/install-guide/install/apt/content/
??? 2)控制節(jié)點(diǎn)nova.conf完整的配置文件
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | [DEFAULT] dhcpbridge_flagfile=/etc/nova/nova.conf dhcpbridge=/usr/bin/nova-dhcpbridge log_dir=/var/log/nova state_path=/var/lib/nova lock_path=/var/lock/nova force_dhcp_release=True libvirt_use_virtio_for_bridges=True verbose=True ec2_private_dns_show_ip=True api_paste_config=/etc/nova/api-paste.ini enabled_apis=ec2,osapi_compute,metadata rpc_backend?=?rabbit auth_strategy?=?keystone my_ip?=?192.168.100.100 vncserver_listen?=?192.168.100.100 vncserver_proxyclient_address?=?192.168.100.100 [oslo_messaging_rabbit] rabbit_host?=?controller rabbit_userid?=?openstack rabbit_password?=?2015OS## [database] connection?=?mysql://nova:sfzhang1109@controller/nova [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 [glance] host?=?controller [oslo_concurrency] lock_path?=?/var/lib/nova/tmp |
??? 3)計(jì)算節(jié)點(diǎn)nova.conf完整的配置文件
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | [DEFAULT] dhcpbridge_flagfile=/etc/nova/nova.conf dhcpbridge=/usr/bin/nova-dhcpbridge log_dir=/var/log/nova state_path=/var/lib/nova lock_path=/var/lock/nova force_dhcp_release=True libvirt_use_virtio_for_bridges=True verbose=True ec2_private_dns_show_ip=True api_paste_config=/etc/nova/api-paste.ini enabled_apis=ec2,osapi_compute,metadata rpc_backend?=?rabbit auth_strategy?=?keystone my_ip?=?192.168.100.100 vnc_enabled?=?True vncserver_listen?=?0.0.0.0 vncserver_proxyclient_address?=?192.168.100.102 novncproxy_base_url?=? ?? [oslo_messaging_rabbit] rabbit_host?=?controller rabbit_userid?=?openstack rabbit_password?=?2015OS## 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 [glance] host?=?controller [oslo_concurrency] lock_path?=?/var/lib/nova/tmp |
本文轉(zhuǎn)自 sfzhang 51CTO博客,原文鏈接:http://blog.51cto.com/sfzhang88/1697866,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的OpenStack(kilo版本)计算服务Nova的安装部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GitLab远程仓库迁移
- 下一篇: Python学习笔记六(Python t