日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CloudStack 的配置、部署与管理,以及 API 的使用

發布時間:2025/5/22 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CloudStack 的配置、部署与管理,以及 API 的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CloudStack 在 IaaS 市場的背景和主要競爭對手

隨著亞馬遜在公有云和 VMware 在私有云方面的成功,各類企業紛紛在云時代邁出了自己的步伐,這些企業希望在自身的計算資源(主機,網絡,存儲)虛擬化過程中能夠獲得強大功能的同時,又維持相對低廉的成本。這正是 IaaS 供應商們發展的動力。

IaaS 提供了對資源的自動化管理能力。例如用界面、腳本甚至 Web Service API 實現對大量硬件、大量虛擬機的生命周期管理。IaaS 產品面對的是大規模、可伸縮的云環境,這是與用手工管理有限資源的方式完全不同的一類系統。

CloudStack 前身為 cloud.com 的商業化產品,它在 2011 年被 Ctrix 以超過二億美金價格收購,隨后又在今年被捐獻給 Apache 基金會。這項產品開源的舉措,引起了市場對 IaaS 發展路線的一些爭議,例如它與另外一個開源產品 OpenStack 的競爭與合作關系?

OpenStack 是由 Rackspace 和 NASA 主導開發的一個 IaaS,它擁有更大的用戶群,包括 HP,IBM,Dell 和 Redhat 等大公司。表 1 列出了 CloudStack 與 OpenStack 的一些對比。


表 1.CloudStack 與 OpenStack 的對比
CloudStackOpenStack

License Apache 2.0 授權協議,可免費用于商業模式 Apache 2.0 授權協議,可免費用于商業模式
支持的 Hypervisors KVM,XEN,Oracle VM,vSphere 和 Bare Metal KVM,XEN,(有限支持 Hyper-V,ESX,PowerVM)
支持的 Networking Model OpenFlow,VLAN 和 Flat networks VLAN,Flat,Flat DHCP
支持的Storage NFS,Cluster LVM,Rados Block Device(Ceph),Local Storage iSCSI,Ceph,NFS,Local Storage 和 Swift(對象存儲)
客戶不到 60 家,包括諾基亞,Zynga,日本電報電話公司,塔塔,阿爾卡特 160 家左右,包括了 NASA,Rackspace,HP,紅帽,Piston
開發語言 Java 為主 Python 為主
兼容亞馬遜 EC2 API
附:比較數據截止至2012年中,對應的軟件版本為CloudStack 3和OpenStack Essex。

可以認為,在市場上 CloudStack 和 OpenStack 這兩個 IaaS 平臺存在不同的功能、客戶和發展路線,前者作為曾經的商業軟件,已經被證明為可以可靠的用于生產系統;而后者,雖則目前缺少廣泛的真實用戶,卻擁有更多的大公司支持。這是它們顯著的不同。

盡管如此,但從技術而言,它們背后的源代碼貢獻者并不是一定不同的,經常有來自同一家公司的開發人員為這兩個開源項目提交代碼。從這個角度說,兩個平臺在某一天的合并也不會令人驚奇。

還存在其它眾多的 IaaS 產品(例如 Eucalyptus,Nebula 等),可以在文末的 參考資源中找到一些介紹。總體而言,這些產品當中 CloudStack 和 OpenStack 是特性最為相近、也是最引起爭論的,參考資源中的一篇文章提及到了最近發生的一個有趣爭論。

CloudStack 架構圖

CloudStack 采用了典型的分層結構:客戶端、核心引擎、以及資源層。它面向各類型的客戶提供了不同的訪問方式:Web Console、Command Shell 和 Web Service API。通過它們,用戶可以管理使用在其底層的計算資源(又分為主機、網絡和存儲),完成諸如在主機上分配虛擬機,配給虛擬磁盤等功能。見圖 1。


圖 1. 系統架構圖

虛擬機如果使用 Xen 和 KVM,需要安裝 CloudStack Agent 來支持其與管理服務器的交互。而管理服務器和 Xen Server 交互則是靠 XAPI,和 vCenter、ESX 交互靠 HTTP。

當部署 CloudStack 時,需要了解它的層次結構和存儲管理,見圖 2。


