1,876 瀏覽數

Ubuntu Cloud Live Image

Installation FromUSBStick 這是最快速建立 Ubuntu Cloud 的方式,你不需要了解基礎架構,就只有單一個 Node.開始吧!!

基本上就是透過 USB flash drive 安裝一個 Ubuntu Cloud 系統,接下來再透過這個 USB flash drive 去啟動系統,我們就可以開始使用 Ubuntu Cloud 了,當然也可以透過CD ,但還不確定是不是可以透過 Ubuntu Live CD 一樣從 PXE 來啟動系統,目前我們需要下列幾個步驟.

  1. 我們需要 Ubuntu Cloud 的 ISO 以及將 ISO 轉到 USB flash drive 的工具
  2. 將 Ubuntu ISO 轉到 USB flash drive
  3. 設定你的電腦並且從這 USB flash drive 啟動
  4. 設定 Ubuntu server for cloud

Ubuntu Cloud ISO

在 Ubuntu 官方網站大約有 3種 ISO 檔可以供下載.

  • Ubuntu Desktop
  • Ubuntu Server
  • Cloud infrastructure

其中 Cloud infrastructure 才是我們這一次要使用的其 下載點 ,目前版本為 Ubuntu Server 12.04 LTS for Cloud,下載下來後需要將這 ISO (ubuntu-12.04-cloud-live-amd64.iso)轉到 USB flash drive,不管你使用的系統是 windows , Mac OS X 還是 Linux 下都可以找到相對應的工具.

建立可開機的 Ubuntu USB flash drive

我們需要至少 2GB USB flash drive,因為裡面的資料都會毀掉,所已請先備份好你的資料.接下來的示範以 Ubuntu 環境下完成可開機的 Ubuntu Cloud USB flash drive.

$ sudo sudo apt-get install usb-creator-gtk
$ usb-creator-gtk

Ubuntu 預設是沒安裝 ISO 轉換工具 usb-creator 或是 UNetbootin,我們必須透過 $apt-get install 去下載檔案,這邊我使用的是 usb-creator-gtk,下載後直接執行 usb-creator-gtk.

在執行視窗先選擇

  • Ubuntu Cloud ISO (1) ubuntu-12.04-cloud-live-amd64.iso 檔 
  • 並確定 USB Flash Disk (2)沒選錯,如果你的 USB driver 有其他格式建議可以先 Erase Disk
  • Make Startup Disk (3)即可完成轉換.如 Make Startup Disk 無法執行,建議先行 Erase Disk
    ubuntu_cloud01
    現在使用這usb Flash disk 開機,如果正確無誤系統會開到 ubuntu 的桌面系統.

OpenStack 環境設定

雖然環境已經有了,但還需要初始過 OpenStack 才可以使用,在安裝好的系統桌面有個說明檔 "GettingStarted.txt" ,接下來就按照說明檔內容來設定.系統提供了 Nova 環境設定檔,所以我們可以很簡易透過一邊寫好的腳本檔案來設定 MySQL data base 等資料.

先執行 nova-setup.sh

$ nova-setup.sh

nova-setup.sh 這個檔只是個 腳本 (script) 檔案所以我們可以看一下他的內容,大致可以看到是和 Mysql 相關的設定,基本上系統沒有錯誤發生時,該執行檔不會產生任何信息,等待數秒鐘的執行時間並且沒顯示任何錯誤信息,該步驟就大功告成.

$ cat /home/ubuntu/bin/nova-setup.sh
#!/bin/bash
# do initial setup for nova
#– mysql setup
MYSQL_PASS="nova"
NOVA_PASS="nova"
mysql -uroot -p$MYSQL_PASS -e "CREATE DATABASE nova;"
mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY '$NOVA_PASS'"
mysql -uroot -p$MYSQL_PASS -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY '$NOVA_PASS'"
mysql -uroot -p$MYSQL_PASS -e "FLUSH PRIVILEGES;"

#– nova db setup
sudo nova-manage db sync
sudo nova-manage network create cloudlivenet 172.20.1.0/24 1 256

exit 0

IP setting

接下來就是 IP 的設定, Cloud infrastructure 預設安裝是有圖形介面的,所以當我們要設定網卡只能透過 NetworkManager Applet 設定,不同於 Ubuntu  server 版的 Command Line NetworkManager,請自行參考不同的設定方式.

如果你只需要暫時的 IP 直接使用下列指另設定即可.

