OneStack:Ubuntu 12.04 (或11.10) 一鍵部署安裝OpenStack云計算平臺

jopen 12年前發布 | 80K 次閱讀 OpenStack 分布式/云計算/大數據

OneStack:在Ubuntu12.04(precise)上一鍵安裝部署Opentack Essex

提醒:如果你喜歡折騰,喜歡自己一步一步安裝各個功能組件和配置conf文件,你可以略過此文。本文工具可以在裸機和虛擬機一鍵部署真實的 OpenStack云計算平臺,主要步驟是配置網絡、數據庫、keystone、glance、nova、dashboard、創建鏡像和啟動實例等,代 碼內有詳細注釋。這只是學習Opentack的入門的一步,深入研究可以參考附錄3給出的部分資料和社區。

 

一、項目(OneStack)地址:

http://onestack.googlecode.com

喜歡git或者github的請去 https://github.com/Kayven/OneStack

不希望同行們把過多精力花在OpenStack的安裝部署上(以后應該會改進),而是對其機制原理、工程實踐、性能調優、應用服務等深入研究探討。 所以提供這個一鍵部署的工具,幫助大家快速建立環境實驗生產實踐。項目結構如下:

  • oneStack.sh(一鍵部署 all-in-one 的 OneStack,簡單安裝的主要文件);
  • setup_base.sh(安裝基本系統);
  • setup_test.sh(添加鏡像和實例);
  • addComputeNode.sh(增加計算節點);
  • delStack.sh(只卸載nova、glance、keystone等);
  • delAll.sh(卸載所有安裝的組件和工具);
  • resetStack.sh(清空數據庫,鏡像、網絡和實例等,重新上傳鏡像、創建實例);
  • addClient.sh(添加客戶端,nova管理等);
  • HAStack 目錄(OneStack 的高可用性,希望更多人可以提出自己的解決方案)。
  • </ul>


    二、部署(OneStack)步驟

    簡單部署OneStack:

    wget http://onestack.googlecode.com/files/oneStack.sh && chmod +x oneStack.sh && ./oneStack.sh

     

    完整部署OneStack:

    Just checkout and run it!

    1. Setup a fresh Ubuntu Precise(12.04) Sever OS.

    2. checkout

    svn checkout http://onestack.googlecode.com/svn/trunk/ onestack-read-only

    3. run it!

    cd onestack-read-only/ && ./oneStack.sh

    (如何簡單配置參數見留言說明,或者見http://onestack.googlecode.com,或者見腳本注釋)

    (多節點的部署類似,只需要在計算節點設置并執行addComputeNode.sh)


    三、項目(OneStack)說明:

    • 在Ubuntu12.04(precise)上安裝部署Opentack Essex
    • </ul>

      • 只需要一個文件即可完成全部功能組件的部署:http://onestack.googlecode.com/files/oneStack.sh

        </li>

      • 里面含有詳細的注釋說明,看完整個腳本相當于看完了安裝文檔;

        </li>

      • svn整個項目只是多一些輔助工具,包括重置、重新安裝、卸載等;

        </li>

      • 也歡迎同道人補充和完善更多的功能,適用于更多的操作系統和應用場景。

        </li> </ul>

        四、項目(OneStack)來源:

        • 類似項目有DevStack,但是DevStack是使用screen安裝OpenStack,重啟服務器會出現一些問題,沒有提供重啟、重置等有用功能;

          </li>

        • 由于組件獨立分散,安裝過程過于繁瑣,可以抽象成通用的項目供大家方便使用;

          </li>

        • 官方提供了一個比較完善的入門文檔,但是,這一步一步下來得做很多無用功,容易漏錯而引起很多莫名和頭疼的問題;

          </li>

        • 本項目不像devstack只是提供實驗環境,而是可以實際部署使用,可以自己修改配置,按需增加組件和功能,實現一鍵部署,可擴展使用。

          </li> </ul>

          五、項目(OneStack)描述:
          1. 一鍵完整部署OpenStack,可以自定義配置、方便地擴展功能組件,無交互地自動部署;

          2. 安裝過程不需要等待配置:

          • 功能齊全,附帶了卸載、重置、添加計算節點等工具
            1. 可以卸載主要的opentack組件,包括nova、glance、keystone等;
            2. 可以重置數據庫和配置,重新安裝openstack組件;
            3. 可以根據需要自行更改腳本,方便部署自己的云計算平臺。
          • 經過多次測試,完整在VMware虛擬機上部署OpenStack
                測試環境:VMware ESXi 5.0虛擬Dell R210服務器,其中一個虛擬機上部署Opentack,啟動多個實例,正常運行;遠程訪問和web管理正常;重啟、重置、重新安裝都正常。
                系統要求:雙網卡,64位機器,支持VT技術
          • 腳本運行過程會做如下工作:
            1. 配置網絡相關;
            2. 安裝和配置數據庫;
            3. 安裝和部署身份管理組件keystone;
            4. 安裝和部署鏡像管理組件glance;
            5. 安裝和部署控制與計算組件nova;
            6. 安裝和部署web管理組件dashboard;
            7. 上傳和添加ubuntu12.04鏡像;
            8. 設置項目安全規則和密鑰;
            9. 啟動實例,并正常運行。
          • 歡迎反饋,謝謝.
            1. 本人盡力做到不出差錯,但是限于學識和眼界,難免有考慮不周、冗余、沒有最優化或者表達不好之處;
            2. 希望大家有任何意見建議隨時聯系我。
          附錄1:
          為了方便大家查閱、討論、交流、review和完善,在此貼出主要代碼。
          #!/usr/bin/env bash
          # **oneStack.sh** is a tool to deploy complete and real OpenStack cloud computing service.
          
          # This script installs and configures various combinations of *Glance*,
          # *Horizon*, *Keystone*, *Nova*, *Mysql* and others.
          
          # Hily.Hoo@gmail.com (Kayven)
          # Learn more and get the most recent version at http://code.google.com/p/onestack/
          
          set -o xtrace
          ## 請使用root執行本腳本!
          ## Ubuntu 12.04 ("Precise") 部署 OpenStack Essex(或者ubuntu11.10版本)
          
          
          ## 一:準備系統
          ## 1:下載ubuntu 12.04. 服務器版本
          ## http://mirrors.ustc.edu.cn/ubuntu-releases/12.04/ubuntu-12.04-server-amd64.iso
          ## 2:安裝OS
          ## 最小化安裝,只需要安裝ssh server就可以。
          ## 裝完系統后 更新源里的包,更新系統。確保你裝的是最新版本的包。
          
          ## 3:設置root權限
          ## 為了簡單,全部都是用root來運行。
          if [ `whoami` != "root" ]; then
                  sudo passwd
                  exec su -c 'sh ./oneStack.sh'
          fi
          
          ## 4:設置參數和環境配置,直到兩行#號結束
          ## 這個配置以后就不需要更改了,比如看到192.168.139.50等ip,不用更改,腳本會自動替換這些初始值。
          ## 可以變動的是,第500行的image的下載;或者去掉第七步開始的部分(上傳鏡像,創建實例)
          ##########################################################################
          ##########################################################################
          ## 如果原來安裝過OpenStack,請先執行 ./delStack.sh
          ## 1)配置參數
          ## 數據庫相關
          MYSQL_PASSWD=${MYSQL_PASSWD:-"cloud1234"}
          NOVA_DB_USERNAME=${NOVA_DB_USERNAME:-"novadbadmin"}
          NOVA_DB_PASSWD=${NOVA_DB_PASSWD:-"cloud1234"}
          GLANCE_DB_USERNAME=${GLANCE_DB_USERNAME:-"glancedbadmin"}
          GLANCE_DB_PASSWD=${GLANCE_DB_PASSWD:-"cloud1234"}
          
          ## 注意:單網卡的去掉interfaces的eth1,并把nova.conf里面eth1改完eth0即可!
          ## 自行檢查下面network/interfaces的兩個網卡設置
          ## 本機器外網ip (包括局域網的內網ip,相對于OpenStack內網而言的)
          OUT_IP="192.168.139.50"
          OUT_IP_PRE="192.168.139"
          ## nova-network內網ip
          IN_IP="10.0.0.1"
          IN_IP_PRE="10.0.0"
          ## flat的起始ip
          FLAT_IP="10.0.0.40"
          ## 浮動ip的起始值
          FLOAT_IP="192.168.139.225"
          
          ## 選擇虛擬技術,裸機使用kvm,虛擬機里面使用qemu
          VIRT_TYPE="qemu"
          ## token, 登錄dashboard密碼(用戶名admin)
          ADMIN_TOKEN="admin"
          ##########################################################################
          ## 2)檢查系統是否ubuntu12.04,據反映11.10也可以正常安裝,可以去掉這一段檢查
          # Determine what system we are running on.  This provides ``os_VENDOR``...
          # Determine OS Vendor, Release and Update 
          #if [[ -x "`which lsb_release 2>/dev/null`" ]]; then
              os_VENDOR=$(lsb_release -i -s)
              os_RELEASE=$(lsb_release -r -s)
              os_UPDATE=""
              os_CODENAME=$(lsb_release -c -s)
          #fi
          if [ "Ubuntu" = "$os_VENDOR" ]; then
              DISTRO=$os_CODENAME
          else
              echo "The os didn't seems to be Ubuntu."
              exit 1
          fi
          echo $DISTRO
          if [ "precise" != ${DISTRO} -a "oneiric" != ${DISTRO} ]; then
              echo "WARNING: this script has been tested on oneiric or precise"
              exit 1
          fi
          
          ############################################################################
          ## 3)以下系統配置,語言中文支持、國內APT源、網絡設置(兩個網卡),可以自行配置,注釋掉這些步驟。
          ## locale
          
          ############################################################################
          ## 4:設置網絡
          SOURCE_FILE=${SOURCE_FILE:-"/etc/apt/sources.list"}
          cp $SOURCE_FILE $SOURCE_FILE.bak
          cat <$SOURCE_FILE
          deb http://debian.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse
          deb http://debian.ustc.edu.cn/ubuntu/ precise-backports restricted universe multiverse
          deb http://debian.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
          deb http://debian.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse
          deb http://debian.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
          deb-src http://debian.ustc.edu.cn/ubuntu/ precise main restricted universe multiverse
          deb-src http://debian.ustc.edu.cn/ubuntu/ precise-backports main restricted universe multiverse
          deb-src http://debian.ustc.edu.cn/ubuntu/ precise-proposed main restricted universe multiverse
          deb-src http://debian.ustc.edu.cn/ubuntu/ precise-security main restricted universe multiverse
          deb-src http://debian.ustc.edu.cn/ubuntu/ precise-updates main restricted universe multiverse
          APT
          #sed -i 's/debian.ustc.edu.cn/mirrors.163.com/g' $SOURCE_FILE
          
          # network configure
          NETWORK_CONF=${NETWORK_CONF:-"/etc/network/interfaces"}
          if ! grep -q eth1 $NETWORK_CONF; then
                  cat <$NETWORK_CONF
          auto lo
          iface lo inet loopback
          
          # The primary network interface
          auto eth0
          iface eth0 inet static
          pre-up ifconfig eth0 hw ether b8:ac:6f:9a:ee:e4
                  address 192.168.139.50
                  netmask 255.255.255.0
                  network 192.168.139.0
                  broadcast 192.168.139.255
                  gateway 192.168.139.253
                  dns-nameservers 210.72.128.8
          
          auto eth1
          iface eth1 inet static
          pre-up ifconfig eth1 hw ether b8:ac:6f:9a:ee:e4
                  address 10.0.0.1
                  netmask 255.255.255.0
                  network 10.0.0.0
                  broadcast 10.0.0.255
          INTERFACES
                  /etc/init.d/networking restart
          fi
          ## 以上系統配置,可以自行配置,注釋掉這些步驟。
          ############################################################################
          ############################################################################
          
          apt-get update
          
          
          
          ## 5:安裝bridge
          apt-get install -y bridge-utils
          ## 6:設置NTP
          apt-get install -y ntp
          if ! grep -q fudge "/etc/ntp.conf"; then
                  cat < /etc/ntp.conf
          server ntp.ubuntu.com iburst
          server 127.127.1.0
          fudge 127.127.1.0 stratum 10
          NTPconf
          fi
          service ntp restart
          ## 7:設置Iscsi
          apt-get install -y tgt ssh w3m unzip wget curl expect
          ## 安裝iscsi客戶端、安裝rabbitmq
          apt-get install -y open-iscsi open-iscsi-utils
          apt-get install -y rabbitmq-server memcached python-memcache
          apt-get install -y kvm libvirt-bin qemu qemu-kvm
          
          ## 二:安裝mysql和創建相關數據庫
          ## Openstack的組件:nova,keystone,glance,都需要數據庫。不過目前官方建議keystone,采用sqlite存儲,而不用mysql存放。所以我們只需要創建nova和glance兩個數據庫就可以。
          ## 1:安裝mysql
          ## 過程中,會提示你輸入root密碼。通過debconf-set-selections讀取跳過這一步.
          #MYSQL_PASSWD=${MYSQL_PASSWD:-"cloud1234"}
          ## apt-get install debconf debconf-utils
          cat <> /etc/apache2/httpd.conf
                  /etc/init.d/apache2 restart
          fi
          
          ## 2:安裝phpmyadmin (可選)
          cat <> /etc/profile
          export OS_TENANT_NAME=admin
          export OS_USERNAME=admin
          export OS_PASSWORD=ADMIN
          export OS_AUTH_URL="http://localhost:5000/v2.0/"
          ENV_AUTH
          sed -i -e "s/ADMIN/$ADMIN_TOKEN/g" /etc/profile
          export OS_TENANT_NAME=admin
          export OS_USERNAME=admin
          export OS_PASSWORD=$ADMIN_TOKEN
          export OS_AUTH_URL="http://localhost:5000/v2.0/"
          #source /etc/profile
          ## 檢查檢查
          ## # export | grep OS_
          ## declare -x OS_AUTH_URL="http://localhost:5000/v2.0/"
          ## declare -x OS_PASSWORD="hastexo"
          ## declare -x OS_TENANT_NAME="admin"
          ## declare -x OS_USERNAME="admin"
          ## 這個時候,直接運行
          ## root@node6:~# keystone user-list
          
          
          ## 四:安裝和配置glance
          ## 1:安裝軟件
          apt-get install -y glance glance-api glance-client glance-common glance-registry python-glance
          ## 2:配置/etc/glance/glance-api-paste.ini 
          ## 修改文件最后3行,這些設置都是keystone導入數據的時候設置的。
          sed -i -e "
                 s/%SERVICE_TENANT_NAME%/admin/g;
                 s/%SERVICE_USER%/admin/g;
                 s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;
              " /etc/glance/glance-api-paste.ini
          
          ## 3:設置 /etc/glance/glance-registry-paste.ini
          sed -i -e "
                 s/%SERVICE_TENANT_NAME%/admin/g;
                 s/%SERVICE_USER%/admin/g;
                 s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;
              " /etc/glance/glance-registry-paste.ini
          ## 4:配置/etc/glance/glance-registry.conf
          ## 修改
          ## #sql_connection = sqlite:////var/lib/glance/glance.sqlite
          ## sql_connection = mysql://glancedbadmin:ohC3teiv@10.42.0.6/glance
          ## 在末尾添加兩行
          ## [paste_deploy]
          ## flavor = keystone
          GLANCE_API_CONF=${GLANCE_API_CONF:-"/etc/glance/glance-api.conf"}
          GLANCE_REGISTRY_CONF=${GLANCE_REGISTRY_CONF:-"/etc/glance/glance-registry.conf"}
          PUBLIC_IP=${PUBLIC_IP:-"192.168.139.50"}
          sed -i '/sql_connection = .*/{s|sqlite:///.*|mysql://'"$GLANCE_DB_USERNAME"':'"$GLANCE_DB_PASSWD"'@'"$PUBLIC_IP"'/glance|g}' $GLANCE_API_CONF
          cat <>$GLANCE_API_CONF
          [paste_deploy]
          flavor = keystone
          EOF
          sed -i '/sql_connection = .*/{s|sqlite:///.*|mysql://'"$GLANCE_DB_USERNAME"':'"$GLANCE_DB_PASSWD"'@'"$PUBLIC_IP"'/glance|g}' $GLANCE_REGISTRY_CONF
          cat <>$GLANCE_REGISTRY_CONF
          [paste_deploy]
          flavor = keystone
          EOF
          
          ## 5:配置/etc/glance/glance-api.conf
          ## 6:同步數據庫
          glance-manage version_control 0
          glance-manage db_sync          
          service glance-api restart && service glance-registry restart
          
          ## 7:驗證glance服務是否正常
          # glance index
          ## 沒有任何的輸出。表示正常。
          ## #echo $?
          ## 下面會輸出0 ,表示正常。
          ## # glance --version
          ## glance 2012.1
          
          ## 8:下載鏡像并上傳
          ## ubuntu官方專門提供image,http://uec-images.ubuntu.com。不過一定要注意
          ## 這些鏡像,都是必須使用密鑰登錄,直接用用戶名密碼是無法的登錄的。
          ## 下載鏡像
          ## http://cloud-images.ubuntu.com/precise/current/
          ## 這應該是ubuntu提供的最新的穩定的鏡像。
          #wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
          ##  expect -c "spawn /usr/bin/scp  yuan@192.168.139.84:/home/yuan/precise-server-cloudimg-amd64-disk1.img .; expect {
          ##     \"password:\"; {
          ##    send \"yyhu\r\n\";
          ##    }; \"Are you sure you want to continue connecting (yes/no)?\" {
          ##    send \"yes\r\n\" ;
          ##    expect \"password:\";
          ##    send \"yyhu\r\n\";
          ##    }
          ##  } ; set timeout -1; expect -re \"100%\";"
          ##^^####sleep 5; expect -re \"password\"; send \"yyhu\r\n\";
          
          
          # glance add name="Ubuntu12.04-amd64" is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img
          ## 這里還有一種方法上傳,如果你沒用環境變量。
          ## glance --tenant=admin--username=admin --password=hastexo  --auth_url=http://127.0.0.1:5000/v2.0 add name="Ubuntu 11.10 cloudimg amd64" is_public=true container_format=ovf disk_format=qcow2 < /root/precise-server-cloudimg-amd64-disk1.img
          ## 上傳完鏡像后。在運行
          ## glance index
          
          
          ## 五:安裝配置nova
          ## 1:安裝nova相關組件
          apt-get install -y nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler  nova-volume python-nova python-novaclient  nova-consoleauth python-novnc novnc
          ## 2:配置 /etc/nova/nova.conf
          ## 如果你是在虛擬機里測試Openstack。你需要把默認的虛擬化引擎從kvm改成qemu。
          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
          --allow_admin_api=true
          --use_deprecated_auth=false
          --auth_strategy=keystone
          --scheduler_driver=nova.scheduler.simple.SimpleScheduler
          --s3_host=192.168.139.50
          --ec2_host=192.168.139.50
          --rabbit_host=192.168.139.50
          --cc_host=192.168.139.50
          --nova_url=http://192.168.139.50:8774/v1.1/
          --routing_source_ip=192.168.139.50
          --glance_api_servers=192.168.139.50:9292
          --image_service=nova.image.glance.GlanceImageService
          --iscsi_ip_prefix=10.0.0
          --sql_connection=mysql://novadbadmin:cloud1234@192.168.139.50/nova
          --ec2_url=http://192.168.139.50:8773/services/Cloud
          --keystone_ec2_url=http://192.168.139.50:5000/v2.0/ec2tokens
          --api_paste_config=/etc/nova/api-paste.ini
          --libvirt_type=kvm
          --libvirt_use_virtio_for_bridges=true
          --start_guests_on_host_boot=true
          --resume_guests_state_on_host_boot=true
          
          #novnc
          --novnc_enabled=true
          --novncproxy_base_url= http://192.168.139.50:6080/vnc_auto.html
          --vncserver_proxyclient_address=127.0.0.1
          --vncserver_listen=127.0.0.1
          
          # network specific settings
          --network_manager=nova.network.manager.FlatDHCPManager
          --public_interface=eth0
          --flat_interface=eth1
          --flat_network_bridge=br100
          --fixed_range=10.0.0.1/27
          --floating_range=192.168.139.225/27 
          --network_size=32
          --flat_network_dhcp_start=10.0.0.40
          --flat_injected=False
          --force_dhcp_release
          --iscsi_helper=tgtadm
          --connection_type=libvirt
          --root_helper=sudo nova-rootwrap
          #--verbose
          --verbose=False
          NOVAconf
          ## if ! kvm-ok 1>/dev/null 2>&1; then
          ##      sed -i -e "s/kvm/qemu/" /etc/nova/nova-compute.conf
          ## fi
          
          sed -i -e "s/novadbadmin/$NOVA_DB_USERNAME/g;s/cloud1234/$NOVA_DB_PASSWD/g" /etc/nova/nova.conf
          sed -i -e "s/192.168.139.50/$OUT_IP/g;s/192.168.139.225/$FLOAT_IP/g;" /etc/nova/nova.conf
          sed -i -e "s/10.0.0.1/$IN_IP/g;s/10.0.0.40/$FLAT_IP/g;s/10.0.0/$IN_IP_PRE/g;" /etc/nova/nova.conf
          ## kvm or qemu?
          sed -i -e "s/kvm/$VIRT_TYPE/g" /etc/nova/nova.conf
          sed -i -e "s/kvm/$VIRT_TYPE/g" /etc/nova/nova-compute.conf
          
          ## 3:配置/etc/nova/api-paste.ini
          sed -i -e "
                 s/%SERVICE_TENANT_NAME%/admin/g;
                 s/%SERVICE_USER%/admin/g;
                 s/%SERVICE_PASSWORD%/$ADMIN_TOKEN/g;
              " /etc/nova/api-paste.ini
          # 4:停止和重啟nova相關服務
          for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service "$a" restart; done
          
          
          ## 六:安裝和配置Dashbaord
          ## 1:安裝dashbaord
          apt-get install -y libapache2-mod-wsgi openstack-dashboard
          /etc/init.d/apache2 restart
          
          ## 這個時候,你就可以登錄dashboard
          ## http://192.168.139.50
          ## user:admin
          ## pass:ADMIN
          ## 之后通過前端web管理
          
          
          ## 七:創建第一個VM,可以通過上面安裝的web管理系統創建。
          
          # 0:同步數據庫
          ## 以前我運行同步數據庫,如果正確, 當nova.conf
          ## --verbose=False
          ## 是沒有任何的輸出,否則有一堆是輸出。
          nova-manage db sync
          
          # 創建網絡
          nova-manage network create private --fixed_range_v4=10.0.0.1/27 --num_networks=1 --bridge=br100 --bridge_interface=eth1 --network_size=32
          
          ## 設定floating IP
          nova-manage floating create --ip_range=192.168.139.225/27
          
          ## 設置權限
          chown -R nova:nova /etc/nova
          ## 再重啟相關服務
          for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler novnc nova-volume nova-consoleauth; do service "$a" restart; done
          sleep 10
          
          ## 1:檢查nova服務
          ## 一路回車,就可以了。通過expect可以不用輸入。
          if [ ! -e ~/.ssh/id_rsa ]; then
          expect -c "spawn ssh-keygen ; set timeout 5; expect \":\"; send \"\r\n\"; set timeout 3; expect  \":\"; send \"\r\n\";set timeout 3; expect \":\"; send \"\r\n\"; expect eof;"
          fi
          ## 2:上傳密鑰到數據庫
          nova keypair-add --pub_key ~/.ssh/id_rsa.pub key1
          ## nova keypair-list
          
          
          ## 打開防火墻
          nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0
          nova secgroup-add-rule default udp 1 65535 0.0.0.0/0
          nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
          
          
          ## 4:開始創建虛擬機
          ## nova image-list
          ## nova flavor-list
          ## 創建虛擬機
          # nova-manage flavor create --name=m1.minitest --memory=384 --cpu=1 --root_gb=1 --flavor=6 --ephemeral_gb=1
          
          ## 上面的下載鏡像移到這一步,可以去掉以下的步驟
          wget http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
          glance add name="Ubuntu12.04-amd64" is_public=true container_format=ovf disk_format=qcow2 < precise-server-cloudimg-amd64-disk1.img
          nova boot --flavor 1 --image "Ubuntu12.04-amd64" --key_name key1 cloud01
          # nova show cloud01
          # nova console-log cloud01
          
          ##關聯vm
          sleep 10
          ## nova floating-ip-create
          ## nova add-floating-ip cloud01 192.168.139.226
          nova show cloud01
          nova add-floating-ip cloud01 `nova floating-ip-create | awk 'FNR==4{print $2}'`
          nova list
          nova show cloud01
          # ssh instance
          # ssh-keygen -f "/home/cloud/.ssh/known_hosts" -R 10.0.0.2
          # ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2
          
          
          ## 八、完成安裝部署
          cat <&1
           1. login the dashboard
             http://192.168.139.50
             user:admin
             pass:admin or $ADMIN_TOKEN
           2. login a instance("cloud01")
             ssh -i ~/.ssh/id_rsa ubuntu@10.0.0.2
           3. view & manage
             nova list
             nova show cloud01
             ...
           4. enjoy yourself! (Contact Hily.Hoo@gmail.com)
          EOF
          附錄2:安裝后web登錄(dashboard)截圖
          OneStack:Ubuntu 12.04 (或11.10) 一鍵部署安裝OpenStack云計算平臺

          附錄3:云計算平臺OpenStack資料
          官方OpenStack www.openstack.org
          國內OpenStack社區 www.openstack.org.cn

          國內技術博客-陳沙克  http://hi.baidu.com/chenshake
          Ubuntu12.04安裝OpenStack文檔(入門指南)  http://docs.openstack.org/essex/openstack-compute/starter/content/

          Installing OpenStack Essex (2012.1) on Ubuntu 12.04 ("Precise Pangolin")(原文)  http://www.hastexo.com/resources/docs/installing-openstack-essex-20121-ubuntu-1204-precise-pangolin 
          “OpenStack Documentation”team(文檔、bug報告)  https://launchpad.net/~openstack-doc
          Quora上關于openstack的話題  http://www.quora.com/OpenStack
          stackoverflow上關于openstack資源的討論 http://stackoverflow.com/questions/5882333/good-tutorials-and-resources-for-openstack

          Kayven( Hily.Hoo@gmail.com )

          轉自:http://blog.csdn.net/hilyoo/article/details/7696169
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!