一. keystone安裝筆記
初次接觸openstack,在嘗試過單機部署以后不是很滿意,就開始著手分布式部署,主要是按照openstack官網上的安裝教程來的,本人安裝的是目前最新的 I 版。
以下是我的環境,5臺主機kk1,kk2,kk3,kk4,kk5. 接下來是我安裝的部分服務的筆記,主要在安裝過程中也就是開始有點問題,接下來碰到的問題也就差不多了,
所以就懶得記錄了。 最麻煩的要數網絡了, 我選擇的是最簡單的方式nova-network方式,這里沒有記錄。
kk1: nova,keystone ?
kk2: glance
kk3: cinder-service
kk4:
kk5: cinder-storage
?
?
1.首先要現在安裝keystone,這是一個認證服務,如果要操作nova,glance首先就要通過keystone認證
2.關于keystone的概念請看官網的文檔
http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-concepts.html
3.關于keystone的具體安裝步驟請看
http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-install.html
4.ADMIN_TOKEN
這個ADMIN_TOKEN要值得注意,相當于一個認證口令吧,在測試環境中可以隨意配置 如:admin_token = admin
5.define user,tenants,roles
http://docs.openstack.org/icehouse/install-guide/install/apt/content/keystone-users.html
這個配置在文檔中已經介紹的非常詳細了,值得注意的是 如果出現下面這個問題
說明沒有配置環境變量。
如果不配置環境變量的話,也可以用下面這個命令
nova --os-tenant-name admin --os-username admin --os-password 111 --os-auth-url http://127.0.0.1:35357/v2.0 image-list
6.總結
總之這個keystone的配置是比較麻煩的,我今晚也花了很長時間來解決這個問題,會遇到各種各樣的報錯,但是總的來說問題就在環境變量上,
解釋一下環境變量的作用:配置環境變量以后就可以代替上面那條很長的命令了,keystone服務會自動去讀取環境變量的參數。
如果你在執行nova list的命令時遇到了各種問題,請仔細查看nova.conf, ?keystone.conf 等配置文件,查看用戶名,密碼,tenant,roles是否
配置正確。如果還是不行的話就把nova,keystone卸載干凈,重新安裝,記得在卸載的時候把mysql的database也drop掉,確保干干凈凈無殘留。
祝君好運!?
?
二. nova安裝筆記
?
1.確保在安裝nova之前已經安裝好了keystone, 否則你裝了nova也用不了
2.具體的nova安裝步驟不做多余闡述,我完全是按照openstack的install guide for ubuntu來的。
http://docs.openstack.org/icehouse/install-guide/install/apt/content/nova-controller.html
3.安裝步驟很簡單,關鍵是配置。
4.主要是配置/etc/nova/nova.conf
5.有些關鍵點提一下,在配置文件中會讓你配置
[database]
connection = mysql:
//nova
:NOVA_DBPASS@controller
/nova
其中的
NOVA_DBPASS,controller替換成你的nova密碼,controller替換成mysql的ip
6.最后請確保正確創建了user?tenant?role?user-role-add?service?endpoint
7.當這些都成功配置以后重啟nova
8.最后是測試nova是否安裝成功 輸入:nova image-list
nova image-list 請求有兩種方法
1.nova --os-tenant-name admin --os-username admin --os-password 111 --os-auth-url http://127.0.0.1:35357/v2.0 image-list
2.配置環境變量
export OS_AUTH_URL="http://localhost:5000/v2.0/"
export OS_PASSWORD=111
export OS_USERNAME=admin
export OS_TENANT_NAME=admin
然后直接輸入 nova image-list
3.查看當前環境變量
export | grep OS_ ?
? ////////////////////////////////////////////////////////kk1服務器的環境變量 ?部署了nova和keystone
? root@kk1-Z68P-DS3:/etc/nova# export | grep OS_
declare -x OS_AUTH_URL="http://127.0.0.1:35357/v2.0"
declare -x OS_PASSWORD="111"
declare -x OS_SERVICE_ENDPOINT="http://127.0.0.1:35357/v2.0"
declare -x OS_SERVICE_TOKEN="admin"
declare -x OS_TENANT_NAME="admin"
declare -x OS_USERNAME="admin"
?
? //////////////////////////////////////////////////////kk2服務器的環境變量 ? 部署了glance
? root@kk2-Z68P-DS3:/tmp/images# export | grep OS_
declare -x OS_AUTH_URL="http://192.168.1.103:5000/v2.0/"
declare -x OS_PASSWORD="111"
declare -x OS_SERVICE_ENDPOINT="http://192.168.1.103:35357/v2.0"
declare -x OS_SERVICE_TOKEN="admin"
declare -x OS_TENANT_NAME="admin"
declare -x OS_USERNAME="admin"
4.查看調試信息
keystone --debug user-list
?
5. nova的bug信息
(1)root@kk1-Z68P-DS3:~# nova --service-type image image-list
ERROR: local variable 'os_compute_api_version' referenced before assignment
這個報錯的意思是變量沒有申明
解決方案:?
在dist-packages/novaclient/sheel.py文件中
在main方法中增加一個變量?os_compute_api_version = DEFAULT_OS_COMPUTE_API_VERSION
?
三 cinder 安裝筆記
////////////////////////////////////////kk3服務器 部署了cinder
1. 基本步驟和之前的一樣,安裝官網提供的步驟完全沒問題
2. 設置好環境變量
root@kk3-Z68P-DS3:/# export | grep OS_
declare -x OS_AUTH_URL="http://192.168.1.103:35357/v2.0"
declare -x OS_PASSWORD="111"
declare -x OS_SERVICE_ENDPOINT="http://192.168.1.103:35357/v2.0"
declare -x OS_SERVICE_TOKEN="admin"
declare -x OS_USERNAME="admin"
3. create service
root@kk3-Z68P-DS3:/# keystone service-create --name=cinder --type=volume --description="OpenStack Block Storage"
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Block Storage |
| enabled | True |
| id | 0e6be79473894ec495ea3f67c9463005 |
| name | cinder |
| type | volume |
+-------------+----------------------------------+
?
create endpoint
root@kk3-Z68P-DS3:/# keystone endpoint-create --service-id=$(keystone service-list | awk '/ volume / {print $2}') --publicurl=http://192.168.1.105:8776/v1
WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored).
+------------+--------------------------------------------+
| Property | Value |
+------------+--------------------------------------------+
| id | 83c48ce596c44f218f89559847d9a4a2 |
| publicurl | http://192.168.1.105:8776/v1/%(tenant_id)s |
| region | regionOne |
| service_id | 0e6be79473894ec495ea3f67c9463005 |
+------------+--------------------------------------------+
?
4. 接下來是創建LVM physical and logical volumes
但是我卡在這里了,貌似無法創建,原理不懂,創建系統的時候分區是默認的, 問題應該出在這里
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
