登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
源碼秘技 如何在單一伺服器上安裝與設定 OpenStack

如何在單一伺服器上安裝與設定 OpenStack

有三種相當簡單的方法,可以讓你嘗試 OpenStack,其一是使用像 Rackspace 或 Cloudwatt 這類的商業公有雲,或是免費的 Trystack。不過如果你有興趣一探 OpenStack 的內部,了解如何加以管理,那麼你就得自己架設伺服器。DevStack 安裝程式是一支很棒的 shell 腳本,用來安裝 OpenStack 元件、LAMP 堆疊以及 CirrOS。CirrOS 是用以執行雲端 guests 的小型 Linux 散佈套件。

由於 OpenStack 需要一部專用系統,因此別把它安裝在你主要的電腦上。以下會用 Linux Mint 13 系統上安裝 Lubuntu 12.04 的 VirtualBox 虛擬機器為例。儘管真正的伺服器專家不會在伺服器上跑圖形化環境,不過為了測試方便,而且 Lubuntu 的輕量級特性還是值得一試。如果你選擇在虛擬機器內安裝 OpenStack,請至少給它 1.5GB 記憶體與 6GB 儲存空間。假如你有多核心系統,可以的話請空出一個以上的核心給 OpenStack,因為即使是測試安裝,它仍是吃 CPU 的龐然大物。

首先請建立安裝 DevStack 的用戶名稱 stack:

$ sudo useradd stack
$ sudo passwd stack
Enter new UNIX password: 
Retype new UNIX password: 

並給予 stack 完整 sudo 權限:

$ sudo visudo
stack ALL=(ALL:ALL) NOPASSWD: ALL

用 stack 登入後,安裝 git:

$ sudo apt-get install git -y

接著從 Github 抓下 OpenStack,請 cd 到 /var 然後執行 git:

$ git clone git://github.com/openstack-dev/devstack.git

這麼一來抓下來的程式會在 /var/devstack。cd 到 devstack,花幾分鐘看看各個腳本跟檔案。因為某些我不知道的原因,第一次執行時我碰上權限問題,因此我把 /var/devstack 跟 /opt/stack 的所有人設為 stack:

$ sudo chown -R stack:stack /opt/stack
$ sudo chown -R stack:stack /var/devstack

我也把 /var/www 設給 www-data:www-data。Ubuntu 的預設值是 root,那不是好的做法。

最好能有日誌記錄,所有請建立 /var/stacklog,然後設給 stack。

有不少安裝前提需求,請建立/var/devstack/localrc. localrc,其中設定網路、密碼、日誌記錄等等。以下是最簡安裝的設定:

HOST_IP=10.0.1.15
FLAT_INTERFACE=eth0
FLOATING_RANGE=10.0.1.224/28
ADMIN_PASSWORD=supersecret
MYSQL_PASSWORD=supersecret
RABBIT_PASSWORD=supersecret
SERVICE_PASSWORD=supersecret
SERVICE_TOKEN=supersecret

OpenStack 會用到許多密碼,因為是測試,所以全用同一個密碼即可。HOST_IP 是你 OpenStack 伺服器的網路位址,不管是否在虛擬環境中,例如:

$ ifconfig
eth0  Link encap:Ethernet  HWaddr 90:ee:aa:a2:50:aa  
      inet addr:10.0.1.15  Bcast:10.0.1.255  Mask:255.255.255.0

為你的 DevStack 伺服器建立靜態的 IP 位址,不然會很麻煩。網路在 OpenStack 中是個複雜議題,目前維持簡單即可。

FLAT_INTERFACE 是伺服器的 Ethernet 介面,如果你只有一個介面,可以不必設定。你可以把內部與公開介面分開,而 FLAT_INTERFACE 對應於內部介面。FLOATING_RANGE 是該網路上可用的所有 OpenStack 伺服器位址空間,且不能跟該伺服器 IP 位址重疊。

好了,設定完成後是時候結束安裝。到 /var/devstack 執行:$ ./stack.sh

安裝需要一點時間,你的螢幕會出現各種輸出訊息。請休息一下去做點別的事。完成時你會看到安裝成功的訊息。

現在在 OpenStack 伺服器上開啟瀏覽器,輸入螢幕顯示的位址,我的例子是 https://10.0.1.15。如果你看到登入頁面,恭喜你已經安裝成功,可以使用 Horizon 儀表板。請用 admin 帳號以及 localrc 中設定的密碼登入,你可以到處試試,看看各個頁面。

如果你把系統弄壞了,好心的 DevStack 團隊提供了一支重頭再來的腳本 clean.sh。該腳本會倒轉 stack.sh,回復到剛從 git 抓下檔案的狀態,因此在 clean.sh 結束後執行 stack.sh 以重新安裝你的系統。


相關網址:

  1. 如何在單一伺服器上安裝與設定 OpenStack
    https://www.linux.com/learn/tutorials/721712-intro-to-openstack-part-two-how-to-install-and-configure-openstack-on-a-server/



自由軟體鑄造場電子報 : 第 220 期 GCStar 收集狂的藏寶箱

分類: 源碼秘技