1. 程式人生 > >Cloudstack平臺筆記

Cloudstack平臺筆記

 

                                         Cloudstack平臺實戰

 

目  錄

1. 理論基礎... 

1.1  雲端計算的出現.

1.2  把基礎設施當做服務(IaaS)..

1.3  IaaS平臺的虛擬化技術的好處

1.4  Cloudstack 介紹

2. 部署安裝

2.1  cloudstack 安裝前的準備

2.2  系統配置安裝

2.2.1 網路配置

2.2.2 修改主機名.

2.2.3 新增hosts檔案實現叢集主機之間相互能夠解析

2.2.4 關閉selinux.

2.2.5 安裝epel 源

2.2.6 安裝 cloudstack 源

2.2.7 安裝NTP.

2.2.8 NFS

2.3  管理伺服器安裝.

2.3.1 安裝管理端

2.3.2 

資料庫安裝和配置

2.3.3 系統初始化.

2.3.4 上傳系統模板

2.3.5 訪問使用者介面.

2.4  安裝agent節點及配置

2.4.1 先決條件

2.4.2 Agent 安裝

2.4.3 虛擬化配置

3系統配置

3.1  登陸到使用者介面

3.2  根管理員介面的概述

3.3  初始化配置

3.4  啟動虛擬機器例項

3.4.1 搭建一個http 伺服器

3.4.2 製作模板

3.5  服務方案.

4  在企業中搭建自己的私有云

4.1  機器建議配置

4.2  部署架構

4.3  控制節點架構

4.4  計算節點儲存架構

4.5  私有云整體架構

4.6  高階網路

4.7  企業儲存使用

4.7.1 使用glusterfs 主要的要點

4.8  系統可靠性與高可用性

4.8.1 管理伺服器的HA.

4.8.2 啟用了HA的虛擬機器

4.8.3 主機的HA

4.9  效能調優

4.9.1 增加管理伺服器到最大內

4.9.2 設定資料庫緩衝池大小

4.9.3 設定和監控每個主機的總VM數限制

5.Cloudstack API 呼叫

5.1 文件地址.

5.2 cloudstack API呼叫方法

5.3  API簽名

6系統維護及故障處理.

6.1  系統監控

6.2  使用伺服器日誌.

6.3  恢復丟失的虛擬路由器.

6.4  主機的維護計劃與維護模式.

6.5  cpu分配到85%就再也建不了虛機了.

6.6  清理openvswitch.

6.7  使用glusterfs 報錯.

======================================實驗部分===============================================

  1. 理論基礎
    1. 雲端計算的出現
基本上,雲端計算只是一種把 IT 資源當作服務來提供的手段。幾乎所有 IT 資源都可以作為雲服務來提供:應用程式、計算能力、儲存容量、聯網、程式設計工具,以至於通訊服務和協作工具。
雲端計算最早為 Google、Amazon 等其他擴建基礎設施的大型網際網路服務提供商所採用。於是產生一種架構:大規模擴充套件、水平分佈的系統資源,抽象為虛擬 IT 服務,並作為持續配置、合用的資源進行管理。
就終端使用者而言,雲端計算意味著沒有硬體購置成本、沒有需要管理的軟體許可證或升級、不需要僱傭新的員工或諮詢人員、不需要租賃設施、沒有任何種類的基建投資,而且還沒有隱性成本。只是一種用儀表測量出來的、根據使用情況支付的訂購費或固定的訂購費。只是用您所需的量,而且只按使用量付費。
 