$ sudo ifconfig eth0 192.168.99.100 up
$ sudo route add default gw 192.168.99.1
這裡預設使用 eth0 為主要網路埠,假如你要使用其他網路埠時必須修改 /etc/nova/nova.conf 並且執行 ~/bin/start-openstack.sh

Nova

設定好網路之後就可以開始執行 nova 以及 glance 服務. start-openstack.sh 腳本檔會去編輯 /etc/nova/nova.conf 以及設定你的環境,有興趣的可以自行研讀 start-openstack.sh 腳本檔.

$ start-openstack.sh
Setting up Dashboard…
Setting up Keystone…
[paste_deploy]
flavor = keystone

[paste_deploy]
flavor = keystone

Starting all OpenStack services…
nova-api start/running, process 3867
nova-compute start/running, process 3899
nova-network start/running, process 3923
nova-scheduler start/running, process 3938
nova-objectstore start/running, process 3953
nova-volume start/running, process 3967
nova-cert start/running, process 3986
glance-api start/running, process 3992
glance-registry start/running, process 4001
Done!

Glance

本地端預設有一個簡易版的映像檔可供我們直接使用,直接透過 glance 把它加進入成為 Instance(VM: Virtual Machine) 即可.

$ glance -T cloudlive -I ubuntu -K ubuntu123 -N http://127.0.0.1:5000/v2.0/ add name="cirros" is_public=true container_format=ovf disk_format=raw < /srv/cirros-0.3.0-x86_64-disk.img
Uploading image 'cirros'
======================================================== [100%] 15.4M/s, ETA 0h 0m 0s
Added new image with ID: 7ac5c2d6-63c8-4a63-9fda-3c471c709c9e

如果你系統的記憶體夠大,如 4GB 或以上,我們可以選用一個完整的 ubuntu 映像檔做成 Instance,Ubuntu 提供了不少的 Instance 可供我們使用.除了直接透過 glance 我們還可以到 http://uec-images.ubuntu.com/precise/current/ 找出我們需要的 Instance 

$ wget http://uec-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
$ glance -T cloudlive -I ubuntu -K ubuntu123 -N http://127.0.0.1:5000/v2.0/ add name="precise-server-amd64" is_public="true" disk_format=raw container_format=ovf < precise-server-cloudimg-amd64-disk1.img

設定完成,我們可以透過本地端 Ubuntu 預設的 Open Chromium web browser 連接到 http://localhost. ,遠端請使用 http://eth0_IP 登入(瀏覽器:Chrome, IE, Firfox,Safari)使用者帳號為 'ubuntu' 預設密碼為 'ubuntu123' 
ubuntu_cloud02

接下來我們需要

  1. 安裝 juju

Ubuntu 12.04 LTS 除了將 Openstack 整合到系統中,還進步一步針對 Openstack 推出雲端佈署等功能服務如: MAAS, Juju, AWSOME以及Landscape等 其中的 Juju 將負責軟體服務部署的功能.

$ sudo apt-get install juju

At this point, the Openstack cloud has been deployed and should be functioning.

Point your browser to the public address of the openstack-dashboard node, login using admin/openstack (passwd defined in cfg above) and you can begin using the cloud, adding users, etc. Use the command "juju status openstack-dashboard" to get it's IP address.

Juju
You can also begin using Juju to deploy services into your new cloud. To generate a Juju environments.yaml entry suitable for use against the new Openstack cluster, select Settings -> Juju Environment Config -> Download Juju Environment Config in the Openstack dashboard. Note that you'll need to update the 'default-image-id' in this file to match the AMI id of an Ubuntu cloud image that you've published (eg, ami-00000002 from above).
After you've logged into the dashboard, you can add new users from the "Users" panel of the Admin toolbar. Once logged in as a new user, you can export your EC2 and Nova credentials as well as a Juju environments.yaml configuration from the 'Settings' section of the dashboard (linked from the upper-right)

Launch an instance of cirros image using the web interface. Connect to the instance using VNC (localhost:5900) or over SSH (username: 'cirros', password 'cubswin:)', IP can be seen in the web interface).

If you've uploaded Ubuntu image, use web interface to generate keypair, launch Ubuntu instance using generated key and then use SSH to connect to the instance: ssh -i name_of_the_key.pem IP_of_the_instance. Make sure you protect the key file first: chmod 600 name_of_the_key.pem.

網友的想法

  1. 自動參照通知: Ubuntu Cloud & Amazon EC2 | Benjr.tw

發表迴響