圖 2. 部署圖

Zone:Zone 對應于現實中的一個數據中心,它是 CloudStack 中最大的一個單元。

Pod:Pod 對應著一個機架。同一個 pod 中的機器在同一個子網(網段)中。

Cluster:Cluster 是多個主機組成的一個集群。同一個 cluster 中的主機有相同的硬件,相同的 Hypervisor,和共用同樣的存儲。同一個 cluster 中的虛擬機,可以實現無中斷服務地從一個主機遷移到另外一個上。

Host:Host 就是運行虛擬機(VM)的主機。

即從包含關系上來說,一個 zone 包含多個 pod,一個 pod 包含多個 cluster,一個 cluster 包含多個 host。

CloudStack 中存在兩種存儲:

Primary storage:一級存儲與 cluster 關聯,它為該 cluster 中的主機的全部虛擬機提供磁盤卷。一個 cluster 至少有一個一級存儲,且在部署時位置要臨近主機以提供高性能。

Secondary storage:二級存儲與 zone 關聯,它存儲模板文件,ISO 鏡像和磁盤卷快照。

  • 模板:可以啟動虛擬機的操作系統鏡像,也包括了諸如已安裝應用的其余配置信息。

  • ISO 鏡像:包含操作系統數據或啟動媒質的磁盤鏡像。

  • 磁盤卷快照:虛擬機數據的已儲存副本,能用于數據恢復或者創建新模板。

安裝 CloudStack

環境準備

一個完整的 CloudStack 環境包括兩部分:

  • 管理服務器(Management Server)

  • 虛擬機管理器 (Hypervisor)

附:通常對 CloudStack 的 hypervisor 也有另外的稱呼,例如主機(host),代理(agent)等。本文統一為 hypervisor。

在本文的安裝步驟中,所要配置的為一個簡單網絡,即所有被管理的虛擬機都位于一個網段。相應的硬件如下:


表 2.軟硬件環境
Management ServerHypervisor

IP 192.168.1.4 192.168.1.5
Host Name cloud-server.squirrel.org cloud-agent.squirrel.org
CPU i3 i3
Memory 6G 6G
Hard Disk 500G 200G
OS CentOS 6.2 64-bit CentOS 6.2 64-bit

本次安裝中 CloudStack 的版本為:Red Hat EnterpriseLinux/CentOS 6.2

Hypervisor 為 KVM。

管理服務器需要更多的存儲空間是因為 NFS 也建在該機上。更多的詳細安裝需求可以參閱 CloudStack 官網的指南。這里需要著重列出的問題為:

Q1:官網的安裝要求中哪些軟硬件因素容易導致 CloudStack 的安裝失敗?

  • Hypervisor 所在的主機,要求 CPU 和主板支持硬件虛擬化(本人的機器是 DELL 臺式機,需要在主板的 BIOS 中設置 Intel-VT 為 enable)。

  • 操作系統必須是 64 位的,推薦 centos 6.2(當前最新的 CloudStack 3 支持 6.2)。如果使用 5.5 或者 6.0 版本,一定要選擇匹配的 CloudStack 安裝包。Ubuntu 目前只有運行在 10.04 平臺上的發行版,且該 release 不是最新的 CloudStack。此處強烈建議新用戶給 Managment Server 和 Hypervisor 所在的兩臺主機選擇一樣的操作系統(推薦 centos/redhat)和一樣版本的 CloudStack 軟件,同時注意 OS 一定是要被官方 release 宣稱支持,這樣能避免走不少彎路。例如確實也存在有人能成功在 Ubuntu 12.04 或 centos 6.3(官方 2012 年 9 月尚未宣稱支持)上部署 CloudStack,但付出精力較大。

  • Hypervisor 的主機不能有任何正在運行的虛擬機,否則在后續的 add host 操作中會遇到失敗。最佳的建議是 hypervisor 主機上的操作系統為全新安裝,且沒有部署任何其余虛擬機。

  • 無論是管理服務器還是 hypervisor 所在主機,都需要以 root 登錄進行 CloudStack 安裝。

  • Management Server 和 Hypervisor 主機必須是有獨立靜態 IP 的主機。否則后續安裝因為 IP 地址變化會導致 service 狀態異常。

