天天看點

[網摘學習]在Ubuntu上安裝和配置OpenStack Nova之二

  再收藏一份openstack的文章,這兩天的操作與此相同.但其中出現的問題還需要查找原因.待個人繼續學習研究.

在安裝完基本的 ubuntu 11.04 server 系統後更新和更新整個系統,安裝完 bridge-utils 包後重新開機系統:

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install bridge-utils

$ sudo reboot

$ sudo vi /etc/network/interfaces

openstack nova 需要 ntp 伺服器來保持所有節點伺服器(cloud compute)的時間同步,是以需要在前端控制伺服器(cloud controller)上安裝 ntp 伺服器,然後在節點伺服器上安裝 ntp 用戶端保持與前端的同步:

$ sudo apt-get install ntp

$ sudo vi /etc/ntp.conf

$ sudo /etc/init.d/ntp restart

openstack nova 需要資料庫的支援,這裡選用 mysql(當然也可以用其他的資料庫,比如 postgresql 等):

$ sudo apt-get install mysql-server

修改 mysql 綁定位址,以便其他的節點伺服器也能通路這個資料庫:

$ sudo vi /etc/mysql/my.cnf

$ sudo /etc/init.d/mysql restart

建立一個名為 nova 的資料庫,并設定 root 從任何 ip 通路的權限和密碼:

$ sudo mysql -uroot -ppassword -e 'create database nova;'

$ sudo mysql -uroot -ppassword -e "grant all privileges on *.* to \

'root'@'%' with grant option;"

$ sudo mysql -uroot -ppassword -e "set password for \

'root'@'%' = password('password');"

glance 是個鏡像伺服器,用來給 openstack nova 提供作業系統鏡像(image)服務,提供可選擇的作業系統模版(鏡像)。

$ sudo apt-get install glance

openstack nova 已經進入 ubuntu 11.04 源,是以直接安裝就可以了,不必源碼安裝:

$ sudo apt-get install rabbitmq-server nova-common nova-doc python-nova

nova-api nova-network nova-volume nova-objectstore nova-scheduler nova-compute

$ sudo apt-get install -y euca2ools

$ sudo apt-get install -y unzip

$ sudo vi /etc/nova/nova.conf

$ sudo restart libvirt-bin; 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

開始使用 nova 前需要建立 nova 資料庫表、建立網絡、建立管理者帳号、建立雲并聯到剛才建立的管理者上:

$ sudo nova-manage db sync

$ sudo nova-manage network create 192.168.0.0/24 1 255

$ sudo nova-manage floating create 10.10.10.2 10.10.10.224/27

$ sudo nova-manage user admin vpsee

$ sudo nova-manage project create mycloud vpsee

因為多個管理者可以建立多個不同的雲,是以某個雲的管理者需要特定的權限才能通路和管理自己的 nova 雲,建立權限資訊,并解壓到自己的目錄裡,需要注意的是每次使用 nova 管理雲的時候都需要讀取 novarc 裡面的配置資訊:

$ mkdir /home/vpsee/creds

$ sudo nova-manage project zipfile mycloud vpsee /home/vpsee/creds/novacreds.zip

$ cd /home/vpsee/creds

$ unzip novacreds.zip

$ sudo chown -r vpsee:vpsee /home/vpsee/creds/

$ source /home/vpsee/creds/novarc

每次用 nova 的時候都要用到 novarc 裡面的環境變量,每次 source novarc 很麻煩,是以最好加到 .bashrc 裡面:

$ cat /home/vpsee/creds/novarc >> /home/vpsee/.bashrc

$ source /home/vpsee/.bashrc

$ 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

如果一切正常的話,應該可以列印出如下的類似資訊:

$ euca-describe-availability-zones verbose

availabilityzone nova available

availabilityzone |- node00

availabilityzone | |- nova-scheduler enabled :-) 2011-05-22 10:32:31

availabilityzone | |- nova-network enabled :-) 2011-05-22 10:32:32

availabilityzone | |- nova-compute enabled :-) 2011-05-22 10:32:24

啟動執行個體之前需要先上傳一個系統模版,我們稱之為鏡像(image),自己制作作業系統鏡像有點麻煩,這裡直接使用一個已經做好的 ubuntu 10.10 版本鏡像,下載下傳已經做好的鏡像檔案并上傳到鏡像伺服器(這裡鏡像伺服器和前端伺服器在同一台實體伺服器上):

$ wget http://c0179148.cdn1.cloudfiles.rackspacecloud.com/ubuntu1010-uec-localuser-image.tar.gz

$ uec-publish-tarball ubuntu1010-uec-localuser-image.tar.gz ubuntu1010-bucket x86_64

列出雲裡現有的可以加載的鏡像,并以某個鏡像(比如編号為 ami-00000003)為模版啟動一個執行個體(作業系統)

$ euca-describe-images

image aki-00000001 ubuntu1010-bucket/vmlinuz-2.6.32-28-server.manifest.xml available public x86_64 kernel

image ari-00000002 ubuntu1010-bucket/initrd.img-2.6.32-28-server.manifest.xmavailable public x86_64 ramdisk

image ami-00000003 ubuntu1010-bucket/maverick-server-uec-amd64.img.manifest.xml available public x86_64 machine aki-00000001 ari-00000002

$ euca-run-instances -k mykey -t m1.tiny ami-00000003

$ virsh list

id name state

----------------------------------

1 instance-00000001 running

啟動執行個體後怎麼通路呢?和通路 vps 一樣,需要 ip 位址然後 ssh 通路,還記得上面的網絡配置麼,新建立的系統将按照 192.168.0.x 的形式配置設定 ip,是以 192.168.0.3 就是剛剛 euca-run-instances 建立的執行個體的 ip 位址:

其他轉載的内容出于傳遞更多資訊之目的,若無意侵犯了您的知識産權,請告之我們。

轉載請注明出處:http://www.cnblogs.com/haochuang/