發表文章

目前顯示的是 十月, 2014的文章

安裝Openstack 個人翻譯.....(5)Image Service

這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)>
Openstack 的映像檔服務可以讓使用者檢測、登記和取回虛擬機器的映像檔,此為 Glance 套件所負責與功能,映像檔服務提供 REST API 讓你可以詢問虛擬機器映像檔的 metadate 和取回實際的映像檔。你也能夠透過此服務使用 openstack object Storage 的 方式儲存虛擬機器的映像檔分散在各個不同地方。
為了簡化 Image service 使用 file 的後端設定,所有上傳的映像檔將會被儲存在提供此服務的 系統本機上,預設位置為/var/lib/glance/images/在開始之前請先確認你的系統在預設位置有足夠的空間可以儲存虛擬機器的映像檔與快照, 最小要有幾 GB 的空間可供 Image Service 做佈局
Image Service 概論 Image Service 包含下列幾個元件:
glance-api : 接受 Image API 對 image 做查詢、取回和儲存動作呼叫。glance-registry :儲存、執行與取回 image 的 metadata。Metadata 內有此 image 的 大小和型態。本身是個專屬於 image service 內部的服務,請勿開放給一般使用者使 用。Database :儲存 image metadata,你可以選擇你自己的 database 來使用,通常會採 用 MySQL 和 SQlite。Image file 的儲存庫 : Image service 提供多種儲存型態 如:供一般多種檔案方 式、Object Storage、RADOS block device、HTTP 和 Amazon S3 某些型態支援 readonly 屬性。 一些執行在 Image Service 的週期性處裡是有支援快取,透過 cluster 確保複製 service 的 一致性。
Image Service 為整體 IaaS 的中心,本身接受 end user 或是計算元件對於 image 或是 image metadata 發出的 API request 並且可以透過 Object Storage Service 儲存這些…

安裝Openstack 個人翻譯.....(4)Identity Service --2

這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)>
設定使用者(user)、承租者(tenant)與角 色(role) 在你安裝好 Identity Service 後需要設定使用者、承租者和角色來做驗證比對。這些通 常准許所能使用的 service 和終端(endpoints)。
基本上,你會指示用戶名稱和密碼作為 identity Service 的服務,在這點上然後你可能 沒有創造任何使用者,所以你必須使用前面步驟中創建的授權 token
你也可以使用 keystone 的參數 --os-token 來略過或 是設定 OS_SERVICE_TOKEN環境變數,設定 OS_SERVICE_TOKENOS_SERVICE_ENDPOINT 給正在執行的 Identity Service。
以下請替換 ADMIN_TOKEN 成為你的認證token(也就是上一章節用openssl產生的密碼):
$ export OS_SERVICE_TOKEN=ADMIN_TOKEN
$ export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

安裝Openstack 個人翻譯.....(4)Identity Service --1

圖片
這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)>
設定Identity service Identity Service 主要有以下幾個目的:
管理使用者: 追蹤使用者與其權限。Service 條列:提供並列出可獲得的 service API 給終端。
有關 Identity Service 必須先了解以下幾個觀念:

使用者(user):         使用 openstack 所提供服務的人,Identity Service 只會驗證使用者自己發出的 requests。使用者需 login 並分配到可獲得的 resources。如果是承租(tenant)使用者則可以直接使用特殊的承租區塊與行為。

憑證(credentials):         只有被經過認可的使用者才能得知的資料。舉例:使用者帳號與密碼、使用者名 稱與 api 的 Key、經過 Identity Service 認證的 token 這些都屬於 Identity Service。

認證(Authentication):         confirm 用戶身份的動作。對於 Identity Service 會 confirm 關於一群已憑證使用者 發出的 request。
        憑證(credentials)會初始化這些使用者的帳號和密碼或是使用者名稱與 api key,針對這 些憑證 Identity Service 會發出一個認證 token 給這些使用者,讓這些用戶可以隨後提 供一連串的 requests.

Token:         一個用來存取資源的特殊字串 bit。每一個 token 有自己的可視範圍來決定自己能 夠使用的資源。一個 token 可以隨時隨地被註銷或是可被使用於某個有限時間內。
        當 Identity Service 提供以 token 為基礎認證的版本後,未來便把目標放在提供某些額外 的 protocols,主要目的是要成為一個整合的 services 而非完整的身份儲存與管理方 案。

承租者(tenant):         根據不同服務提供方提供一個用來存放一群或分割出來的資源的認證物件容器, 一個承租者可以對應到…

安裝Openstack 個人翻譯.....(3)Messaging Server

