There was an error in this gadget

Friday, April 15, 2011

OpenStack One Controller node & Multi Computer nodes ....deployment

安裝Openstack NOVA -- 已測試可用 

目標:
1.單一機器跑所有服務
2.增加額外運算節點
3.使用Bexar release (已經算舊版本)
4.Hypervisor KVM
5.FlatDHCP network



Caution : 還是建議手動安裝所有元件,不過這是比較快速的方法

參考
https://github.com/dubsquared/OpenStack-NOVA-Installer-Script/
http://wiki.openstack.org/NovaInstall/MultipleServer


=====安裝 Controller node=====

1. 下載 script , 更改權限

wget --no-check-certificate https://github.com/dubsquared/OpenStack-NOVA-Installer-Script/raw/master/nova-CC-install-v1.1.sh

sudo chmod 755 nova-CC-install-v1.1.sh
bash nova-CC-installer.sh


過程中會詢問到一些問題

  • Enter the mySQL root password.
  • Enter the S3 IP, or use the default address as the current server's IP address.
  • Enter the RabbitMQ Host IP. Again, you can use the default to install it to the local server. RabbitMQ will be installed.
  • Enter the Cloud Controller Host IP address.
  • Enter the mySQL Host IP address.
以上問題在單機都是本機ip address

#以下設定需要先思考整個網路的拓樸與需求,假定HOST網路與instance網路不同網段

Controller network range for ALL projects (normally x.x.x.x/12):192.168.2.0/24
Total amount of usable IPs for ALL projects:256

Step 4:  Creating a project for Nova
You will choose an admin for the project, and also name the project here. Also, you will build out the network configuration for the project.
#設定project 的使用者
Nova project user name: <$admin>
#設定project 名稱
Nova project name: <$project_name>

#期望給此project使用的網路
Desired network + CIDR for project (normally x.x.x.x/24):192.168.2.0/24
How many networks for project:1
How many available IPs per project network:256
At this point, you've entered all the information needed to finish deployment of your controller!
Feel free to get some coffee, you have earned it!
Entering auto-pilot mode...

之後就讓他自動跑了,完成後使用
#euca-describe-instance 
測試api server 是否運作正常

===============================
在script中有些設定可以根據需求更改

1. 設定使用的版本

# Passing info into config files
cat >> /etc/nova/nova.conf << NOVA_CONF_EOF
--s3_host=$S3_HOST_IP
--rabbit_host=$RABBIT_IP
--cc_host=$CC_HOST_IP
--ec2_url=http://$S3_HOST_IP:8773/services/Cloud
--fixed_range=$FIXED_RANGE
--network_size=$NETWORK_SIZE
--FAKE_subdomain=ec2
--routing_source_ip=$CC_HOST_IP
--verbose
--sql_connection=mysql://root:$MYSQL_PASS@$MYSQL_HOST_IP/nova
--network_manager=nova.network.manager.FlatManager #這個旗標可以設定網路模式,應該要改成flatDHCP
NOVA_CONF_EOF
2.預設hypervisor 為 kvm
如需更改
--libvirt_type= <$hypervisor>

3.建議安裝phpmyadmin管理database,有些設定因為環境差異,需要進去nova database 修改


=======compute node=========

下載這個script 並執行


完成後把Controller 的 /etc/nova/nova.conf 複製到所有node 的相同路徑內

此時應該有兩個compute nodes了

==========================

controller node 
#killll dnsmasq
#service libvirt-bin restart ; service nova-api restart ; service nova-objectstore restart ; service nova-network restart ; service nova-scheduler restart ; service nova-compute restart.

compute node
#killall dnsmasq
#service libvirt-bin restart ; service nova-compute restart;

==========================

檢查各服務是否回報狀態給database
nova-manage service list 
euca-describe-avalibility-zone verbose

==========================

基本上安裝已經完成,可以上傳image做測試了
其他部分就是troubleshooting 了....

==========================
log path
/var/log/nova/
==========================

通常問題多半是在網路的部分.......























