Sharing

2011年8月18日 星期四

OpenStack Create Instance

OpenStack Dashboard 裝好後, 就準備透過 Dashboard 來 Luanch Instance. 不過看了一下 Dashboard 的介面真的是很陽春, 也不能透過它上傳 image. 根據 OpenStack 的文件來看, 它應該有支援各式各樣的 image format.
  • raw
  • vmdk (common disk format)
  • vhd (vmware、Xen 、Virtualbox)
  • vdi (VirtualBox)
  • qcow2 (Qemu/KVM)
  • iso
  • ovf
  • aki 、ari 、ami (Amazon)
不過因為還不熟要怎麼操作, 就先根據他網站上的說明來上傳 image

下載一個己經做好的 image


wget http://uec-images.ubuntu.com/releases/10.04/release/ubuntu-10.04-server-uec-amd64.tar.gz

因為是平台是 Ubuntu, 他有一個工具可以直接把 .tar.gz 包起來的 image 安裝進去
uec-publish-tarball ubuntu-10.04-server-uec-amd64.tar.gz mybucket


會看到類似以下的結果

Fri Aug 19 11:44:38 CST 2011: ====== extracting image ======
Warning: no ramdisk found, assuming '--ramdisk none'
kernel : lucid-server-uec-amd64-vmlinuz-virtual
ramdisk: none
image  : lucid-server-uec-amd64.img
Fri Aug 19 11:44:44 CST 2011: ====== bundle/upload kernel ======
Fri Aug 19 11:44:45 CST 2011: ====== bundle/upload image ======
Fri Aug 19 11:45:21 CST 2011: ====== done ======
emi="ami-00000006"; eri="none"; eki="aki-00000005";


輸入 euca-describe-images, 觀察一下是否有正確 import

IMAGE   aki-00000005    wcloud/lucid-server-uec-amd64-vmlinuz-virtual.manifest.xml              available   public          x86_64  kernel
IMAGE   ami-00000006    wcloud/lucid-server-uec-amd64.img.manifest.xml          available       public              x86_64  machine aki-00000005


從 dashboard 也可以看到有變化, 在 Community Images 的區域多了一個 ami-00000006, 不過我有兩件事還弄不清楚
  1. 為什麼看不到 aki-00000005
  2. 另外是從 OpenStack 的文件看起來, image 應該可以設定只有特定 project 才能使用, 而非所有的 project 都看的到, 但我故意去創建另一個 project 時, 卻發現裡面也有同樣的 image 可以使用, 不知道是不是因為在同一個 user 下的所有 project 都共享 image ?! 




接下來你就可以透過右邊的按鍵去 luanch 一個新的 virtual machine, 一開始他會先設定網路, 後來就會分到分配到一個 ip, 這個 ip 應該是根據之前創建的網路給的 fixed ip, 整體速度還滿快的


然後設定一下權限, 就可以ssh 連進去囉! 帳號和密碼都是 ubuntu

euca-authorize -P icmp -t -1:-1 default
euca-authorize -P tcp -p 22 default



============== 亂玩時間 ===========================================

進去後可以試著在 /home/ubuntu 下製造一個 .txt, 然後在裡面下關機的指令

sudo shutdown


從 dashboard 好像看不出來變化, 仍然是看到這個 instance 正在 running, 不過其實從外面己經連不進了, 之後再重新 reboot 他, dashboard 沒有這個功能, 只好從 command line 來下指令

euca-reboot-instances i-0000002f
重啟之後就可以再連進去, 發現東西還在, 可是如果你是用 dashboard 的 "Terminate" 功能就真的會把 image 砍掉了

=============== Where is image ? ==================================
找了一下他把 image 放在那邊, 從 nova.conf 中可以發現在 /var/lib/nova 裡面

先觀察一下 _base 下的東西


再觀察一下 instance-00000030 下的狀況


