在Ubuntu14.04上快速部署OpenStack

hxw2ljj發表於2015-11-20
  對於初學者來說,OpenStack手工部署相當麻煩, 而且需要花較多時間學習.不過我們可以使用部署指令碼來安裝OpenStack.
  網上有一款名叫DevStack的號稱最傻瓜的OpenStack部署工具.用了一下覺得的確挺傻瓜的.元件是從github上面直接拉下來,不僅慢不說,連版本相容都有可能出問題.安裝就用了4個小時.想要更改引數更是隻能重來.更可惡的是它會使用python setup指令碼把一些可能過期的包直接新增到系統的python庫裡,引發一大堆錯誤.基本上用DevStack安裝失敗了可以重灌系統再來了.

  OpenShit是一款能夠在Ubuntu14.04系統上快速部署Openstack的小工具,它使用Shell指令碼和Python指令碼完成對Openstack各元件的安裝和配置.並且可以方便的更改配置引數重新配置,重啟服務清空資料庫等等.利用命令可以進行完全的自動化安裝和配置.以下是OpenShit的

OpenShit命令介紹

  ./openshit.sh <--all|service_name> start|stop|restart
  可對各個(或者全部)Openstack元件進行啟動,停止,重啟操作.

  ./openshit.sh <--all|service_name> install|uninstall|download
  可對Openstack各個元件進行 安裝,解除安裝,下載包 操作

  ./openshit.sh <--all|service_name> config
  可以配置組建建立資料庫, 原先的配置檔案在config-backup資料夾中按照時間備份起來,使用rollback.sh指令碼可以方便的回滾配置檔案改動

  ./openshit.sh <--all|service_name> clean
  可以清除服務的資料庫, 若服務出問題了可以直接清掉資料庫然後重新config 

  接下來我們使用OpenShit在Ubuntu14.04上部署OpenStack.這裡有幾個小要求:

  1. Ubuntu14.04分割槽一定要有足夠的空間.OpenStack在建立例項的時候會使用分割槽的空間,空間不夠則無法建立例項.測試用Ubuntu14.04分了100G,足夠使用了.

  2. 建議最好是新裝的ubuntu分割槽.如果裝過神馬DevStack沒裝成功一堆垃圾留在系統庫裡再用OpenShit不成功那就不好意思了.

不多說現在開始
  1.安裝git, 使用git下載openshit
      git  clone 

  2.修改配置檔案setting.conf.
      裡面有很多密碼:資料庫密碼,服務密碼.預設的可以更改,不改也沒什麼.
      改變網路配置.配置檔案內IP值都設定稱自己的IP, 網路卡設定成自己的網路卡(預設為eth0).
     注:修改pre-install指令碼可以看到安裝源,可以修改預設安裝openstack版本,預設是juno
     舉例:


  3.配置檔案修改完成後開始安裝
      ./openshit.sh --all install.
     這個命令會 問你是否需要配置軟體源, 第一次使用openshit請選擇y, 所以命令可以這樣寫:
      echo y | ./openshit.sh --all install

  4.一段時間後安裝完成,請輸入
       ./openshit.sh --all config
       會根據setting.conf的值修改各個元件的配置檔案以及資料庫配置.

  5.完成後
       執行source admin-env.sh; nova service-list 檢視服務狀態若都為up安裝成功
       在瀏覽器內開啟 即可看到Openstack管理介面輸入密碼可登陸

現在OpenStack成功部署到了Ubuntu14.04伺服器上.

  為了成功執行一個例項,我們需要製作並上傳一個映象, 配置網路,啟動例項.
  這裡製作一個ubuntu14 server 的映象
  1. 製作映象
    qemu-img create -f qcow2 ubuntu.img 20G
    kvm -cdrom ubuntu-14.04-server-amd64.iso -drive file=ubuntu.img,if=virtio,index=0 -boot d -net nic -net user 
    這裡就是直接從光碟安裝ubuntu14-server了 裝好就行

  2.上傳映象
  在openshit目錄中 執行 source admin-env.sh
    執行
      glance image-create --name "ubuntu" --file ubunut.img --disk-format qcow2 --container-format bare --is-public True --progress
    進度條快速滾過,上傳完成

  3. 建立網路
    在openshit目錄中 執行 source admin-env.sh (前面執行過了這裡就不用執行了)
    執行
      nova network-create v-net --bridge br100 --multi-host T --fixed-range-v4 10.0.1.0/29
    這裡 v-net是網路名字 10.0.1.0/29 是網段和要分配的主機數量 不要設定網段跟本網段一樣,否則蛋疼超乎你想象
    執行
      nova net-list
    可以看到剛才建立的網路

  4. 建立例項
    在web管理端 映象 欄內 點 執行 即可建立例項 (會分配剛才建立網路的ip地址)
    點選控制檯,可以透過vnc看到虛擬機器的螢幕
    這裡有個問題 虛擬機器和主機能互相ping通(需要關掉防火牆),不過無法訪問外網,可能是哪裡沒有設定.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18796236/viewspace-1841845/,如需轉載,請註明出處,否則將追究法律責任。

相關文章