CentOS 安裝后的默認網絡配置為 DHCP,需修改為手工分配 IP,這步操作要在 cloud-server 和 cloud-agent 兩臺機器都進行:

點擊桌面右上角的網絡圖標,編輯網絡:


圖 3

Method 原來為“DHCP”,改成設置為“Manual”,然后輸入靜態 IP 地址、掩碼、網關、DNS 服務器信息。


圖 4

安裝 Management Server

  • 以 root 身份登錄 cloud-server.squirrel.org。

  • 運行“hostname – fqdn”,檢查其返回的格式必須是包括域名的全稱(例如 cloud-server.squirrel.org)。Hostname 最好是在安裝 centos 時即設置好,否則需要在 /etc/hosts 和 /etc/sysconfig/network 兩處文件中同時修改才可以永久生效。

  • 設置 SELinux。在 /etc/selinux/config 中修改“SELINUX=enforcing”為“SELINUX=permissive ”,并在 shell 中運行“setenforce permissive ”令其立即生效。

  • 進入下載并解壓好的 CloudStack 安裝目錄 ( 我這里是 /home/squirrel/mybox/cloud/CloudStack-oss-3.0.2-1-rhel6.2),運行命令“./install.sh”,選擇“M”安裝 Management Server 軟件。

  • 運行下面命令啟動 NFS 和 rpcbind 服務,并設置為開機運行:

    # service rpcbind start # service nfs start # chkconfig nfs on # chkconfig rpcbind on


  • 再次運行命令“./install.sh”,選擇“D”安裝數據庫 mysql。

  • 編輯 /etc/my.cnf,在 [mysqld] 下面加入內容:

    innodb_rollback_on_timeout=1 innodb_lock_wait_timeout=600 max_connections=350 log-bin=mysql-bin binlog-format = 'ROW'


  • 重啟數據庫后,設置 root 用戶密碼。

    # service mysqld restart # mysql -u root mysql> SET PASSWORD = PASSWORD('<password>'); mysql> exit


  • 運行 CloudStack 腳本讓其自動配置數據庫:

    #cloud-setup-databases cloud:<dbpassword>@localhost \--deploy-as=root:<password>

    即表示以 root 用戶身份來生成數據庫,該數據庫屬于新建的 cloud 用戶(密碼 dbpassword 可以留空)。


  • 最后,下面的命令將完成對操作系統 iptables、sudoers 的設置(CloudStack 本身有安全性方面的要求,不是無限暴露給網絡,同時又需要一些管理權限來運行自身服務,因此要做這兩項的設置),并啟動管理服務器:

    #cloud-setup-management

    使用“service cloud-management status”查看運行狀態。

    Q2:第 2 步中運行“hostname – fqdn”命令時,要保證機器是聯網狀態,才能返回正確的主機名稱。

    Q3:如果后續打算把 hypervisor 也安裝在 management server 的同一臺主機上,需要在 /etc/sysconfig/network-scripts/ifcfg-<yourPhysicalDeviceName> 中配置出對應的信息。

    同時,如果該 hypervisor 為 KVM,需要修改 /etc/sudoers ,加入如下行:

    Defaults:cloud !requiretty


  • 配置 NFS

    前面講過,CloudStack 需要兩類存儲(primary storage 和 secondary storage)來支持它的 cluster 和 host,本節中由 NFS 來提供這兩個存儲,因此前述步驟中要啟動 NFS 服務。同時為了方便起見,NFS Server 也由 cloud-server.squirrel.org 充當。

  • 以 root 身份登錄 cloud-server.squirrel.org。

  • 創建兩個目錄,分別作為一級和二級存儲:

    # mkdir -p /export/primary # mkdir -p /export/secondary


  • 編輯文件 /etc/exports ,加入:

    /export *(rw,async,no_root_squash)

    然后導出 /export 目錄:

    # exportfs -a


  • 編輯 /etc/sysconfig/nfs 文件,取消如下行的注釋符號(或者在文件末尾直接添加下列行):

    LOCKD_TCPPORT=32803 LOCKD_UDPPORT=32769 MOUNTD_PORT=892 RQUOTAD_PORT=875 STATD_PORT=662 STATD_OUTGOING_PORT=2020


  • 編輯防火墻設置文件 /etc/sysconfig/iptables,在 input 部分最上面加入如下的規則:

    -A INPUT -m state --state NEW -p udp --dport 111 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 111 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 2049 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT -A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT -A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 875 -j ACCEPT -A INPUT -m state --state NEW -p udp --dport 875 -j ACCEPT -A INPUT -m state --state NEW -p tcp --dport 662 -j ACCEPT -A INPUT -m state --state NEW -p udp --dport 662 -j ACCEPT


  • 重啟防火墻,并保存修改:

    # service iptables restart # service iptables save


  • 在管理服務器(cloud-server.squirrel.org)和 hypervisor 主機(cloud-agent.squirrel.org)上,修改文件 /etc/idmapd.conf,加入如下內容:

    Domain = squirrel.org


  • 重啟管理服務器的主機,然后測試并掛載 NFS。在 cloud-agent.squirrel.org 機器建立目錄 /primarymount,運行如下命令并確認其是否成功:

    mount -t nfs 192.168.1.4:/export/primary /primarymount

    Q4:在 KVM hypervisor 機器運行 showmount 命令時,如果采用的是 hostname,例如“showmount -e cloud-server.squirrel.org”,并且失敗,報錯“clnt_create: RPC: Program not registered”,那么可以嘗試用 IP 代替:“showmount -e 192.168.1.4”。或者編輯本機的 /etc/hosts,加入對方 server 的 IP- 主機名映射(但這樣失去了靈活性):

    192.168.1.4 ? ?cloud-server.squirrel.org

    Q5:第 5 步中新加入規則在防火墻配置文件中的次序對 NFS share 成功很重要,一定要加入 INPUT 區的最開始部分,即系統中原有的 input 項必須在新加入行的后面,否則可能在運行 showmount -e 192.168.1.4 時會出現

    clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host) 的錯誤。

    Q6:出現錯誤 mount.nfs: access denied by server while mounting 192.168.1.4:/export/primary 的處理?

    有時當運行“showmount -e cloud-server.squirrel.org”有“clnt_create: RPC: Port mapper failure - Unable to receive: errno 111 (Connection refused)”錯誤提示,然后 mount nfs 失敗,會出現標題上的錯誤信息,這可能跟 NFS 的建立方式有關,有時也跟防火墻有關。需要檢查 log:

    tail -200 /var/log/messages

    refused mount request from 192.168.1.5 for /export/primary (/export): illegal port 1024

    那么考慮嘗試如下方法:

    vi /etc/exports

    在原來的那一行上修改如下:

    /export *(rw,async,insecure,no_root_squash)

    然后:

    exportfs -rv

    service nfs restart

    在 cloud-agent.squirrel.org 上重新運行命令:

    mount -t nfs 192.168.1.4:/export/primary /primarymount

    沒有提示,應該成功了,可以確認:

    mount |grep primary

    OK !


  • 準備系統虛擬機模板

    系統虛擬機模板(System VM Template)保存在二級存儲上,是用于創建云平臺上的系統虛擬機的。

  • 以 root 身份登錄 cloud-server.squirrel.org。

  • 這里下載的是 KVM 模板,運行如下命令安裝:

    # /usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary-u http://download.cloud.com/templates/acton/acton-systemvm-02062012.qcow2.bz2 -h kvm -F


  • 依賴于網絡速度,這個過程所需時間在幾分鐘到數小時(筆者的下載速度顯示在 2M~3M/s,三分鐘左右完成全部下載和安裝)。

    Q7:這里有兩點需要注意:

    • 磁盤分區必須夠大。

    • 虛擬機模板的下載安裝這步不可省略,否則后面在控制臺添加二級存儲時會失敗。

    系統虛擬機不同于普通的 hypervisor host 上的虛擬機,它是 CloudStack 自帶的用于完成自身系統相關的一些任務的 vm。它有兩種:

    • 二級存儲虛擬機(Secondary Storage VM):下載上傳模板、下載鏡像,第一次創建虛擬機時從二級存儲拷貝模板到一級存儲并且自動創建快照等。

    • 控制臺代理虛擬機(Console Proxy VM):用于在 web 界面上展示控制臺。

    需要注意的是,系統虛機為 Debian 32 位操作系統,CloudStack 管理員可以用 SSH 登錄。同時,能在主機的 /var/lib/libvirt/images 查看到它們,如圖 5:


    圖 5.查看已經安裝的 VMs

    安裝 KVM Hypervisor

  • 以 root 身份登錄 hypervisor 主機 cloud-agent.squirrel.org。

  • 確保 hostname 是完整帶域名的,修改方法同管理服務器步驟 1。

  • 運行“yum erase qemu-kvm”刪除 OS 自帶的 qemu-kvm。

  • 進入下載并解壓好的 CloudStack 安裝目錄,運行命令“./install.sh”,選擇“A”安裝 agent。

  • 安裝完畢后,運行下面命令啟動 nfs 和 rpcbind 服務,并設置為開機運行:

  • # service rpcbind start # service nfs start # chkconfig nfs on # chkconfig rpcbind on

    Q8:如何處理因為沒有 enable VT 而導致 CloudStack Agent 啟動不成功?

    注意檢查 log:/var/log/cloud/agent/。如果是因為 BIOS 的 VT 沒有打開而引起的啟動失敗,則需要在打開 VT 支持后重新安裝 agent。運行命令:

    # service cloud-agent status 若顯示:cloud-agent (pid ?4188) is running...

    則說明已經成功運行了。

    安裝 NTP,時間同步

  • 運行“yum install ntp”安裝 NTP 服務。

  • 編輯配置文件 /etc/ntp.conf,加入如下服務器:

    server 0.xenserver.pool.ntp.org server 1.xenserver.pool.ntp.org server 2.xenserver.pool.ntp.org server 3.xenserver.pool.ntp.org


  • 重啟 NTP 并設置為開機自動運行:

    # service ntpd restart # chkconfig ntpd on


  • 在 Management Console 中配置虛擬化資源

    當上面的管理服務器與 hypervisor 安裝好后,可以登錄進 CloudStack 的 UI console 進行資源的配置與部署。

    和幾個競爭對手——例如 Eucalyptus 從一開始就對 AWS 的兼容,OpenStack 對松耦合組件的系統結構設計——相比,CloudStack 的特點之一就是有最友好的用戶界面,即控制管理臺。

    首先打開瀏覽器,登錄 URL:

    http://192.168.1.4:8080/client

    用戶名 / 密碼:admin/password

    選擇“Continue with basic installation”,接著修改 CloudStack 管理員密碼。


    圖 6.添加 zone


    圖 7.添加 pod


    圖 8.添加客戶機網絡


    圖 9.添加 cluster


    圖 10.添加 host


    圖 11.添加一級存儲


    圖 12.添加二級存儲

    最后點擊“Launch”啟動 CloudStack 云平臺,開始初始化。


    圖 13.初始化中

    直到出現成功信息。這樣一個簡單的云環境就搭建完畢,我們隨后可以在這個控制臺執行計算資源的管理任務了。下面兩圖為控制臺顯示界面。


    圖 14.Overview


    圖 15.Infrastructure

    Q9:有時因為各種原因,例如在控制臺錯誤的配置了一些數據,需要重新初始化時,可以刪除 CloudStack 的數據庫,步驟如下:

    在命令行下:

    mysql –u root <password> mysql> drop database cloud; drop database cloud_usage; #cloud-setup-databases cloud:<dbpassword>@localhost --deploy-as=root:<password> #cloud-setup-management

    然后重復本節的操作。

    附:CloudStack 的 Web Console 界面是可以定制化的。

    使用 CloudStack API

    如同 AWS API 一樣,CloudStack API 也是基于 Web Service,可以使用任何一種支持 HTTP 調用的語言(例如 Java,PHP)編寫代碼。

    調用代碼(caller)首先需要在管理服務器進行認證。目前 CloudStack 采用兩種認證方式:

    • Session 認證:通過 login API,獲得一個 JSESSIONID cookie 和一個 SESSIONKEY token。

    • API Key 認證。

    本文代碼示例采用 API Key 進行認證。其過程如下:

  • 管理員給調用者分配 API Key 和 Security Key(由 Admin 通過 web console 或者用 registerUserKeys在程序中生成)。

  • 調用者用 Security Key 以 HMAC SHA-1 哈希算法對 API Key + Command String 生成簽名。

  • 最后的 API Request=Base URL+API Path+Command String+Signature。

  • 下面具體為 admin 用戶生成兩個 key:

    首先登陸管理臺:http://192.168.1.4:8080/client。

    點擊 accounts,選擇 admin,點擊 users tab,找到 admin。

    可以看到 API Key 和 Security Key,如果兩個框沒有值,點擊工具欄的鑰匙小圖標,“Generate Keys”,如圖 16。


    圖 16. 生成 API Key 和 Security Key

    兩個 Key 的生成結果如下:


    表 3.Admin 用戶的 API Key 和 Security Key
    API Key Security Key
    Kn7rrPjdXDWTrcjCTLs7hZM22o0X6aKSZ4Cy4GDUHD1TmoVw3e-oNxjRTCBXchffju5OFTqW4zPIik-HKxH7-w
    YaCSGzL9PvadlW4CDxH-k5QDAN8pDjPK7V5NZdvnIvJnzf_TKXg_OPXg616FM5k8yuYeyWkltMgugsbma9Hl0A

    接下來用 CloudStack 的 Restful API 生成一個虛擬機。其調用 URL 如下:

    http://192.168.1.4:8080/client/api?command=deployVirtualMachine&\serviceofferingid=1&templateid=4&zoneid=1

    command 參數中的內容可以參閱 API Reference: CloudStack,此處不贅述。需要注意的是,URL 當中每個參數是按照字母順序排列的,這是生成簽名必要的。

    下面演示如何生成簽名并組裝一個完整的 URL。

    首先在此處下載一段 perl 腳本,我們要利用它來幫助生成簽名。將它放入合適的目錄,然后在命令行下鍵入:

    $ ./generate-url.pl –f 1 -u "command=deployvirtualmachine&serviceofferingid=1&templateid=4\ &zoneid=1" -a TEBBqfXkV-9blsxpkjFLAxNUmnvMsFEq7WKwPOMT_nuce69bmcElXz1\ izsN1qJFK58ye5U5hWWN2ckscsysodg – s 7VJx0QfxvJQZBYZbLdct2QFck8lV6hwLMvo9\ YCJ97pVou8f_aDSHdhEqBaY2CtFI6_MULP0eYqr_Z7D2Jon8nQ

    -f 后面數字 1 是生成 url 的意思,-a 后面是 API Key,-s 后面是 Security Key。-u 后面的 command 參數都已經修改為小寫字母(此步不可省略)。命令運行完畢生成一段字符串:

    http://*.*.*.*/client/api?command=deployvirtualmachine&serviceofferingid=1\&zoneid=1&templateid=4&apikey=Kn7rrPjdXDWTrcjCTLs7hZM22o0X6aKSZ4Cy4\GDUHD1TmoVw3e-oNxjRTCBXchffju5OFTqW4zPIik-HKxH7-w&signature=%2BQMXTBOoicZJG\6EosCcRGvO7OWU%3D

    然后把 IP 替換入上面 url,并把 command 中的小寫字母還原成原來正確的 API 名字,結果如下:

    http://192.168.1.4:8080/client/api?command=listVirtualMachines&account=\ admin&amp;domainId=1&apikey=Kn7rrPjdXDWTrcjCTLs7hZM22o0X6aKSZ4Cy4GDUHD1TmoVw3e-o\ NxjRTCBXchffju5OFTqW4zPIik-HKxH7-w&signature=i5%2FQxBf7FIGc6GvAfNcpFnVKpEw%3D

    把該 URL 鍵入瀏覽器,可以執行成功,返回一段 XML response:

    <deployvirtualmachineresponse cloud-stack-version="3.0.2.20120506223416"> <id>d29a98f2-610c-4e4e-9331-18c133c5bdb3</id> <jobid>a5c9f26d-98be-4a81-9883-da9dd8dfda47</jobid> </deployvirtualmachineresponse>

    如果回到控制臺界面的 instance tab,可以看到一個新的 vm instance 被創建。

    用同樣的方法,使用如下命令,列舉出 Admin 用戶下的全部虛擬機。

    http://192.168.1.4:8080/client/api?command=listVirtualMachines&account= admin&amp;domainId=1&apikey=Kn7rrPjdXDWTrcjCTLs7hZM22o0X6aKSZ4Cy4GDUHD1TmoVw3e-\ oNxjRTCBXchffju5OFTqW4zPIik-HKxH7-w&signature=%2BQMXTBOoicZJG6EosCcRGvO7OWU%3D

    Q10:CentOS 需要安裝 perl 開發環境才能運行上面的腳本。如果在命令執行過程中出現類似 cannot locate WWW/Mechanize 類的錯誤,需要先安裝 cpan:

    yum install cpan

    然后用 cpan 安裝缺少的 module:

    cpan install WWW::Mechanize

    后面缺少哪個 module,就用 cpan 安裝該 module,直到所使用的包都被裝入。

    總體而言,CloudStack 的 API 提供了很靈活和強大的功能,而且通過 CloudBridge,更是實現了與亞馬遜 EC2 API 的兼容。

    現狀與展望

    CloudStack 目前在 Apache 站點的更新也很快,最新的 4.0 也已經發布,它提供了 VLAN 間路由(VPC)能力、給管理資源保存元數據、增加新類型存儲、和支持 Ubuntu 12.04 和 REHL6.3 等新功能。

    在國內,像中國電信這類大型企業,還有一些中小型企業,都在迅速的使用 CloudStack 來構建它們的公共云或私有云、混合云平臺。在這些用戶的實踐中,CloudStack 對豐富種類的 Hypervisor、存儲類型的支持、強大的伸縮能力和網絡功能、良好的安全設計、靈活的 API 調用都令人留下深刻印象。

    與 OpenStack 的競爭會是接下來幾年 CloudStack 無法回避的問題,相對于對手的后發優勢,CloudStack 更強調成熟的產品應用。但隨著自身的開源,將來的 IaaS 市場也許會在求同方面走的更遠。


    參考資料

    學習

    • 參考 Ctrix CloudStack 官網,可以從其最新的 快速安裝手冊入手,并了解其新 build 的發布情況。

    • 參考 Citrix swallows OpenStack ally Cloud.com,了解 Ctrix 對 CloudStack 的收購。

    • 在文章 An OpenStack guy takes CloudStack for a test drive,中談到了 CloudStack 在安裝使用中的部分問題。

    • OpenStack 的一位技術人員在 What Gartner can ’ t – or won ’ t – tell you about OpenStack Cloud中比較“激烈的”回應了 Gartner 關于云平臺的一些結論。

    • 這篇文章 CloudStack vs OpenStack! Who will win? 提到了兩者的一些總體對比。

    • 參考 虛擬化管理軟件比較,了解作者對多個虛擬化管理軟件的一些評測。

    • OpenStack Compute Administration Manual 中可以了解 openstack 的一些特性。

    • 在文章 OpenStack, Eucalyptus, CloudStack: No Easy Answers for Open Source Clouds 里,三家公司的 CEO 或 VP 談到了彼此的一些有趣話題。

    • 關于開發者使用 CloudStack API,可以參閱 CloudPlatform 3.0 Developer's GuideAPI Reference: CloudStack。

    • 這里有一篇使用 API 的入門 guide:Beginners guide to interacting with the CloudStack API。

    • developerWorks 云計算站點 提供了有關云計算的更新資源,包括

      • 云計算 簡介。

      • 更新的 技術文章和教程,以及網絡廣播,讓您的開發變得輕松,專家研討會和錄制會議 幫助您成為高效的云開發人員。

      • 連接轉為云計算設計的 IBM 產品下載和信息

      • 關于 社區最新話題 的活動聚合。



    總結

    以上是生活随笔為你收集整理的CloudStack 的配置、部署与管理,以及 API 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。