目前是猜測他有利用 hypervisor 的功能, 以 _base 為底, 然後只針對有改變的部份做處理, 所以在 create instance 時還滿快的, 不需要真的把整個 image copy 一份, 還滿聰明的作法





2011年8月15日 星期一

Openstack Dashboard Installation and Configuration

Openstack 裝好之後,要開始裝他的Dashboard,但怎麼樣就是裝不起來,很不順,所以就在網路上尋找有沒有其它人安裝的經驗,就找到了這篇

http://cssoss.wordpress.com/2011/04/27/openstack-beginners-guide-for-ubuntu-11-04-installation-and-configuration/

一看發現原來 Ubuntu11.04己經內建 Openstack 套件,不需要像我這樣用 script 來安裝,實在是方便多了,這也表示文件永遠跟不上軟體更新的速度呀!都己經八月了,Openstack 上的文件都沒有提到這件事。另外這有一系列文章介紹Openstack,寫的很詳細很棒。

OpenStack Beginner’s Guide for Ubuntu 11.04

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 172.16.33.7
        netmask 255.255.0.0
        broadcast 172.16.255.255
        gateway 172.16.1.254


auto br100
iface br100 inet static
        bridge_ports eth1
        bridge_stp off
        bridge_maxwait 0
        bridge_fd 0
        address 192.168.3.1
        netmask 255.255.0.0
        broadcast 192.168.255.255

nova 的設定檔設定如下, 因為 eth1 的建置不成功, 所以暫時都用public ip 來連線, 而沒有另外把這三台設成小型網路, 然後 Volumn 的部份也暫時不建立


--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--lock_path=/var/lock/nova
--verbose
--s3_host=172.16.33.7
--rabbit_host=172.16.33.7
--cc_host=172.16.33.7
--ec2_api=172.16.33.7
--ec2_url=http://172.16.33.7:8773/services/Cloud
--fixed_range=192.168.0.0/16
--network_size=8
--FAKE_subdomain=ec2
--routing_source_ip=172.16.33.7
--sql_connection=mysql://root:admin@172.16.33.7/nova
--glance_host=172.16.33.7
--image_service=nova.image.glance.GlanceImageService


然後設定 public ip 時就下

sudo nova-manage floating create 172.16.33.7 10.16.33.224/27



重啟所有 service 的指令



sudo /etc/init.d/libvirt-bin restart; sudo restart nova-network; sudo restart nova-compute; sudo restart nova-api; sudo restart nova-objectstore; sudo restart nova-scheduler; sudo restart nova-volume; sudo restart glance-api; sudo restart glance-registry

另外 Dashboard 安裝時,在 /opt/osdb/openstack-dashboard/local/local_settings.py 內用到的 EC2 Key 請到這隻檔案裡面找

/home/[your_name]/creds/novarc



另外 dashboard 預設的 superuser 帳戶請和安裝 nova 時用的帳號一樣,才會抓到正常的 project 名字,在這範例中來說就是 novaadmin。

三台都安裝完畢後,執行 euca-describe-availability-zones verbose,然後看一下相關的 service



其它安裝的經驗分享:http://www.vpsee.com/category/cloud/




Install Byobu: A Multi-Panel Screen Tool

今天 Chris 前輩又介紹了我一個好用的工具,叫 Byobu,用途其實和 Screen 一樣,但按鍵好記多了,可以說是美化版+簡化版

sudo apt-get install screen byobu



F9 可以進入 Menu



什麼@@怎麼排版全亂了,這套軟體也寫的太差了吧!原本正在碎碎念,不過Chris 前輩馬上指出我的 putty 設定有誤。


首先是 Translation 裡面的 character set 要改成 UTF-8,這樣 Menu 就會正常了


再來是 Keyboard 的設定要改成 XtermR6 ,按下 F2/F3... 時才會正常

這樣就一切正常囉!

官網:https://launchpad.net/byobu
更多介紹:http://www.howtogeek.com/58487/how-to-easily-multitask-in-a-linux-terminal-with-byobu/