125 comments:

  1. 執行 NODE Script 出現錯誤 請教?謝謝

    nova-NODE-installer.sh: line 6: syntax error near unexpected token `newline'
    nova-NODE-installer.sh: line 6: `'

    ReplyDelete
  2. 曾經出現過
    1. 嘗試把script 第一行 /bin/sh 改為 /bin/bash

    ReplyDelete
  3. btw , 如要手動安裝套件有

    nova-compute , brideg-utils , dnsmasq
    如果是 FlatManager mode 需手動設定bridge
    如果是 FlatDHCPManager 則無須設定,nova-compute 會自動根據DB設置br100 跟 ethN

    ReplyDelete
  4. Dear Hugo Kuo,
    openstack Nova 請教

    是不是所有的nova node 都只執行nova-NODE-installer.sh 再把controller /etc/nova/nova.conf Copy 到一樣路徑即可 需要 設定以下嗎

    /usr/bin/nova-manage db sync
    /usr/bin/nova-manage user admin dub
    /usr/bin/nova-manage project create dubproject dub
    /usr/bin/nova-manage network create 192.168.0.0/24 1 255

    Thanks

    ReplyDelete
  5. 請教一下 有遇過 以下情況嗎?
    ouec-publish-tarball ubuntu1010-UEC-localuser-image.tar.gz dub-bucket x86_64

    Unable to run euca-describe-images. Is euca2ools environment set up?

    ReplyDelete
  6. 1. 後面nova-manage 的部分不需要重複執行,這部分是
    I.生成資料庫
    II.建立superuser
    III.建立project 並連結一個project manager
    IV. 建立project 使用的網路

    關於compute node 其實手動安裝很方便
    apt-get install nova-compute bridge-utils dnsmasq 即可 然後複製nova.conf 到所有node上


    2.請問這個動作是在哪個host上執行
    重新source novarc
    檢查novarc 內指的
    這個狀況是script 安裝完後做測試的時候
    在upload image 跟 測試 image 狀態,這點要先檢查一下image 是否有成功註冊,查一下log

    ReplyDelete
  7. 請問Hugo 完成以上所述後
    1.根據 OpenStack Compute Administration Manual - Cactus 7.1. Starting Images 執行第一個 提供測試的 Image 似乎不是順利,可否直接跳過
    安裝OpenStack Interfaces OpenStack Dashboard
    2.版主之前文章好像有提到Nova 儲存images 一定得用NFS掛載 到了現在 Cactus才有提供 OpenStack Image Service 就是Glance ,難道是我沒安裝好Glance 所以
    不能使用
    3.使用nova-volume 跟直接存取於硬碟有何不同?
    OpenStack Manuals 內 7.1.節 Starting Images
    內就直接叫你下載測試image了 為何還需要 Configure Volumes
    4.依照版主此文完成後還需要完成哪些才可以安裝 OpenStack Dashboard 讓其他user使用

    雖然問題可能很蠢 是否可以幫忙一下?目前混亂中

    ReplyDelete
  8. 1.可以直接安裝Dashboard可是這個問題還是要解決,先確認影像是否有正確upload.
    2.nova-objectstore 與compute node 在同一台機器上不會有這個問題,除非是增加的compute node.
    3.直接存取硬碟? VM無法存取local disk。所以才有Volume.
    Volume 可以先跳過。
    4.除了Django Dashboard不需要安裝其他東西,可是要進行帳號管理的部分。

    PS 這些問題不會很蠢,混亂也很正常。慢慢就會理解了,一步一步來

    ReplyDelete
  9. This comment has been removed by the author.

    ReplyDelete
  10. 請問 在手動安裝部份 3.6.4. Enabling Access to VMs on the Compute Node設定
    euca-authorize -P icmp -t -1:-1 default
    出現
    Warning: failed to parse error message from AWS: :1:0: syntax error
    EC2ResponseError: 403 Forbidden
    403 Forbidden
    問題出在哪呢?

    ReplyDelete
  11. HI 啤酒
    基於RBAC的方法
    確認一下你增加security rule 的使用者權限為何
    如果是cloud manager 應該不會有這個問題
    如果是 Project Manager 會有這個問題,你需要給予該帳戶
    "netadmin" 的Role 才可以進行網路相關的設定

    抱歉晚回了一點點,剛結束假期:>

    ReplyDelete
  12. Dear Hugo
    想請教您一個問題
    我在node端安裝好並將controller的nova.conf抓過來後
    我該如何確認我是否順利的將node與controller連接上?
    我在node端執行

    root@ubuntu:~# nova-manage service list
    ubuntu nova-network enabled :-) 2011-06-28 09:58:27
    ubuntu nova-scheduler enabled :-) 2011-06-28 09:58:24
    ubuntu nova-compute enabled :-) 2011-06-28 09:58:27

    但是在controller端查詢DB

    root@ubuntu:~# mysql -uroot -pmydlink nova -e 'select * from services;'
    +---------------------+---------------------+------------+---------+----+--------+----------------+-----------+--------------+----------+-------------------+
    | created_at | updated_at | deleted_at | deleted | id | host | binary | topic | report_count | disabled | availability_zone |
    +---------------------+---------------------+------------+---------+----+--------+----------------+-----------+--------------+----------+-------------------+
    | 2011-06-28 09:43:34 | 2011-06-28 09:59:37 | NULL | 0 | 1 | ubuntu | nova-network | network | 95 | 0 | nova |
    | 2011-06-28 09:43:35 | 2011-06-28 09:59:34 | NULL | 0 | 2 | ubuntu | nova-scheduler | scheduler | 94 | 0 | nova |
    | 2011-06-28 09:43:36 | 2011-06-28 09:59:37 | NULL | 0 | 3 | ubuntu | nova-compute | compute | 180 | 0 | nova |
    +---------------------+---------------------+------------+---------+----+--------+----------------+-----------+--------------+----------+-------------------+

    似乎沒有看到有多新的連線,請問我該如何確認?
    謝謝

    ReplyDelete
  13. Hello Van , 看起來額外增加的node 並沒有加入
    確認方法跟你打的是一樣的
    1.euca-describe-availability-zones verbose
    2.nova-manage
    3.hack mysql DB

    root@ubuntu1:~# nova-manage service list
    ubuntu2 nova-scheduler enabled :-) 2011-06-28 10:44:35
    ubuntu2 nova-network enabled :-) 2011-06-28 10:44:38
    ubuntu3 nova-compute enabled :-) 2011-06-28 10:44:32
    ubuntu2 nova-volume enabled :-) 2011-06-28 10:44:37
    ubuntu1 nova-vncproxy enabled XXX 2011-05-12 10:56:17
    ubuntu4 nova-compute enabled XXX 2011-06-28 10:44:22


    1.檢查hostname
    2.檢查網路通不通
    3.確認新node 的 nova-compute daemon 是否有起來

    ReplyDelete
  14. Dear Hugo
    的確是hostname造成的
    node不可和controller有相同的hostname...

    在controller上查詢
    root@ubuntu:~# nova-manage service list
    ubuntu nova-network enabled :-) 2011-06-28 12:10:59
    ubuntu nova-scheduler enabled :-) 2011-06-28 12:11:04
    ubuntu nova-compute enabled :-) 2011-06-28 12:11:00
    node nova-compute enabled XXX 2011-06-28 12:10:27

    這邊想請叫另一點,這邊看到node是XXX而非:-)
    請問這個有什麼影響嗎?

    而我在node端下同樣的指令
    root@node:~# nova-manage service list
    ubuntu nova-network enabled XXX 2011-06-28 12:13:50
    ubuntu nova-scheduler enabled :-) 2011-06-28 12:13:44
    ubuntu nova-compute enabled XXX 2011-06-28 12:13:50
    node nova-compute enabled XXX 2011-06-28 12:13:49

    有時候controller的狀態會是XXX有時候又會是:-)
    想請問這個有影響嗎?

    另外還有一點
    在controller端我是採用scripted installation的方式安裝
    它會自動安裝image service嗎?
    不好意思,一下子問您太多問題,請多多見諒與包含
    謝謝您

    ReplyDelete
  15. Hello Van~
    請儘量問唷,如果我知道會告訴您
    1.XXX 理論上不至於影響太大,不過在compute node 可能會有影響,因為scheduler 會根據目前可用resource 去選擇運算資源,其實要解決這問題很簡單,把時區都設好 ntpdate 一下 就可以囉,至於會XXX的原因,你想更瞭解再問我囉。

    2.script 太多囉,我不清楚你是用哪一個script,不過就我所知並不會安裝 Glance . 要開script 來看才知道。 還有我是不建議用script 裝,手動安裝比較好掌握一些設定跟觀念。沒有使用Glance 你的環境能把instance 開在 新加入的compute node嗎??? 應該是不行,得用點小技巧,其實Glance 簡單,翻一下就完成了

    Cheers
    Hugo Kuo

    ReplyDelete
  16. Dear Hugo
    1.當然是想了解一下是什麼原因造成XXX

    2.老實說我不太知道您所指的instance是什麼?是指在node端run image嗎?在run script的時候它會問說S3的IP,這邊當時預設都是打controller的IP,但事實上我尚未安裝S3 server 這邊的S3和Glance是否相同?

    3.由於我目前是將openstack開在VM上,導致我無法在controller上run img起來,所以才想用node來測試
    但像目前我除了可以證實controller和node可以連線起來
    之後我就不曉得我到底能夠做什麼實驗在上面
    老實說,我覺得openstack像是一套管理很多台機器的server
    但它的功用我實在是不太了解
    我想問的是,假設按照我目前的環境,我有一台controller與一台noded,現在我有一支程式要run,那我把code丟controller後,我該怎麼執行它?它會在controller和node作分散式運算嗎?

    感謝您的回答

    ReplyDelete
  17. 1. XXX 系統預設好像是15秒會回報一次給DB,如果HOST 跟HOST之間的時間不同步,就會造成誤判。

    2. Instance 簡單講就是一個在compute node開起來的虛擬機器(VM),S3並非真的AWS那個objectstore, 為了對應AWS API ,所以Openstack 內有一個元件是nova-onjectstore , 他並不是真的OBJ,而是假裝出來的FileSystem。
    計畫之初,只有兩個子計畫,一個是NOVA 一個是SWIFT...
    NOVA要完成類AWS EC2的功能,而SWIFT要實踐AWS S3的功能,一開始NOVA並沒有機制可以把image送到SWIFT,所以衍生出GLANCE這個計畫,GLANCE本身並不是STORAGE,他像是一個middle ware, 提供NOVA跟各類儲存裝置的溝通。GLANCE可以讓你將IMAGE存放在 Localdisk / SWIFT / AWS S3 /Rackspace 等

    3.除了compute node 之外,其它component 都是可以跑在VM內,我沒這樣做過,但是我很肯定可以。 由於KVM 需要機器本身支援VT功能,所以把Compute Node 設在VM內應該是不能開,除非更換其它Hypervisor. UML 好像可以 but not a good idea actually.

    OpenStack 是一個Cloud IaaS platform , 把他想成Amazon AWS 就對囉,像是你自己打造一個小規模的AWS在家裡自己用,不過他也可以擴展到很大規模的Public Cloud 提供跟AWS的服務。

    最後一段...
    他不是一個Cluster computing tool , 你需要先透過Openstack 幫你跑10台VM起來後,再將這些instance 再像實體機器那樣串起來作分散式運算。
    舉例,假設你今天把Fortune server 版,都安裝進這10個instance 那就能用這些資源來幫你Compile 了。

    Cloud 有一個觀念跟一般VM不同就是,Re-use image.....

    待續@_@ 甲奔

    ReplyDelete
  18. Dear Hugo
    因此openstack事實上的目的是
    利用nova開啟很多VM而這些VM是可以互相溝通(資料上的傳遞,程式無法分散運算,但是他們是在同一個LAN底下)
    而CLANCE可以將image傳至SWIFT,並可以在任何的node run起來
    也可以利用同一個image run好幾台的VM
    然後當手邊有很多機器的時候,我可以在上面跑Hadoop
    來達到一個程式有很多台PC來幫我處理
    請問我這樣解讀對嗎?

    ReplyDelete
  19. Dear Hugo ,
    感謝回覆 可否再請教幾個問題
    1.安裝openstack nova controller 環境中是否得有兩張網卡一個為外部網卡一個為內部成為橋接vm溝通的網卡br100官網裡面並沒有特別提到
    2.以前沒用過KVM他的VM網路設定好像全部都是以10.0.2.15,如何讓它跟外部機器作連結
    3.你們公司已經使用openstack那用的是KVM還是其他,看起來KVM效能最佳但似乎不好上手,可否了解一下需要的環境用的是VLna還是dhcp
    4.因為我家裡用的是AP分享出來的IP測試環境,所以我將配給的IP都設成每次固定,我應該選擇FlatManager還是FlatDHCP
    5.nova manager 設192.168.0.0/16 範圍應是VM給的ip範圍透過 eth0 br100 出去 這個br100的線路是必須直接連結外網的嗎?還是可以分享透過eth1
    6.所有node硬碟都必須有一區塊設LVM才可以安裝SWIFT將所有應空間整合成一個pool讓GLANCE使用
    Thanks!~

    ReplyDelete
  20. 啤酒:
    1.一張網卡也可以不過要手動解決一點問題,如果兩張網卡可以省下很多工夫,不論 Flat or FlatDHCP 都需要br100 當橋接介面。 好像很快也可以選用OpenVSwitch.

    2.VM 網路可以自己決定
    a. nova.conf 中 --fixed_ip=
    b. nova-manage network create

    3.KVM ,其實外面包了一層OPENSTACK 基本用法都差不多,功能支援的差異,舉個例,一開始LiveMigration 只支援Xen ,因為KVM本身沒有,現在KVM本身也支援了,所以也可以使用該功能囉。

    4.都可以,只是發IP方式不同,一個是inject網路設定到/etc/network/interfaces , 另一個是 dhcpdiscover. 這邊不好理解。有些東西可以討論。

    5.假設 eth1 是連接外部介面, br100 會從eth1 出去喔 ,設定一下就OK了

    6.這部分是Swift 我並沒有研究很深,不過單純GLANCE是可以直接利用本機內的file system 去存image的。

    ReplyDelete
  21. Dear Hugo
    不好意思,我又有點問題了...

    記得您有提過
    "因為scheduler 會根據目前可用resource 去選擇運算資源"
    我不太了解這句話的意義
    因為NOVA的目的只是將很多PC串在一個LAN,而並不會做分散式運算
    那這樣講起來,其實每台VM都可以看成是一個獨立的PC
    那這樣為什麼要去選擇運算資源呢?

    ReplyDelete
  22. 虛擬化技術中,Hypervisor 虛擬化,假設實體4 cores cpu 會被切割成8個vCPU (virtual cpus)

    當使用者送出我需要一個2vCPU Instance的時候,Scheduler 需要知道哪邊還有vCPU可以使用,假設A node 只剩下1vCPU ,而 B node 還有10個vCPU可以用,那scheduler 就會知道這個Instance 只能在B node 開起來囉

    ReplyDelete
  23. 喔~~了解,原來這邊指的資源分配是這個意思
    那compute應該也會像AWS EC2一樣,會有一個使用者介面可以來直接操作吧?

    ReplyDelete
  24. Van :
    Yes , 一個從NASA 的 Nubela 改寫的 介面OPENSTACK Dashboard....
    基本功能有,不過進階功能還是用CLI比較完整
    DASHBOARD像是一個GUI模板,可以根據你的需求去改寫。

    另一個就是 HybridFOX plugin 可以用,可是有些功能並沒有對應到OpenStack.....

    管理者用CLI最佳
    End User 使用DashBoard 就夠了.........

    ReplyDelete
  25. Dear Hugo
    不曉得您是否有安裝過DASHBOARD?
    或者是CLI?
    我用google上找CLI沒看到什麼資料,這是一套軟體的名稱嗎?
    另外,在openstack compute手冊上的ch.10的部分不曉得您是否有跟著run過?
    這部分安裝不起來想請教一下...
    謝謝

    ReplyDelete
  26. Hi VAN
    Dashboard
    http://hugokuo-hugo.blogspot.com/2011/04/openstack-dashboard-written-by-python.html

    使用APACHE當引擎
    http://hugokuo-hugo.blogspot.com/2011/06/nova-dashboard-with-apache2-mysql-link.html
    SORRY ,CLI 我是指command line interface
    透過
    #nova
    #nvoa-manage
    #glance
    #euca2ools
    這些來操作

    ReplyDelete
  27. Dear Hugo:
    您所提供的網誌內容Dashboard部分和官方的安裝步驟是相同的
    但我操作到
    bzr branch lp:openstack-dashboard trunk
    這個步驟的時候,結果應該要在
    trunk/中出現一些東西
    但我的資料夾裡面只有一個
    README和一個空的run_tests.sh
    我不曉得到底漏了什麼?

    我目前的環境是在nova controller這台主機上
    沒有run image起來,也沒有把node打開
    apacach2,mysql都在run
    bzr的安裝也安裝好了
    想請問您有預到這個問題嗎?

    ReplyDelete
  28. VAN:
    I just test with bzr branch and got same issue.
    I checked the README which mentioned code base already been moved to GitHub
    Here you go......
    https://github.com/4p/openstack-dashboard

    You can pull code from the link , I believe that will work for you.

    Cheers
    Hugo Kuo

    ReplyDelete
  29. Dear Hugo:
    I get openstack-dashboard from https://github.com/4p/openstack-dashboard
    But, the package install step not match openstack compute administration manual.
    The local_settings.py file also differ.
    So...maybe wait new document...

    ReplyDelete
  30. Hi Hugo
    針對上次所提的
    1.只是發IP方式不同,一個是inject網路設定到/etc/network/interfaces , 另一個是 dhcpdiscover. 這邊不好理解。有些東西可以討論 可以說明一下
    nova的網路環境溝通 我兩張網卡一個用dhcp連至外部switch 一個接內部完全只是PC對PC的HUB的staticIP設定 在設定sudo nova-manage network create 居然出現error IP範圍過大 可否說明一下我的作法是否錯誤?


    2.--network_manager的模式跟我的網路環境有關如果
    實際是DHCP他會以我的外部dhcp規則去配ip嗎

    3.nova.conf的-fixed_range= 與 sudo nova-manage network create 有甚麼關聯 可以設一樣嗎?
    4.euca-authorize -P icmp -t -1:-1 default
    euca-authorize -P tcp -p 22 default
    設了VM網段與實際網段還事不通可否說明一下
    透過br100的VM怎麼溝通外部呢

    5.使用不同的Hypervisorvm 除了--libvirt_type=
    不一樣外還需設哪些?

    ReplyDelete
  31. 1. Instance's DHCP IP 並非由妳外部的DHCP server 配發,而是cloud 內部網路,在nova-network host 的 flat_interface 會啟動dnsmasq 來聽dhcpdiscover, 而這個port 會bridge 到 nova-network 的 br100 上去,而且br100 的IP 會預設成 你所創造網段的第一個可用IP, 也會是instance 的 gateway. 至於會出現錯誤,要先確認nova.conf 內 --fixed_range 的網路至少>= 你所要create 的網路大小
    舉個例 如果 是
    --fixed_range=10.0.0.0/8
    那 10.0.0.0/24 是合法的

    2.--network_manager 無關,看成獨立的環境。額外一提,如要使用VlanManager 須要有一台可以Vlan tagging 的switch. DHCP 是 opentack 內部配的。 其實要讓instance 取得外部switch ip 也是可以不過較複雜
    I. 在外部switch 把部分IP鎖住
    II. 把這網段網路加到Nova內,然後hack進DB把多的IP刪除
    III. 將nova-network 的 內外網卡(eth1,eth0)bridge 到br100

    3.可以設一樣

    4.有幾個可能,VM並沒有取得DHCP配發的IP ,VM 沒有取得metadata , 請把VM 的 console-output 拉出來看
    #euca-get-console-output 或是直接到/var/lib/nova/instances//console.log 看 ,eth1 跟 所有VM的VnetX 介面卡都綁在同一個橋接器上br100

    5.需要裝個別Hypervisor的套件,不過XENSERVER就要裝她們的distro , base on CentOS 我記得。

    ReplyDelete
  32. Dear Hugo:
    我目前知道Openstack有三個部分
    1.Compute
    2.Object storage
    3.image Service

    其中compute又分controller, node
    Object storage也分為storage node, proxy node, auth node.
    Image Service(Glance)則是只有一台。
    另外還有dashboard。
    現在的問題是,對於這麼多的Service,我在安裝的時候有何先後順序嗎?還有這麼多台server我必須都安裝在不同電腦上嗎?
    像是controller和node是不同台PC,但我不曉得dashboard是否也是自己一台獨立的PC,還是要安裝在controller。
    像這種資訊,希望您能給我一點意見,謝謝

    ReplyDelete
  33. 我們先看Compute 跟 ImageService

    compute 應該不能分為 controller / node
    最好還是把所有元件分開看
    network/compute/scheduler/objectstore/volume/api/
    以上這六個元件可以針對不同需求去組合。
    Glance 用一台即可(BUT不代表只能有一台)
    最簡單的方法是 全部東西都裝在同一台實體電腦上,不過當然只是測試性質。
    最少要把compute node 獨立,其餘可裝在同一台電腦
    Dashboard 可以裝在任何地方只要能跟nova-api連到就可以,我是都裝在nova-api同一台上。

    一般說controller 是 除了compute-node之外的元件整合再一起,所以controller 可以是all-in-one 也可以是一個 cluster....

    以下是我建議你可以先完成的方法
    Node A
    nova-api/nova-scheduler/nova-objectstore/nova-network/mysql-server/rabbitmq-server/dnsmasq/bridge-utils/phpmyadmin/dashboard/glance

    Node B
    nova-compute/dnsmasq/bridge-utils

    ===SWIFT===
    可以最後再架設,只要把Glance儲存的目標設定成SWIFT即可
    SWIFT跟我還不熟 ,不過我知道不難架

    ReplyDelete
  34. Dear Hugo
    確認是
    DataSourceEc2.py[WARNING]: waiting for metadata service at http://169.254.169.254/2009-04-04/meta-data/instance-id
    可能是iptable問題 我用單一網卡我已經卡很久了所以才會想用雙網卡試看看 不過雙網卡環境設定問題又出現在
    sudo nova-manage network create 居然出現error IP範圍過大,現在可能要學習iptable我對這也沒不熟
    請問有相關資訊可提供我方向嗎?

    ReplyDelete
  35. 雙網卡比單網卡單純 說
    你可以畫一下你的架構圖+nova.conf給我看嗎
    順便把Mysql NOVA db 的 networks & fixed_ips 這兩個table 給我

    找時間幫你看一下

    ReplyDelete
  36. Dear Hugo
    我目前利用官方的image檔來測試
    但我run完之後,我發現我連不到這個instances
    請問我該如何把這個instances關閉,並移除這個image?
    請問有相關的文件說明嗎?
    謝謝

    ReplyDelete
  37. Van
    我相信IMAGE沒問題,請看一下你的instance status 是否running , if so ....
    plz check console output for more information.

    ReplyDelete
  38. root@van-compute:~# euca-describe-images
    IMAGE ami-69190d59 dub-bucket/maverick-server-uec-amd64.img.manifest.xml a vailable public i386 machine aki-4b99943b
    IMAGE aki-4b99943b dub-bucket/maverick-server-uec-amd64-vmlinuz-virtual.manifest.xml available public i386 kernel
    這是我按照官方手冊建出來的image

    root@van-compute:~# nova-manage network list
    network netmask start address DNS
    10.32.0.0/28 255.255.255.240 10.32.0.2 8.8.4.4
    root@van-compute:~# ssh 10.32.0.0
    ssh: connect to host 10.32.0.0 port 22: Network is unreachable
    所以我想先把這個instances關閉...

    ReplyDelete
  39. #euca-describe-instance
    #euca-get-console-output

    先別關掉 看看問題在哪再說

    ssh: connect to host 10.32.0.0 port 22: Network is unreachable
    很明顯 你連接instance client 絕對跟 instance 沒有在同一個網段,可以嘗試設定 route table

    ReplyDelete
  40. root@van-compute:~# virsh list
    Id Name State
    ----------------------------------

    可是我這樣看好像什麼instance都沒有run起來...

    ReplyDelete
  41. 看起來好像是喔
    你能給我看

    #euca-describe-instance
    #euca-get-console-output instance_id
    嗎?

    貼在
    http://pastebin.com/

    請問你是自己在家玩還是公司???

    ReplyDelete
  42. ubuntu 10.04 desktop

    auto lo
    iface lo inet loopback
    auto eth0 ---------------------(連接至外部分享器到ADSL)
    iface eth0 inet static
    address 192.168.104.22
    netmask 255.255.255.0
    gateway 192.168.104.254

    auto br100
    iface br100 inet static
    bridge_ports eth1 ------------(連接內部HUB )
    bridge_stp off
    bridge_maxwait 0
    bridge_fd 0
    address 10.1.1.254
    netmask 255.255.255.0
    broadcast 10.1.1.255
    1. sudo apt-get update
    2. sudo apt-get install bridge-utils
    reboot
    3.# brctl addbr br100
    # brctl stp br100 off
    # brctl addif br100 eth0
    # brctl addif br100 eth1
    # ifconfig eth0 down
    # ifconfig eth1 down
    # ifconfig eth0 0.0.0.0 up
    # ifconfig eth1 0.0.0.0 up
    # ifconfig br100 192.168.104.253 netmask 255.255.255.0
    $ sudo route add default gw 192.168.104.254 dev br100
    # echo 1 > /proc/sys/net/ipv4/ip_forward
    # nano /etc/sysctl.conf
    ---###add line###------
    net.ipv4.ip_forward = 1
    ---###add line###------
    # sysctl -p
    net.ipv4.ip_forward = 1
    4.
    sudo apt-get install mysql-server
    sudo sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf
    sudo /etc/init.d/mysql restart
    sudo mysql -uroot -pnova -e 'CREATE DATABASE nova;'
    sudo mysql -uroot -pnova -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;"
    sudo mysql -uroot -pnova -e "SET PASSWORD FOR 'root'@'%' = PASSWORD('nova');"

    5.
    sudo add-apt-repository ppa:nova-core/release
    apt-get update
    sudo apt-get install -y rabbitmq-server
    sudo apt-get install -y python-greenlet python-mysqldb
    sudo apt-get install -y nova-common nova-doc python-nova nova-api nova-network nova-objectstore nova-scheduler nova-compute
    sudo apt-get install -y euca2ools unzip
    sudo apt-get install glance


    6.nano /etc/nova/nova.conf

    --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=192.168.104.22
    --rabbit_host=10.1.1.254
    --cc_host=10.1.1.254
    --ec2_url=http://192.168.104.22:8773/services/Cloud
    --fixed_range=10.1.1.0/24
    --network_size=64
    --FAKE_subdomain=ec2
    --routing_source_ip=10.1.1.254
    --sql_connection=mysql://root:nova@192.168.104.22/nova
    --glance_host=10.1.1.254
    --image_service=nova.image.glance.GlanceImageService

    7.restart libvirt-bin; restart nova-network; restart nova-compute;
    restart nova-api; restart nova-objectstore; restart nova-scheduler

    8.
    sudo nova-manage db sync
    sudo nova-manage network create 10.1.1.0/24 1 64

    The network range is not big enough to fit 64. Network size is 64

    ReplyDelete
  43. hello 資訊有點不足,如果有拓樸圖比較好,我假設你是單一host
    All-in-one NOVA

    CIRD 10.1.1.0/24
    --network size=256
    --routing_source_ip=192.168.104.22 (外部IP)

    #sudo nova-manage network create 10.1.1.0/26 1 64

    network manager flag should be added in nova.conf...due to the default value is VlanManager.

    如果你選擇FlatManager 那 bridge 的確是需要手動設定,不過在你brctl 跟eth1 設定上 有點怪怪的
    你要不要先試FlatDHCPManager
    linux_net.py 會幫妳處理好橋接介面設定

    1. 刪除br100 在/etc/network/interfaces 中的設定
    2. 讓eth1 開機就up 或是開機後手動up
    重新開機

    service nova-network status 如果pid 一直改變表示daemon 啟動失敗,可以查一下/var/log/nova/nova-network.log , 通常都是dnsmasq 位址被綁住
    執行
    #killall dnsmasq 直到所有dnsmasq 的process 都砍掉後重新啟動nova-network 就可以了

    PS 如果你想知道FlatManager 的bridge怎麼設定再跟我說
    在Nova的文件中這部分的確會讓人有點混亂。

    ReplyDelete
  44. btw, 記得scrub 掉database 裡面的networks 跟fixed_ip table , 如果你想換network manager 的話 , 應該說你必須scrub掉 ,因為你預設值建立的network 是Vlan模式

    還有network 建立後預設的gw 都是.1 的ip ,我修改的話都是直接hack db

    ReplyDelete
  45. hey 啤酒,請問你用的nova 版本號是多少
    我剛測是最新的trunk ,在建立network 的時候有點不同需要加上一個label

    ReplyDelete
  46. Dear Hugo
    我目前正在重做img...
    我現在是在公司玩,但是我沒有實體機器,我是在一個server上架設VM EXSi上在開三台VM來玩的...

    ReplyDelete
  47. Hi Hugo:
    我每次在做image的時候都會出現這個結果,想請問一下您有遇到過嗎?
    root@van-compute:~# uec-publish-image -t image --kernel-file vmlinuz-2.6.38-8-server --ramdisk-file initrd.img-2.6.38-8-server amd64 ubuntu_final.img mybucket
    failed to check for existing manifest
    failed to register vmlinuz-2.6.38-8-server

    ReplyDelete
  48. 應該是 cactus 我用apt-get install 安裝會分版本嗎?
    拓樸圖,我是單一host All-in-one NOVA 先測試

    1.在家裡安裝應該環境很簡單一台adsl固定ip設到AP
    裡面用AP的dhcp 配發 192.168.104.100~192.168.104.299 IP

    2.192.168.104.2~192.168.104.99 可設固定ip

    3.兩台PC各兩片網卡 eth0 都直接到 AP透過ADSL連到外部 eth1獨立連接到1台Hub無法連接到外部

    4.我再畫圖給你

    ReplyDelete
  49. root@van-compute:~# euca-describe-images
    IMAGE ami-69190d59 dub-bucket/maverick-server-uec-amd64.img.manifest.xml available public i386 machineaki-4b99943b
    IMAGE aki-4b99943b dub-bucket/maverick-server-uec-amd64-vmlinuz-virtual.manifest.xml available public i386 kernel

    這個是我之前載入官方的image的結果,請問我可以把這個image移除嗎?

    ReplyDelete
  50. 兩位要約個時間碰面嗎?
    不過最好有兩台機器支援VT的地方

    啤酒:
    OK , 兩架eth0的ip將她fix 起來 不如就
    192.168.104.2
    192.168.104.3
    設在/etc/network/interfaces 內

    然後使用FlatDHCP manager
    fixed_range=10.0.0.0/24
    network_size=256
    flat_interface=eth1
    public_interface=eth0

    把nova 這個DB的 networks & fixed_ip 兩個table empty 掉
    重啟所有服務,確認所有services 都正常跑起來
    請查nova 版本
    #dpkg -l | grep nova
    如果是cactus
    那#nova-manage network create 10.0.0.0/24 1 256 應該不會有問題
    如果是trunk 版本 請跳到今天剛post 的一篇 需要再create 後面加個label


    Van:
    我沒遇過,那個錯誤。
    image 狀態看起來正常如果要移除
    #euca-deregister image_id
    #euca-delete-bundle dub-bucket

    還有我不確定你在EXSI能否run kvm ,就我所知kvm 需要
    CPU本身支援VT, 小弟的筆電就無法。
    我建議您可以跑看看那個available 的image 然後查看
    /var/log/nova/nova-compute.log 的error log

    還有uec-publish-image 是不是這樣用我不清楚,在之前我要拆成kernel & ramdisk & img 是使用 euca-bundle / euca-upload / euca-register

    抱歉現在才回,小弟今天把公司production 的cloud 前端nova-network host 重新開機,跟instance 的網路全斷,6台cloud instance server 重架 ,快瘋了
    PS , 理論上network host 應該不影響instance 我快瘋了

    ReplyDelete
  51. Dear Hugo
    我求之不得能與您當面討論 當然最好有VT CPU 我可以支援兩台有支援VT的NB在作LAB,當然最好能參觀你實際運作的Server了解寶貴的經驗,不過我人在台中 每天利用下班時間作每次失敗就有點放棄有Hugo的指點讓我可以少走一點冤枉路,最後當然希望運用在實際面,我還沒學到位還不敢用

    ReplyDelete
  52. 好遙遠的台中呀

    我LAB是在公司平常應該不方便 除非你很晚來找我(老大不在時)
    目前跟公司是有提計畫來個Cloudfest of openstack
    不過我想他們大概會安插工商時間~~ :<

    遲早會成功的,我真的開始摸從三月,你看我今天還毀了cloud intances :<
    完全出乎我意料之外的結果,到現在還在build image ~"~

    ReplyDelete
  53. 辛苦辛苦 當然我是可以去找你 然後提供lab幫我上課一下 這就夠了當然是希望您可以空出時間,六日我都可以開車出門 1-5上班時間也可以等您下班 如果Hugo能空出時間指導一下就太感謝了!~想問一個問題當初未何想研究openstack 是因為EUC不好用嗎 因為我沒用過該類的平台

    ReplyDelete
  54. 看VAN 有沒有興趣 ,不過一次兩個來我公司我應該會被警衛抓
    這點在想辦法囉

    去年底我家manager 弄了一個euca,他有遇到一些很怪而且我覺得不合理的問題。 他是喜歡東西馬上弄一弄就可以用的那種風格,結果很多問題也就無法解決,畢竟cloud 平台不是只有一架server可以完成。

    我接手後發現community support 很薄弱,網路上很多文章沒錯可是都沒有完整的說明,雖然架的起來 可是bugs 一堆,社群也解不了,很合理 euca有commercial support. Code 並沒有全open

    其實還有幾個cloud platform
    CloudStack/Open Nebula
    基於某些理由選擇openstack , 然後就加入community ,發展很快速,也碰到各家高手前輩,KT/NTT/STACKOPS/Rackspace 反正全世界的膚色大概都碰過,非常有樂趣。
    回歸平台本身,穩定度/自由度/社群支援/各家虛擬技術的支援/
    全open/架構的設計/可擴展程度
    還有很多大廠投入(這點不予置評,大家應該都是衝著利益來)
    前兩項當你越熟悉越能感受,還有很多點啦
    還有一點!!!! 日韓都有人參與,輸人不輸陣阿,台灣公司那麼多,屌的也不少。
    Rackspace 的人目前有到日韓去參加研討,我是很希望台灣也有機會。 很想found 一個社群可惜知道的人太少了。文件又多到瘋掉,中國軟件開中國社群,日本NTT開日本社群,韓國KT開韓國社群,我在想台灣該有誰來做? 我想做,可惜資源不足,人跟$都是一個問題。
    歐萊禮有提過Cloud 就是要open的論點,有興趣可以搜尋看看。
    台灣目前cloud 不少公司喊很大,到computex 看也是一堆用Micro$oft 包起來。也許短期可以賺到點$$,but future ........

    Cheers
    Hugo

    ReplyDelete
  55. 如果Hugo不嫌棄我當然想學了
    我到現在才開始一個禮拜,很多東西都不懂
    還滿想學學這些東西的
    不管我公司要不要玩,至少都可以當成我自己的東西...
    我本身是在內湖工作
    如果要去台中的話我也可以,因為我是台中人 XD

    ReplyDelete
  56. 恩,根據官方手冊的寫法理論上也是會有
    kernel & ramdisk & img
    在用uec-publish-image後
    再用euca-describe-images查應該也要看到有三個image
    但是我下載官方做好的image來做的時候
    下euca-describe-images查的一樣,只有兩個image
    然後自己做又都遇到問題...

    我自己做的方式和官方手冊一樣
    也是起KVM,然後VNC進去安裝OS
    但不知道為什麼,總是不成功

    不過今天要忙別的事情,可能要等有空或下禮拜才能繼續玩了

    ReplyDelete
  57. This comment has been removed by the author.

    ReplyDelete
  58. 想來想去還是我這邊最方便,再跟我leader 提一下

    ReplyDelete
  59. Hi Hugo
    如果不方便到貴公司其實也沒關係 不要勉強
    因為兩位都在北部 我當然也不好意思 要你們來我這
    不然我這假日我在都可以提供網路與設備
    Van如果方便的話 或許也可提供場地
    另外請問一下 Hugo
    euca-run-instances -k test -t m1.tiny ami-zqkyh9th
    指令 m1.tiny 代表神麼 要建立虛擬檔格式嗎?
    底下那個eri值是none 代表何種意義
    emi="ami-3306d8cf"; eri="none"; eki="aki-070cdb80";

    ReplyDelete
  60. 地方還在跟我家那個老外橋

    m1.tiny 是instance type
    每種type 可以設定不同的vcore /ram / diskspace etc.
    Try
    #nova-manage flavor list
    使用create 參數可建立不同的type

    Eri=none 代表這個image 並不使用Ramdisk

    ReplyDelete
  61. Hugo 請教一下 為何我啟動底下的instances 一起始
    是scheduling 過沒多久都自動的shutdown ???


    root@nova2:~# euca-run-instances -k test -t m1.tiny ami-6f4d0113
    RESERVATION r-70ihsoh5 mycloud default
    INSTANCE i-00000001 ami-6f4d0113 scheduling test (mycloud, None) 0 m1.tiny 2011-07-10T16:35:29Z unknown zone
    root@nova2:~# euca-describe-instances
    RESERVATION r-70ihsoh5 mycloud default
    INSTANCE i-00000001 ami-6f4d0113 192.168.0.2 192.168.0.2 shutdown test (mycloud, nova2) 0 m1.tiny 2011-07-10T16:35:29Z nova

    ReplyDelete
  62. 如果是trunk 版本不一定能解決。
    如果是Cactus 查查 compute node log
    看一下應該會有頭緒

    原因很多.......
    這代表instance 並沒有起來
    正確請查log
    nova-compute.log

    ReplyDelete
  63. hi 兩位
    我公司這邊確定不方便,如果有地點請再告知我
    文章也被老闆要求砍了兩篇掉....

    ReplyDelete
  64. Hugo 沒關係 我在想想辦法吧 我們台北有分公司 不過我沒去過 認識不多 假日是否提供場地 也許我要在問一下 有甚麼消息 我在跟你說吧!

    ReplyDelete
  65. Hugo 我問過台北分公司的MIS 只要我說哪一天喬好他願意 去幫我開門 裡面有基本的網路 ,要哪些Lab設備再跟我說 我準備一下帶去 ,看你們的時間 基本上我六日都有空 禮拜 至 禮拜五 就太趕了

    ReplyDelete
  66. 我們公司地址在地址:台北巿南港區三重路66號13樓 也許跟你們也有業務往來 我們代工用到bios 可以了解你們家不能帶外人進去的疑慮拉 這也是我們私人的交流行為不要sorry 是該感謝你多次幫忙!~

    ReplyDelete
  67. 如果要把前端都弄在一台 那只需要兩架主機
    一架要有支援VT, 無須額外switch ,僅需公司有區網,網卡各要有兩張在機器上


    不過我建議可以弄三台,我們把nova-network 獨立出來
    Switch 2~3 台(公司如果有區網可以扣掉一台),如果要玩Vlan 那其中一台要有支援Vlan Tagging
    前端1~2張網卡
    nova-network 3張
    nova-compute 2張

    這周日我有空,看VAN囉

    ReplyDelete
  68. 這周日我也OK
    但我想額外的問一下
    一定都要有好幾張網卡才可以嗎?
    我公司今天進了十台PC要給我玩openstack
    我現在OS還沒裝(是根本還沒開箱)
    我們公司也可以直接借route,switch,GW
    但PC裡面好像都只有一張網卡....
    如果這方面有限制的話,我這邊可能就沒辦法了

    PS:請問Hugo,我OS要灌desktop板還是server板?

    ReplyDelete
  69. 我看跟cloudtw 一起辦好了 跟我老闆借場地,不過他要等我powerpoint 出來才要答應我 最近趕一下

    ReplyDelete
  70. Hugo 好吧 那就暫緩 等你的消息

    ReplyDelete
  71. 應該不會太久,一邊橋人 一邊橋我的PTT

    ReplyDelete
  72. 我看我們先碰面好了,我不知道要等多久
    周日場地跟機器有就OK囉看在VAN還是啤酒那邊

    Van:
    不一定要很多網卡,可是網路設定會相當有挑戰性。
    OS 全部倒Ubuntu Natty Server
    Desktop 也可以 不過好像沒有必要性

    最好還是有網卡,拿個幾張螃蟹卡裝裝也OK 測試而已。

    ReplyDelete
  73. 如果van能提供場地那就最好 因為我到台北比較麻煩分公司我不知道他們的網路架構如何? 真的要借需要叫同事臨時來開門
    電腦的話我是有三台PC兩台支援VT雙網卡 兩台hub 另外有一台NB支援vt但只有一個網卡
    另外時間方面也要問兩位 我開車到那需要兩個半小時左右

    ReplyDelete
  74. 請問一下Hugo Nova網路問題

    1.nova的設定裡些必須聯外部網路哪張圖可以看出
    2.如用script安裝後再變更可以嗎?
    3.--flat_interface=$nova_network_flat_interface
    --public_interface=$nova_network_public_interface
    --routwing_source_ip=$nova_network_public_ip
    flat 內部的網卡介面public 是代表能連到外網即可嗎
    4.Openstack-Dashboard 似乎依照官網所表示 bzr branch lp:openstack-dashboard trunk後已經無法 trunk/openstack-dashboard/local 產生不了這個local的資料夾了?你有遇過嗎/
    5.OpenStack Compute - Cactus Release 是一個tar.gz 但Administration Guide安裝方式卻不用這個檔安裝 這個釋出的檔有何用途?

    ReplyDelete
  75. 前提: 以下討論都用一般的觀念去討論

    1. 請問你是指拓樸圖嗎? 依據你的需求可以不同。標準上Nova-api/Nova-network/Dashboard 有Public IP , 不過阿,其實每種環境 內網跟外網的定義是不同的。我真怕這句話讓你更模糊。
    那就簡單一點, Nova-network 跟Nova-api , 一個要給instance 走出去,一個要給使用者連。

    2. 可,比較麻煩是可能有少部分東西要hack DB.

    3.Public Yes , 更精確地說,是讓Instance 連上internet 的。

    4. 後來Code 移到GitHub , 目前好像有點問題,明天再看看,Doc 印度某位engineer 正在修正,這個Bug 已經report
    https://bugs.launchpad.net/openstack-manuals/+bug/803742 你也可以Follow...

    5.Cactus 不需要從source 安裝,Ubuntu repository 有。
    如果你是用Ubuntu 11.04 Natty 的話
    10.10 我不記得,用apt-get 查一下可以知道,如果沒有可以+ PPA。

    tar.gz Source 囉,有些人喜歡自己編譯。比較適合開發者,不然apt 東西裝的到處都是,時候想找某個source file 也要find find find

    ReplyDelete
  76. Dear Hugo&啤酒:
    我目前10台PC都到了,有七台是給我弄的
    但我目前真的都沒有網卡,都只有一張
    OS的話...因為我開始趕工灌OS的時候Hugo您還沒回覆我
    所以就全部都灌11.04 Desktop...
    我這邊可能要問我家老大看能不能讓人進來
    事實上偷偷進來應該也是可以,就禮拜六日來加班的意思

    PS:啤酒,你提到的第四點
    可以用另一個方式安裝舊版的
    在手冊的10.2最後的步驟中加入
    bzr branch lp:openstack-dashboard trunk
    cd trunk
    bzr revert -r 46
    這樣就可以下載到舊版的interface
    才能成功的安裝,看你要不要先弄

    另外我想跟兩位要個MSN或E-mail
    好方便溝通,不知兩位意下如何

    ReplyDelete
  77. 啤酒不知道去哪弄到你的GMAIL 好強XD

    我今天查了一下
    Dashboard 應該可以依照instruction 正常安裝了

    ** Changed in: openstack-dashboard
    Status: Confirmed => Fix Committed

    ** Changed in: openstack-manuals
    Status: Confirmed => Fix Committed

    Github 的code 看起來已經imported 到bzr

    在manual 上應該也修正了

    Desktop 也是可以啦 浪費一些些資源

    沒網卡很難處理

    ReplyDelete
  78. 因為我有加入cloud tw 只是
    網卡的話 我有三 四張PCI介面的 我可以帶給你用
    那看來時間是確定的 地點的話我們分公司在南港
    就看是要去VAN公司還是我們家分公司 去我們那比較麻煩的是基本上環境我不熟 也需要帶電腦去 純粹是去借網路與環境 螢幕等應該隨便拔假日沒來上班的同事的 在恢復原狀

    ReplyDelete
  79. 有個問題想請教:
    我建立好OpenStack環境後,產生的instance,透過ssh連過去,發現這vm無法連外,要如何解決呢?thanks.

    ReplyDelete
  80. beginner ~
    Hello
    如果instance 已經在 running 狀態下

    請check console output, 大概是沒get 到metadata , If so , plz check the traffic between nova-api & instances.

    the cmds as follow
    在nova-api 上
    #euca-get-console-output
    or 在compute node上
    cat /var/lib/nova/instances/instance_ID/console.log

    ReplyDelete
  81. 我跟我們家老大講好了
    可以來我這邊弄
    網卡的話可能要請啤酒支援一下
    時間就訂在7/23 AM 10:00

    另外我想問一下
    假設我的node和control在10.32.29.X的網段
    我想啟instances在10.32.X.X的網段
    那這樣我還是需要兩張網卡嗎?

    ReplyDelete
  82. VAN 正點耶~ 問題是你家在哪??? mail plz


    可以不用,可是不好設,你可能得先bridge 好 橋接介面,不要讓NOVA幫你設,hack db 的 networks tables 把gateway 改成 controller 的IP
    我的經驗,會遇到一些網路問題 可以解 手動設定網路的部分會相對變多。

    ReplyDelete
  83. dear Hugo K.
    感謝您的回覆,但看了log,真是看不懂...
    我懷疑是nova.conf設定的問題,cloud的
    topolog架構如:

    http://163.23.68.194/~schweb/topology.jpg

    nova.conf內容如下:
    t04@server1:~$ cat /etc/nova/nova.conf
    --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=192.168.10.1
    --rabbit_host=192.168.20.1
    --cc_host=192.168.20.1
    --ec2_url=http://192.168.10.1:8773/services/Cloud
    --fixed_range=192.168.20.0/24
    --network_size=8
    --FAKE_subdomain=ec2
    --routing_source_ip=192.168.20.1
    --sql_connection=mysql://root:passwd@192.168.10.1/nova
    --glance_host=192.168.20.1
    --image_service=nova.image.glance.GlanceImageService
    --iscsi_ip_prefix=192.168.20.
    --network_manage=nova.network.manager.FlatDHCPManager
    --flat_network_dhcp_start=192.168.20.1
    --flat_injected=False
    --flat_interface=eth1
    --public_interface=eth0
    t04@server1:~$

    可否麻煩幫我看看,謝謝啦。

    ReplyDelete
  84. For beginner,
    http://pastebin.com/MZgUCAVd

    Actually , I need console output of instance.

    cheers
    Hugo Kuo

    ReplyDelete
  85. Dear Hugo K.:
    太讚了,您解決了我的問題,太感謝了...懷疑的沒錯,是nova.conf的問題。

    另一問題,使用以下指令
    sudo nova-manage float create 192.168.10.1 192.168.10.224/27
    euca-associate-address -i i-00000003 192.168.10.225

    vm並沒有分配到eth0段ip,不知為何?

    ReplyDelete
  86. 我會這樣做

    #nova-manage floating list
    清掉原本的list

    #nova-manage floating create 192.168.10.255/32
    #euca-allocate-address
    應該可以看到鎖定的IP

    #euca-associate-address -i instance_ID 192.168.10.255

    ReplyDelete
  87. 我執行這個指令
    server1$sudo nova-manage floating list
    結果如下:
    192.168.10.1 192.168.10.224 None
    192.168.10.1 192.168.10.225 None
    .
    .
    .
    192.168.10.1 192.168.10.255 None
    192.168.10.1 192.168.10.224 None
    192.168.10.1 192.168.10.225 None
    .
    .
    .
    192.168.10.1 192.168.10.255 None
    192.168.10.1 192.168.10.224 None
    192.168.10.1 192.168.10.225 None
    .
    .
    .
    192.168.10.1 192.168.10.255 None
    192.168.10.1 192.168.10.224 None
    192.168.10.1 192.168.10.225 None
    .
    .
    .
    192.168.10.1 192.168.10.255 None

    192.168.10.224~192.168.10.255重覆出現了5次...怪

    這個指令語法是不是有問題?
    #nova-manage floating create 192.168.10.255/32

    麻煩了。

    ReplyDelete
  88. root@nova:/etc/nova# nova-manage floating list
    None 172.16.4.13 None
    None 172.16.4.12 None
    root@nova:/etc/nova# nova-manage floating create 172.16.4.14/32
    root@nova:/etc/nova# nova-manage floating list
    None 172.16.4.13 None
    None 172.16.4.12 None
    None 172.16.4.14 None


    先清空妳的list 再跑一次看看,如果有問題也許要bug report 一下,你用哪個版本?

    ReplyDelete
  89. btw , 也許我們版本不同 Cactus 好像要加一個hostname

    我是前天的trunk

    ReplyDelete
  90. This comment has been removed by the author.

    ReplyDelete
  91. Dear Hugo K.
    我用
    $sudo nova-manage floating delete
    把重複的ip address刪掉,再用
    $sudo nova-manage floating create host
    配置ip ok

    $sudo nova-manage floating list

    192.168.10.1 192.168.10.8 None
    192.168.10.1 192.168.10.9 None
    192.168.10.1 192.168.10.10 None
    192.168.10.1 192.168.10.11 None

    但用
    $euca-associate-address -i
    出現
    ApiError: ApiError: Address is not allocated
    user@client1:~$

    可能是哪裡有問題?

    ReplyDelete
  92. 跟ERROR說的做不行嗎!!!?

    先allocate才能associate 喔

    What's the version of your NOVA ?

    ReplyDelete
  93. 接觸到現在大概一個多月,一路跌跌撞撞的試,今日拜讀了您的文章,真是獲益不少,有個問題想請教,您提到有關Scheduler會依vCPU的情況來分配Instance,不知是否有"手動"或"規則"可以去處理這一部份?

    ReplyDelete
  94. Hello , dck
    目前有我知道的有三個現成的driver
    透過flags定義於nova.conf內
    simple
    zone
    另一個完整參數要查是給MultiZone cluster使用
    令一層意義則是你可以寫自己的規則 讓scheduler呼叫
    未來應該會有各種driver 我想 如果有人願意釋出的話

    ReplyDelete
  95. Dear Hugo K.
    sorry,我太慢回應。
    IP allocate的問題已解決,感謝你的提醒。
    至於NOVA版本問題,本來不知如何查,上網找了一下方法...

    $ sudo nova-manage shell python
    Python 2.7.1+ (r271:86832, Apr 11 2011, 18:13:53)
    [GCC 4.5.2] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    (InteractiveConsole)
    >>> from nova import version
    >>> version.version_string()
    '2011.2'
    >>> version.version_string_with_vcs()
    u'2011.2-workspace:tarmac-20110415024701-a9bdb77vaatk99lh'

    我是依http://cssoss.wordpress.com/內的方法安裝的,不知這版本有無問題?

    ReplyDelete
  96. Hello ,Hugo K
    謝謝您的回答,其中有關nova.conf的flags定義,似乎官網手冊上說明的也不是很詳細,另外請教當使用FLATDHCP模式時,VM內的IP是否就會自動與NOVA所CREATE的NETWORK IP同步?

    ReplyDelete
  97. 哩後
    beginner :
    您所使用的版本是Cactus Release , 這版本是穩定版
    我會用dpkg -l nova-api 直接查,你的方法也不賴


    dck :

    http://wiki.openstack.org/FlagsGrouping
    這裡有基本的flags說明,的確是不詳細,需要的時候可以到Launchpad QA or IRC channel #opentsack 找人問
    不過自己測試會比較清楚

    ReplyDelete
  98. Hello ,Hugo K
    補充一下,查版本可以用nova-manage version list.
    另外FLATDHCP模式IP的問題,不知您有沒有觀察到?

    ReplyDelete
  99. dck,

    The answer is "yes"
    dhcp assign to instance .....

    ReplyDelete
  100. 我用dck的方法查nova版本,出現以下訊息:

    $sudo nova-manage version list
    version does not match any options:
    user
    account
    project
    role
    shell
    vpn
    fixed
    floating
    network
    vm
    service
    db
    volume
    instance_type
    image
    flavor

    這是版本間的差異嗎?

    ReplyDelete
  101. Hi beginner,
    我手上的是
    2011.3-dev (2011.3-workspace:tarmac-20110714191315-1ust0c0frqgbfiv4)

    Hugo K,
    THANK'S!

    ReplyDelete
  102. This comment has been removed by the author.

    ReplyDelete
  103. Hello ,Hugo K
    請教在terminate instances之後有些instances檔案會留下來,有專門指令清除或可以直接rm不影響?
    另外不好意想請問是否方便後續可以直接用您的gmail跟您請教問題?

    ReplyDelete
  104. dck ,
    那個instance 會存在一陣子 可是不會永遠,我很少進到compute node 去刪掉

    也是刪過啦沒什麼錯誤,我都直接進到/var/lib/nova/instances 砍掉該instance folder

    這邊我不方便留mail, 怕收到廣告郵件 , 請到google group "cloudtw" 找一下,麻煩你囉

    Cheers
    Hugo Kuo

    ReplyDelete
  105. Dear Hugo:
    上次有跟您提到說instances起不起來的問題
    但那個時候在用euca-describe-images的時候發現只有兩個檔案,現在我已經用好並可以成功看到

    root@sqad-Cloud-10:~# euca-describe-images
    IMAGE aki-4f8c256e bucket1/vmlinuz-2.6.38-8-server.manifest.xml available public x86_64 kernel
    IMAGE ami-041ebf2f bucket1/serverfinal.img.manifest.xml available public x86_64 machine aki-4f8c256eari-7eb3922f
    IMAGE ari-7eb3922f bucket1/initrd.img-2.6.38-8-server.manifest.xml available public x86_64 ramdisk

    但我run #euca-run-instances後還是無法成功的連進去instances裡面.

    於是用下面的方式查看發現

    root@sqad-Cloud-10:~# virsh list
    Id Name State
    ----------------------------------

    root@sqad-Cloud-10:~# euca-describe-instances
    RESERVATION r-w3d01hlo mydlink default
    INSTANCE i-00000003 ami-041ebf2f 10.32.74.2 10.32.74.2 shutdown None (mydlink, sqad-Cloud-9) 0 m1.small 2011-07-18T08:29:57Z nova

    root@sqad-Cloud-10:~# euca-get-console-output i-00000003
    i-00000003
    2011-07-18T08:31:18Z

    請問這個我該怎麼處理?

    ReplyDelete
  106. Van , 方向可能錯誤,如果是UEC的 image 很多是不需要RAMDISK的
    問題並非在image 上,而是compute node 的問題
    請再compute node 上 查詢kvm 是否enable
    #lsmod | grep kvm

    如果有開啟
    請使用以下image 測試
    image="ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz"
    wget http://smoser.brickies.net/ubuntu/ttylinux-uec/$image
    uec-publish-tarball $image mybucket

    如果KVM有啟動 連TTY image 都失敗,那請查bios 的VT是否啟動
    如果還不行那就要查nova-compute.log <~這邊一定有

    失敗原因很多,要看log
    沒裝Glance 也會有類似問題

    ReplyDelete
  107. 2011-07-18 17:04:21,696 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=8, so setting state to shutoff.
    2011-07-18 17:04:21,696 INFO nova.compute.manager [-] DB/VM state mismatch. Changing state from '8' to '5'
    2011-07-18 17:05:21,757 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:06:21,789 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:07:21,816 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:08:21,844 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:09:21,867 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:10:21,895 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    2011-07-18 17:11:21,917 INFO nova.compute.manager [-] Found instance 'instance-00000006' in DB but no VM. State=5, so setting state to shutoff.
    這是我剛剛起TTY的結果

    root@sqad-Cloud-9:~# lsmod | grep kvm
    kvm_intel 56851 0
    kvm 367707 1 kvm_intel

    root@sqad-Cloud-10:~# lsmod | grep kvm
    kvm_intel 56851 0
    kvm 367707 1 kvm_intel

    這是我在兩台機器上查KVM的結果

    ReplyDelete
  108. empty _base
    empty nova-compute.log

    Thanks

    也許該設一個討論版~"~
    回應快爆掉中

    ReplyDelete
  109. 我問太多問題了 XD

    我現在看log
    2011-07-18 17:31:35,008 ERROR nova.compute.manager [AUCG29G6M3XFHSLUJ0F9 mydlink mydlink] Instance '9' failed to spawn. Is virtualization enabled in the BIOS?
    看起來是他是說我BIOS沒有起VT....但我進BIOS看是都enable了
    看來我要先去找這台新機器的設定...

    ReplyDelete
  110. 也不是問太多問題啦,
    MSN*1
    MAIL*2
    BLOG*1
    IRC*2
    我自己的環境也在搞,有點混亂中大家佈署方式都有落差
    TRY
    你BIOS已經起了,不然kernel 不會載入kvm 模組
    妳裝Glance 看看
    或是可以先
    #killall dnsmasq; service libvirt-bin restart ; service nova-compute restart ;

    ReplyDelete
  111. 安裝了glance但還是有問題...

    2011-07-18 18:04:06,310 ERROR nova.exception [-] Uncaught exception
    (nova.exception): TRACE: Traceback (most recent call last):
    (nova.exception): TRACE: File "/usr/lib/pymodules/python2.7/nova/exception.py", line 120, in _wrap
    (nova.exception): TRACE: return f(*args, **kw)
    (nova.exception): TRACE: File "/usr/lib/pymodules/python2.7/nova/virt/libvirt_conn.py", line 617, in spawn
    (nova.exception): TRACE: domain = self._create_new_domain(xml)
    (nova.exception): TRACE: File "/usr/lib/pymodules/python2.7/nova/virt/libvirt_conn.py", line 1079, in _create_new_domain
    (nova.exception): TRACE: domain.createWithFlags(launch_flags)
    (nova.exception): TRACE: File "/usr/lib/python2.7/dist-packages/libvirt.py", line 337, in createWithFlags
    (nova.exception): TRACE: if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
    (nova.exception): TRACE: libvirtError: Failed to add tap interface to bridge 'br100': No such device
    (nova.exception): TRACE:
    2011-07-18 18:04:06,310 ERROR nova.compute.manager [5Y0U3W12UJ46KQTA9JZL mydlink mydlink] Instance '12' failed to spawn. Is virtualzation enabled in the BIOS?
    (nova.compute.manager): TRACE: Traceback (most recent call last):
    (nova.compute.manager): TRACE: File "/usr/lib/pymodules/python2.7/nova/compute/manager.py", line 234, in run_instance
    (nova.compute.manager): TRACE: self.driver.spawn(instance_ref)
    (nova.compute.manager): TRACE: File "/usr/lib/pymodules/python2.7/nova/exception.py", line 126, in _wrap
    (nova.compute.manager): TRACE: raise Error(str(e))
    (nova.compute.manager): TRACE: Error: Failed to add tap interface to bridge 'br100': No such device
    (nova.compute.manager): TRACE:
    2011-07-18 18:04:07,062 INFO nova.compute.manager [-] Found instance 'instance-0000000c' in DB but no VM. State=5, so setting stateto shutoff.
    2011-07-18 18:05:07,088 INFO nova.compute.manager [-] Found instance 'instance-0000000c' in DB but no VM. State=5, so setting state to shutoff.

    還是我去cloudtw那邊問?

    ReplyDelete
  112. Hi Van,
    問題就在
    (nova.exception): TRACE: libvirtError: Failed to add tap interface to bridge 'br100': No such device
    再把你的nova.conf及ifconfig貼一下吧.

    ReplyDelete
  113. 你好
    1.因為看到有位Van大大有在虛擬機上架設OpenStack
    不知道Hugo大大知道這麼作是可行的嗎??
    2.看到文章中提及好像在掛載img作instance時會遇到問題,不知道有後續發展嗎?
    3.因為手邊沒有太多機器,想用一台配合其他虛擬機器玩看看,因此希望詢問看看是否有相關成功經驗可提供參考,謝謝

    ReplyDelete
  114. Hello Shiki
    1.The answer is Yes .
    libvirt_type=qemu
    2.不太懂意思,不過我可以確認沒什麼問題
    3.跟著文件安裝選FlatDHCP, 在Vbox 內 配置2~3張網卡
    一張對外即可 指定為public_interface
    另外兩張看你要不要把nova-service跟instance 網路分開了

    現在Diablo的網路我還沒測試過,希望明天有空可以先再VBOX跑一次

    ReplyDelete
  115. 親愛的版大你好:
    最近開始研究openstack,目前以第三版為研究主題。
    在佈署的時候有幸拜讀各位的文章,不過仍有幾個問題,想請教一下:
    1.在網路設定的部分,有看到public ip 與 private ip兩部分,想請教該差別為何?
    2.我試圖架設一台server並在上面run 一個instance。但是只能將現有固定ip分配到private ip上,無法使用euca-allocate-address與euca-associate-address等指令。
    當然instance變成只有在run的狀態,無法ping到也無法使用ssh,只是不知道哪邊犯了錯誤,還請告知(或提醒大概哪邊出了錯)
    謝謝!
    敬祝 聖誕佳節愉快!

    ReplyDelete
  116. hi Juvisy ,

    可能性很多, 方便用Gtalk 說嗎?
    tonytkdk@gmail.com

    ReplyDelete
  117. This comment has been removed by the author.

    ReplyDelete
  118. 親愛的版大你好:
    我已邀請你了,不知道您何時方便討論
    謝謝
    wowraiha@gmail.com

    ReplyDelete
  119. 您好:
    我先前安裝好版本為Diablo的openstack(有使用keystone)
    但是現在出現一個問題就是無法使用euca2ools的指令了
    會出現錯誤訊息如下
    Warning: failed to parse error message from AWS: :1:0: syntax error
    None: None


    按照官方說法是另外產生EC2所需要的key,再更改novarc的內容
    (不過這邊我產生的文件沒有官方說要更改EC2_ACCESS_KEY="novaadmin:proj"的問題)
    我也嘗試過網路上另一種將
    NOVA_API_KEY更改成與keystone相同的作法,不過似乎無效
    我看api的log結果如下:
    2012-04-10 10:40:44,951 INFO nova.api [-] 0.7051s 163.18.62.239 POST /services/Cloud/ None:None 400 [Boto/2.0 (linux2)] application/x-www-form-urlencoded text/plain

    現在有點卡住,還望能解答此疑問或給點提示大概是哪邊有問題!謝謝你

    ReplyDelete
  120. Juvisy , 很抱歉 這個部分我個人無法解答
    基本上我個人不會用到EC2的API去對nova進行操作
    加上也許是diablo本身的bug or something .

    個人建議使用Ubuntu 12.04 + essex 進行部署

    ReplyDelete
  121. 嗯,感謝您的回答。
    因為在另一篇製作windows鏡像的部分,及官方文件上仍能看到很多使用ec2指令的部分,為了支援相容性...等原因想試圖解決這個問題。

    謝謝囉

    ReplyDelete
  122. buntu12.04 + esse , 有遇到EC2_ACCESS_KEY的問題, 進入web 後的 set 頁面, 有個Download EC2 Credentials, 抓下來後有兩行資料copy到 novarc , source novarc 後可解.

    ReplyDelete