這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)> 關於更新部份! 由於小弟的經驗在按照官方手冊中ubuntu 14.04版已經Icehouse設為主要repository所以更新章節就先跳過!
Messaging Server Openstack 使用 message broker來協同操作與service的狀態訊息,Message broker通常運行在
controller node上。Openstackler 提供多種message broker包過RabbitMQ QpidZeroMQ
但是大部分的distributions openstack支援特殊的message broker,這邊我們 使用RabbitMQ來安裝。 ※message broke :一種software package用來提供AMQP messaging capabilities在運算內,預設為RabbitMQ 在controller Node的機台內 安裝RabbitMQ # apt-get install rabbitmq-server 設定Message broker service:
message broker預設會建立一個帳號/密碼為:guest/guest的使用者,為了簡化測試環境的安裝流程,
官方建議你使用這個帳號但是變更其密碼。所以執行下面指令並替代RABBIT_PASS內容為你指定的密碼。
這邊我們使用12345678當作message broker的密碼。 # rabbitmqctl change_password guest RABBIT_PASS 如果是商業環境請建立獨特帳號與密碼,詳細資料請查閱
官方Document
如果是為了測試環境建立特殊帳號,你必須修改rabbit_userid和rabbit_password來做設定檔。 .................待續

安裝Openstack 個人翻譯.....(2)DB設定

這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)>
由於Openstack 需要使用database來做紀錄所以我們必須安裝database供Openstack使用
以官方的說明中,Openstack其實支援許多不同的databases,但是在安裝手冊中預設是使用
MYSQL,因此我們也使用這套資料庫當作我們的DB,另外由於Openstack是使用Python開發的
因此額外需要安裝Python的lib讓Python可以控制資料庫。
執行 apt-get 來安裝所需要的軟體。 #apt-get install python-mysqldb mysql-server 安裝DB過程我們先將DB的root密碼設置為"12345678" 修改/etc/mysql/my.cnf 給定controller IP讓其他node可以透過被管制網路來access controller [mysqld]
.......
 bind-address = 192.168.1.101
....... 修改[mysqld]部份來啟動InnoDBUTF-8編碼設定並將UTF-8設為預設編碼。 [mysqld]
.......
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8 重起MySQL # service mysql restart 刪除DB的anonymous帳號,使用mysql_install_db與mysql_secure_install指令 使用mysql_install_db會詢問你root的密碼,輸入後會問你是否要跟改root密碼
如不修改就選n跳過。
使用mysql_secure_install會出現一些安全性選項做選擇,如無特殊要求的話都選擇yes就好。 compute / network node部份 其餘兩個節點都只需要安裝python-mysqldb這個套件就夠了。 #apt-get inst…

安裝Openstack 個人翻譯.....(1)Icehouse

圖片
這邊的內容是本人參考Openstack DOC加上自己的安裝心得所寫,由於本人學識尚淺若有錯誤在請留言告知~謝謝 <(_ _)>

Openstack 是目前備受矚目的Open source雲端系統,幾乎各大廠企業都加入提供程式碼、修改bug、增訂功能的github的社群內。所以小弟簡單把參考官方的安裝說明與過程翻譯成中文化提供有需要的人快速上手,當然小弟還是新手或許無法幫嘗試使用的朋友解決安裝過程發生的問題,不過還是希望大家能參與討論增進Openstack 的debug功力。

目前使用的測試環境! 由於官方的Document是介紹三個節點或是兩個節點的作法,也就是說用三台pc或是兩台pc來實做,因此在這邊小弟使用三個節點(三台電腦,當然你可以使用VMware或是VirtualBOX來虛擬pc)的安裝設定。
下方是官方三個節點的說明圖片,各自分為controller nodeNetwork nodeCompute node 三台機器:

其中Network node需要三張網卡Compute Node 需要兩張網卡Controller node只需要一張網路卡介面。

上圖我們先了解一下網路卡介面部份:
Management : 主要為Controller node送達API或是三台之間溝通使用,通常會接在同一個hub或是switch上。Instance tunnel:做為instance之間互相溝通的專用網路通道。External:實際外部的使用者連進來或是提供服務給外部使用者的網路通道。 安裝過程中Management主要是我ubuntu使用apt-get的對外網路下載程式的通道,所以這邊也是要先給定各台的IP位置。 作業系統 Ubuntu 14.04.01 Server
由於使用ubuntu在某些設定上需要使用到sudo這個指令亦或許值接轉成root下達命令 各Node ip 設定 Controller Node:192.168.1.101Network Node:192.168.1.102Compute Node:192.168.1.103 網路設定: 先登入到Controller Node內修改/etc/hosts 加入compute node跟network node的ip與hostname:

#vi /etc/hosts 19…