雲端計算體系結構圖如下:

    1. 把基礎設施當做服務(IaaS
把基礎設施當作服務 (IaaS) 處於最低層級,而且是一種作為標準化服務在網上提供基本儲存和計算能力的手段。伺服器、儲存系統、交換機、路由器和其他系統協作 (例如,通過虛擬化技術) 處理特定型別的工作負載 — 從批處理到峰值負載期間的伺服器/儲存擴大。
最著名的商業示例是 Amazon Web 服務 (AWS),其 EC2 和 S3 服務分別提供基本計算和儲存服務。國內代表阿里雲、騰訊雲、百度雲、金山雲等。
    1. IaaS平臺的虛擬化技術的好處
利用率更高 — 在虛擬化之前,企業資料中心的伺服器和儲存利用率一般平均不到 50% (事實上,通常利用率為 10% 到 15%)。通過虛擬化,可以把工作負載封裝一併轉移到空閒或使用不足的系統,這就意味著可以整合現有系統,因而可以延遲或避免購買更多伺服器容量。
資源整合 — 虛擬化使得整合多個 IT 資源成為可能。除伺服器和儲存整合之外,虛擬化提供一個整合系統架構、應用程式基礎設施、資料和資料庫、介面、網路、桌面系統甚至業務流程,因而可以節約成本和提高效率。
節省電能/成本 — 執行企業級資料中心所需的電能不再無限制地使用,而成本呈螺旋式上升趨勢。在伺服器硬體上每花一美元,就會在電費上增加一美元 (包括伺服器執行和散熱方面的成本)。利用虛擬化進行整合使得降低總能耗和節約大量資金成為可能。
節約空間 — 伺服器膨脹仍然是多數企業資料中心面臨的一個嚴重問題,可擴大資料中心並不總是一個良好的選擇,因為每增大一平方米空間,就會平均增加很多成本。虛擬化通過把多個虛擬系統整合到較少物理系統上,可以緩解空間壓力。
災難恢復 (Disaster recovery) /業務連續 (Business Continuity) — 虛擬化可提高總體服務級利用率,並提供災難恢復解決方案新選項。
    1. Cloudstack 介紹

CloudStack是一個開源的具有高可用性及擴充套件性的雲端計算平臺CloudStack 是一個開源的雲作業系統,它可以幫助使用者利用自己的硬體提供類似於Amazon EC2那樣的公共雲服務。CloudStack可以通過組織和協呼叫戶的虛擬化資源,構建一個和諧的環境。

Cloudstack支援管理大部分主流的hypervisors,如KVM,XenServer,VMware,Oracle VM,Xen等。

 

Cloudstack 部署圖如下:

 

 

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

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

提供點(Pods):

一個提供點通常代表一個機架,機櫃裡面的主機在同一個子網,每個區域中必須包含一個或多個提供點,提供點中包含主機和主儲存伺服器, CloudStack 的內部管理通訊配置一個預留 IP 地址範圍。預留的 IP 範圍對雲中的每個區域來說必須唯一。

叢集(Clusters):

Cluster 是多個主機組成的一個叢集。

同一個cluster中的主機有相同的硬體,相同的 Hypervisor,和共用同樣的儲存。同一個 cluster 中的虛擬機器,可以實現無中斷服務地從一個主機遷移到另外一個上。

叢集由一個或多個宿主機和一個或多個主要儲存伺服器構成。叢集的大小取決於下層虛擬機器軟體。大多數情況下基本無建議。當使用VMware時,每個VMware叢集都被vCenter 伺服器管理。管理員必須在本產品中登記vCenter。每個zone下可以有多個vCenter伺服器。每個vCenter伺服器可能管理多個VMware叢集

主機(Hosts):

Host 就是執行的虛擬機器(VM)主機。

宿主機就是個獨立的計算機。宿主機執行來賓虛擬機器並提供其相應的計算資源。每個宿主機都裝有虛擬機器軟體來執行來賓虛擬機器。比如一個開啟了kvm支援的伺服器,一個思傑XenServer伺服器,或者一個ESXi伺服器都可以作為宿主機。

宿主機在CloudStack部署中屬於最小的組織單元。宿主機包含於叢集中,叢集又屬於提供點,而區域中包含提供點(就是在邏輯概念上zone>pod>cluster>host),新增的宿主機可以隨時新增以提供更多資源給來賓虛擬機器,CloudStack自動探測宿主機的cpu數量和記憶體資源。宿主機對終端使用者不可見。終端使用者不能決定他們的虛擬機器被分配到哪臺宿主機。

CloudStack 中存在兩種儲存:

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

Secondary storage:二級儲存與 zone 關聯,它儲存模板檔案,ISO 映象和磁碟卷快照。

 

  1. 部署安裝
    1. cloudstack 安裝前的準備
電腦一臺,記憶體>=4G
安裝VirtualBox 或VMWARE Workstation虛擬機器軟體。
 安裝好2臺CentOS-6-x86_64(6.6 以上)的虛擬機器。
 基本系統:1VCPU+1024M記憶體+50G硬碟, 2VCPU+2048M記憶體+50G硬碟,
 網路選擇:網路地址轉換(NAT)。
 軟體包選擇:Basic Server。
 關閉iptables和SELinux。
    1. 系統配置安裝
      1. 網路配置

預設情況下新安裝的機器並未啟用網路,您需要根據實際環境進行配置。由於網路中不存在DHCP伺服器,您需要手工配置網路介面。為了實現快速簡化安裝的目標,這裡假定主機上只有eth0一個網路介面。

使用root使用者登入本地控制檯。檢查檔案 /etc/sysconfig/network-scripts/ifcfg-eth0,預設情況,其內容如下所示:

DEVICE="eth0"
HWADDR="52:54:00:B9:A6:C0"
NM_CONTROLLED="yes"
ONBOOT="no"

但是根據以上配置您無法連線到網路,對於Cloudstack也同樣不適合;您需修改配置檔案,指定IP地址,網路掩碼等資訊

DEVICE=eth0
HWADDR=52:54:00:B9:A6:C0
NM_CONTROLLED=no
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.16.10.2
NETMASK=255.255.255.0
GATEWAY=172.16.10.1
DNS1=8.8.8.8
DNS2=8.8.4.4
      1. 修改主機名

需要修改兩處:一處是/etc/sysconfig/network,另一處是/etc/hosts,只修改任一處會導致系統啟動異常。

/etc/sysconfig/network

用vi編輯器,裡面有一行 HOSTNAME=localhost.localdomain (如果是預設的話),修改 localhost.localdomain 為你的主機名。

/etc/hosts

開啟該檔案,會有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地環路地址, localhost.localdomain 是主機名(hostname),也就是你待修改的。localhost 是主機名的別名(alias)。將第二項修改為你的主機名,第三項可選。

將上面兩個檔案修改完後,並不能立刻生效。如果要立刻生效的話,可以用 hostname your-hostname 作臨時修改,它只是臨時地修改主機名,系統重啟後會恢復原樣的。但修改上面兩個檔案是永久的,重啟系統會得到新的主機名。

最後,重啟後檢視主機名 hostname --fqdn

通過hostname –fqdn命令重新檢查主機名,並確認返回了正確的FQDN

      1. 新增hosts檔案實現叢集主機之間相互能夠解析
 修改每臺機器的 /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.10.101 master1
      1. 關閉selinux
關閉selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux 或者
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
也可以用vi 直接編輯修改
      1. 安裝epel
 cloudstack  yum源有部分包依賴 epel 源
 yum -y install epel-release 
      1. 安裝 cloudstack

新增CloudStack軟體倉庫,建立/etc/yum.repos.d/cloudstack.repo檔案,並新增如下資訊。

[cloudstack]

name=cloudstack
baseurl=http://cloudstack.apt-get.eu/centos/6/4.8/
enabled=1
gpgcheck=0

或者把安裝包下載到本地

 

      1. 安裝NTP

為了同步雲平臺中主機的時間,需要配置NTP,但NTP預設沒有安裝。因此需要先安裝NTP,然後進行配置。通過以下命令進行安裝:

# yum -y install ntp

實際上預設配置項即可滿足的需求,僅需啟用NTP並設定為開機啟動,如下所示:

# chkconfig ntpd on
# service ntpd start
      1. NFS

本文件將配置的環境使用NFS做為主儲存和輔助儲存,需配置兩個NFS共享目錄,在此之前需先安裝nfs-utils:

# yum -y install nfs-utils

接下來需配置NFS提供兩個不同的掛載點。通過編輯/etc/exports檔案即可簡單實現。確保這個檔案中包含下面內容:

/export/secondary *(rw,async,no_root_squash,no_subtree_check)
/export/primary *(rw,async,no_root_squash,no_subtree_check)

注意配置檔案中指定了系統中兩個並不存在的目錄,下面需要建立這些目錄並設定合適的許可權,對應的命令如下所示:

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

格式化 /dev/sdb

Master 節點 掛載給 /export/secondary

Agent  節點 掛載給  /export/primary

 

在 /etc/fstab  檔案中加入

Master 節點

/dev/sdb  /export/secondary  xfs defaults 0 0

Agent  節點

/dev/sdb  /export/primary  xfs defaults 0 0

方法二:

執行 命令

Master 節點
echo "/dev/sdb  /export/secondary  ext4 defaults 0 0"  >> /etc/fstab
Agent  節點
echo "/dev/sdb  /export/primary  ext4 defaults 0 0"  >> /etc/fstab
mount -a

CentOS 6.x 版本預設使用NFSv4設定為以下內容:

在/etc/sysconfig/nfs檔案中取消如下選項的註釋:

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

接下來還需配置防火牆策略,允許NFS客戶端訪問。編輯檔案/etc/sysconfig/iptables

-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 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

通過以下命令重新啟動iptables服務:

# service iptables restart

最後需要配置NFS服務為開機自啟動,執行如下命令:

# service rpcbind start
# service nfs start
# chkconfig rpcbind on
# chkconfig nfs on
    1. 管理伺服器安裝

接下來進行CloudStack管理節點和相關工具的安裝。

      1. 安裝管理端

現在將要開始安裝管理伺服器。執行以下命令:

# yum -y install cloudstack-management cloudstack-common
      1. 資料庫安裝和配置

首先安裝MySQL,並對它進行配置,以確保CloudStack執行正常。

執行如下命令安裝:

# yum -y install mysql-server

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'

正確配置MySQL後,啟動它並配置為開機自啟動:

# service mysqld start
# chkconfig mysqld on

設定mysql 密碼及範圍許可權

mysqladmin -uroot password 123456
mysql -uroot  -p123456 -e "GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '123456'";
      1. 系統初始化

在程式執行完畢後,需初始化資料庫,通過如下命令和選項完成:

# cloudstack-setup-databases cloud:[email protected] --deploy-as=root:123456

當該過程結束後,您應該可以看到類似資訊:”CloudStack has successfully initialized the database.”。

資料庫建立後,最後一步是配置管理伺服器,執行如下命令:

# cloudstack-setup-management
      1. 上傳系統模板

CloudStack通過一系列系統虛擬機器提供功能,如訪問虛擬機器控制檯,如提供各類網路服務,以及管理輔助儲存的中的各類資源。該步驟會獲取系統虛擬機器模板,用於雲平臺引導後系統虛擬機器的部署。

然後需要下載系統虛擬機器模板,並把這些模板部署於剛才建立的輔助儲存中;管理伺服器包含一個指令碼可以正確的操作這些系統虛擬機器模板:

/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary/ -f /opt/systemvm64template-2016-05-18-4.7.1-kvm.qcow2.bz2 -h kvm -F
      1. 訪問使用者介面

要訪問CloudStack的WEB介面,僅需在瀏覽器訪問 http://XXX.XXX.XXX:8080/client ,使用預設使用者’admin’和密碼’password’來登入。第一次登入可以看到歡迎介面。

    1. 安裝agent節點及配置
      1. 先決條件

本文件描述的環境使用管理伺服器同時作為計算節點,這意味著很多先決步驟已經在搭建管理伺服器時完成;但為了清晰起見,仍然列出相關步驟:

  1. 網路配置
  2. 主機名
  3. SELinux
  4. NTP
  5. 配置ClouStack軟體庫

你不需要在管理節點上執行這些操作,當然,如果您需要新增額外的主機以上步驟仍然需要執行。

      1. Agent 安裝

安裝KVM代理僅僅需要一條簡單的命令,但之後我們需要進行一些配置。

# yum -y install cloudstack-agent cloudstack-common
      1. 虛擬化配置

配置KVM

KVM中我們有兩部分需要進行配置, libvirt和QEMU.

配置QEMU

KVM的配置項相對簡單,僅需配置一項。編輯QEMU VNC配置檔案/etc/libvirt/qemu.conf並取消如下行的註釋。同時註釋 security_driver="none"

vnc_listen=0.0.0.0
# security_driver="none"

配置Libvirt

CloudStack使用libvirt管理虛擬機器。因此正確的配置libvirt至關重要。Libvirt屬於cloudstack-agent的依賴元件,應提前安裝好。

為了實現動態遷移,libvirt需要監聽使用非加密的TCP連線。還需要關閉libvirts嘗試使用組播DNS進行廣播。這些都是在 /etc/libvirt/libvirtd.conf檔案中進行配置。

設定下列引數:

listen_tls = 0
listen_tcp = 1
tcp_port = "16059"
auth_tcp = "none"
mdns_adv = 0

僅僅在libvirtd.conf中啟用”listen_tcp”還不夠,我們還必須修改/etc/sysconfig/libvirtd中的引數:

更改

LIBVIRTD_ARGS="-1"

重啟libvirt服務

# service libvirtd restart

KVM配置完成

For the sake of completeness you should check if KVM is running OK on your machine:

# lsmod | grep kvm

kvm_intel              55496  0
kvm                   337772  1 kvm_intel
  1. 系統配置
    1. 登陸到使用者介面

CloudStack提供一個基於web的UI,管理員和終端使用者能夠使用這個介面。使用者介面版本依賴於登陸時使用的憑證不同而不同。使用者介面是適用於大多數流行的瀏覽器包括IE7,IE8,IE9,Firefox Chrome等。URL是:(用你自己的管理控制伺服器IP地址代替)

http://<management-server-ip-address>:8080/client

如果管理伺服器是全新的安裝,。那麼會出現一個安裝嚮導。在稍後的訪問中,,你將看到一個登入介面,,你需要通過使用者名稱和密碼登入來檢視你的儀表盤.

使用者名稱 -> 你賬號的使用者ID。預設使用者名稱是admin。
密碼 -> 使用者ID對應的密碼。預設使用者名稱的密碼是password。
域 -> 如果你是root使用者,此處留空即可。

CloudStack使用者介面幫助雲基礎設施的使用者檢視和使用他們的雲資源,包括虛擬機器、模板和ISO、資料卷和快照、賓客網路,以及IP 地址。如果使用者是一個或多個CloudStack專案的成員或管理員,使用者介面能提供一個面向專案的檢視。

    1. 根管理員介面的概述

在管理伺服器軟體安裝並且執行後, 你就可以執行CloudStack的使用者介面.了。在這裡通過UI,可以供給、檢視並管理你的雲基礎架構。

開啟你自己喜歡的瀏覽器並訪問這個URL。請把IP地址替換成你自己的管理伺服器的IP。

http://<management-server-ip-address>:8080/client

初次登入管理伺服器時,會出現一個嚮導啟動畫面。後續訪問時,您會直接進入控制面板。

如果你看到第一次的嚮導螢幕, 可以選擇下面步驟之一進行。

**繼續執行基本安裝。**如果你僅僅是想體驗CloudStack,請選擇這個,並且這樣你可以馬上開始跟著嚮導進行簡單的配置。我們將幫助你建立一個有以下功能的雲:一個執行CloudStack軟體的機器和使用NFS協議的儲存;一個執行VMs的XenServer或KVM hypervisor的伺服器;一個共享的公有網路。

安裝嚮導的提示會給你需要的所有資訊。但如果你需要更多的詳細資訊,你可以按照試用安裝嚮導進行。

我之前用過CloudStack。 如果您已經完成設計階段,計劃部署一個複雜CloudStack雲,或是準備對用基礎安裝嚮導搭建的試驗雲進行擴充套件,請選擇此項。在管理員UI中,您可以使用CloudStack中更強大的功能,例如高階VLAN網路、高可用、負載均衡器和防火牆等額外網路裝置,以及支援Citrix XenServer、KVM、VMware vSphere等多種虛擬化平臺。

根管理員的儀表盤顯示出來。

在雲的安裝及後續管理過程中,您需要用根管理員登入UI。根管理員賬號管理著CloudStack的部署以及物理設施。根管理員可以修改系統配置,改變基本功能,建立和刪除使用者賬號,以及其他僅限於已授權人員執行的操作。在初始安CloudStack時,請務必修改預設密碼為新的較獨特的密碼。

開啟你自己喜歡的瀏覽器並訪問這個URL。請把IP地址替換成你自己的管理伺服器的IP。

http://<management-server-ip-address>:8080/client
使用當前root使用者的ID和口令登入UI。預設為admin,pawword。
點選帳戶。
點選管理員帳號名。
點選檢視使用者。
點選管理員使用者名稱。
點選更改密碼按鈕。 
輸入新密碼,然後點選確認。
    1. 初始化配置

選擇“基礎架構 --> 新增區域”按照截圖進行配置。

 

名稱:default       dns1:8.8.8.8        dns2:8.8.4.4        (這些內容包括下面的填寫僅為參考值。可根據實際情況進行修改)

 

 

提供名稱:default01           預留閘道器:192.168.1.1       預留掩碼:255.255.255.0

起始IP:192.168.1.170       結束IP:192.168.1.189

來賓閘道器:192.168.1.1       掩碼:255.255.255.0           起始IP:192.168.1.201 

結束IP:192.168.1.230

 

 

 

主機名稱:192.168.1.190           使用者名稱:root               密碼:*******(這裡使用者名稱和密碼,填寫被新增主機的root使用者和密碼)

名稱:primary(這些名稱包括上面的default ,都不是固定的,自己根據需要進行區分即可,)

協議:選擇nfs            伺服器:192.168.1.190

Path:/mnt/mycloud/primary(在第一部分裡建立的primary目錄

 

NFS伺服器:192.168.1.190              路徑:/mnt/mycloud/secondary(在第一部分裡建立的secondmary目錄)

 

單擊“是”啟動區域!

檢視系統VM。大約5-10分鐘啟動成功,如果啟動失敗,檢視日誌檔案進行改進!

 

如果配置錯誤在可以在這裡啟動區域

 

 

 

如果以上步驟均沒有問題,則會顯示如上圖所示的介面,除了虛擬路由器數目仍舊為0,系統VM數目為2之外,其他所有元件的數目均為1

系統VM是否啟動成功可以檢視其狀態是否為Running

 

 

系統VM是不同於主機上建立的普通虛擬機器的,他們是CloudStack雲平臺自帶的用於完成自身的一些任務的虛擬機器。

Secondary Storage VM:簡稱為SSVM,用於管理二級儲存的相關操作,如模板跟映象檔案的上傳與下載,快照,volumes的存放,第一次建立虛擬機器時從二級儲存拷貝模板到一級儲存並且自動建立快照,每一個資源域可以有多個SSVM,當SSVM被刪除或停止,它會自動被重建並啟動。

Console Proxy VM:用於在web 介面上展示控制檯。

虛擬路由器將會在第一個例項啟動後自動建立。

    1. 啟動虛擬機器例項
      1. 搭建一個http 伺服器

搭建http 服務主要用來管理ISO系統和映象模板

在master 節點安裝 nginx

yum  -y install nginx

防火牆中加入允許80 埠訪問

 

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

編輯 /etc/nginx/nginx.conf  配置檔案,能夠使訪問目錄

autoindex on;# 顯示目錄
autoindex_exact_size on;# 顯示檔案大小
autoindex_localtime on;# 顯示檔案時間

到 /usr/share/nginx/html  目錄 刪除所有檔案 ,啟動nginx

/etc/init.d/nginx restart

上傳ISO 到 /usr/share/nginx/html

看到如下介面

 

修改全域性設定  secstorage.allowed 設定 ,二級儲存ISO映象和模板可以下載,IP網段

      1. 製作模板

 

Cloudstack模版支援兩種模式:

一種是通過KVM 製作的qcow2或raw檔案
另外就是直接上傳ISO檔案作為模版檔案

先在Cloudstack的模板註冊中,新增ISO映象檔案,然後啟動例項,選擇從ISO啟動,然後安裝系統。

 

URL 輸入下載ISO的地址

完成後,已就緒狀態是 “YES”

用ISO 安裝虛擬機器例項

選擇ISO

 

 

選擇磁碟方案

 

完成後選擇 啟動例項

 

安裝centos 後 ,發現沒有IP, 網絡卡處選擇自動啟動

對於CentOS,必須要修改網路介面的配置檔案,在這裡我們編輯/etc/sysconfig/network-scripts/ifcfg-eth0檔案,更改下面的內容。

DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=dhcp
ONBOOT=yes

 

移除udev持久裝置規則

rm -f /etc/udev/rules.d/70*
rm -f /var/lib/dhclient/*

移除SSH Keys

這步是為了確認所有要作為模板的VMs的SSH Keys都不相同,否則這樣會降低虛擬機器的安全性。

rm -f /etc/ssh/*key*

清除日誌檔案

從主模板移除舊的日誌檔案是一個好習慣。

cat /dev/null > /var/log/audit/audit.log 2>/dev/null
cat /dev/null > /var/log/wtmp 2>/dev/null
logrotate -f /etc/logrotate.conf 2>/dev/null
rm -f /var/log/*-* /var/log/*.gz 2>/dev/null

清除使用者歷史

下一步來清除你曾經執行過的bash命令。

history -c
unset HISTFILE

關閉VM

現在你可以關閉你的主模板並且建立模板了!

halt -p

建立模板!

成功後從模板列表中,可以看出

接下來可以用模板建立VM

    1. 服務方案

除了雲中的物理和邏輯基礎設施以及 CloudStack 軟體和伺服器,你還需要一個使用者服務層以便讓人們能夠真正利