概述:
在CloudStack(一)簡介及相關理論介紹裡面簡單的介紹了下cloudstack的相關概念好讓我們安裝部署的時候好了解一點,在cloudstack的區域裡面有兩種網絡模式,
- 基礎模式
基礎網絡模式隻提供了簡單的網絡模型,管理網絡、來賓網絡(隻支援1個來賓網絡)、存儲網絡、V-Route(隻提供了NDS、dhcp)等
- 進階模式
進階網絡模式相對于基礎模式來說靈活性更好,功能也比較多,比如網絡有管理網絡、來賓網絡(支援多個來賓網絡)、存儲網絡、公共網絡,V-Route提供的功能更是豐富如,×××、DHCP、DNS、防火牆、負載均衡(HaProxy實作)、SNAT、靜态NAT、端口轉發、安全組、網絡ACL、等
下面我們來着手部署下cloudstack并建立一個基礎模式的區域
一、環境介紹

IP | 角色 | Hypervisor | 系統 | 主機名 | NIC |
172.10.10.80 | 管理節點、Mysql | … | CentOS6.5 | cloudstack.andy.com | Eth0 |
172.10.10.81 | Node1 | KVM | node1.andy.com | Br0 --> eth0 | |
172.10.10.88 | Node2 | node2.andy.com | |||
172.10.10.89 | NAS存儲 | NAS-Storage.andy.com | Bond0 --> eth0/1/2/3 |
從上面的圖及表格應該可以很清楚的知道各伺服器的角色及網絡是怎麼連接配接的等資訊,這裡簡單說下計算節點跟NAS存儲的網絡配置,計算節點有一塊網卡橋接到br0上、NAS存儲有4塊網卡做的bind
二、安裝部署
2.1,、初始化配置
初始化配置包括安裝作業系統、ip位址配置、yum倉庫配置、ntp時間同步配置、selinux配置、系統安裝跟IP位址的配置這裡就不說明了,如果連系統、ip都不會搞的話就回家洗洗睡吧, 另外需要注意的是計算節點的網橋需要自己配置下,這樣也不說明,這裡的配置所有節點的配置都是一樣的
- 關閉selinux
vim /etc/sysconfig/selinux
SELINUX=disabled
setenforce 0
- 配置yum倉庫,CentOS的yum源這裡就說明了,這裡隻配置cloudstack的yum源
vim /etc/yum.repos.d/cloudstack.repo
[CloudStack]
name=CloudStack 4.3
baseurl=http://cloudstack.apt-get.eu/rhel/4.3/
enabled=1
gpgcheck=0
- 配置ntp時間同步
yum -y install ntp
service ntpd start
chkconfig ntpd on
2.2、安裝并配置NFS存儲
- 設定hostname
hostname NAS-Storage.andy.com
vim /etc/sysconfig/network
HOSTNAME=NAS-Storage.andy.com
vim /etc/hosts
172.10.10.89 NAS-Storage.andy.com
- 安裝并配置nfs
yum –y install nfs-utils
vim /etc/exports
/data/secondary *(rw,async,no_root_squash)
/data/primary *(rw,async,no_root_squash)
mkdir -p /data/{secondary,primary}
- 啟動nfs并設定開機自動啟動,和防火牆配置
service rpcbind restart
service nfs start
chkconfig nfs on
chkconfig rpcbind on
iptables -F
service iptables save
注釋:
primary為主存儲(一級存儲),主要用來存儲執行個體及系統虛拟機等鏡像檔案的存儲,通路主存儲的機器有ssvm(Secondary Storage VM)、Hypervisor
secondary為輔助存儲(二級存儲),主要用來存儲模版、快照、卷等檔案,通路輔助存儲的機器一般為ssvm(Secondary Storage VM)
2.3、安裝并配置cloudstack管理節點
hostname cloudstack.andy.com
echo "172.10.10.80 cloudstack.andy.com" >>/etc/hosts
vim /etc/sysconfig/network
HOSTNAME= cloudstack.andy.com
- 安裝并配置mysql資料庫
yum install -y mysql-server
vim /etc/my.cnf
[mysqld]
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'
service mysqld start
chkconfig mysqld on
mysqladmin -u root password "redhat"
- 安裝配置cloudstack管理節點
yum install cloud-client
cloudstack-setup-databases cloud:redhat@localhost --deploy-as=root:redhat
cloudstack-setup-management
到這步為止cloudstack管理節點就算配置完成了,這個時候可以在浏覽器中輸入
http://你的管理節點IP:8080/client 就可以看到cloudstack的界面了
預設使用者名 admin 密碼password
下面我們來導入系統虛拟機需要使用的模版,在這裡需要注意下,不同的Hypervisor模版檔案也是不一樣的,這裡提供幾種Hypervisor的系統模版導入方式,
- 導入系統模版
mount -t nfs 172.10.10.89:/data/secondary /mnt
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt \
-m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-kvm.qcow2.bz2 -h kvm -F
umount /mnt
其他類型的Hypervisor
for vSphere
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-vmware.ova -h vmware -F
for xen
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt -u http://download.cloud.com/templates/4.3/systemvm64template-2014-01-14-master-xen.vhd.bz2 -h xenserver -F
for Hyper-V
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://download.cloud.com/templates/4.3/systemvm64template-2013-12-23-hyperv.vhd.bz2 -h hyperv -F
2.4、安裝并配置cloudstack計算節點
注釋:所有的計算節點的配置都一樣的,除了hostname之外
- 配置hostname
hostname node1.andy.com
echo "172.10.10.81 node1.andy.com" >>/etc/hosts
vim /etc/sysconfig/network
HOSTNAME= node1.andy.com
- 安裝cloud-agent并配置libvirtd
yum install –y cloud-agent
vim /etc/libvirt/qemu.conf
vnc_listen = 0.0.0.0
vim /etc/libvirt/libvirtd.conf
listen_tls=0
listen_tcp=1
tcp_port="16509"
mdns_adv = 0
auth_tcp="none"
vim /etc/sysconfig/libvirtd
LIBVIRTD_ARGS="--listen"
service libvirtd restart
- 關閉iptables
iptables -F
service iptables save
到這裡cloudstack的計算節點已經安裝成功了,下面我們來添加一個區域
三、初識CloudStack WEB界面并添加第一個區域
3.1、登入cloudstack web界面
在浏覽器位址欄輸入http://172.10.10.80:8080/client 把IP換成你環境中的IP
使用者名 admin
密碼 password
是否要通過向導完成cloudstack的配置,我們點選跳過
cloudstack的dashboard,可以随便點下,了解下裡面的功能,這裡不詳細說明.各功能使用方法您繼續往下看
3.2、添加第一個區域
點選檢視全部
點選添加區域
選擇基本網絡模式
填寫區域資訊
注釋:
- 區域名稱: 自己随便定義,不過建議是 地區-機房名稱 或其他更詳細的内容
- 外部dns: 填寫外網DNS伺服器的IP
- 内部dns: 如有内網的DNS伺服器可把ip填到此處,反之則填寫個公網的dns即可
- 虛拟機管理程式: 選擇預設的Hypervisor類型
- 網絡域: 可以把自己公司的域名填上,不填也可以,
- Dedicated: 意思是給某個域或某個使用者專用的區域
- 已啟用本地存儲: 意思是把虛拟機的鏡像檔案存在某Hypervisor的本地檔案系統上,而非共享存儲
設定網絡流量标簽
- 流量标簽: 流量标簽的意思是讓某一個網絡的流量從某個接口走
- 預設情況下存儲的流量标簽是跟管理網絡一樣,是以這裡就沒選存儲網絡
填寫提供點資訊
- 提供點名稱:可以自己随便定義
- 預留的系統網關: 指的是cloudstack中管理IP的網關
- 預留系統網絡掩碼: 不解釋
- 起始預留系統IP: 不解釋
- 結束預留系統IP: 不解釋
填寫來賓網絡資訊
- 來賓網關: 指的是虛拟機執行個體的網關
- 來賓網絡掩碼: 不解釋
- 來賓起始IP:不解釋
- 來賓結束IP:不解釋
設定叢集資訊
- 叢集名稱: 可自己定義,建議使用一些明了的名字
填寫要添加的host資訊
- 主機名稱: 指計算節點的IP
- 使用者名: 不解釋
- 密碼: 不解釋
- 主機标簽: 可以了解為别名,但這個标簽後面設定HA的時候會用到
填寫主存儲資訊
- 名稱: 可自己随便定義
- 範圍: 指能夠使用此存儲的範圍
- 協定: 指存儲的類型.點下下拉菜單可以看到主存儲隻支援NFS,共享挂載點,clvm
- 伺服器: 指nfs伺服器的IP
- path: 隻nfs共享目錄的路徑
- 存儲标簽: 辨別
填寫輔助存儲資訊
- provider: 選擇二級存儲的類型
- 名稱: 自己随便定義了
- 伺服器: 二級存儲的伺服器IP
- 路徑: nfs存儲的路徑
啟動區域
點選是 啟用此區域,
可以在基礎架構裡看到剛才所添加的區域、提供點、叢集、主機等資訊了,在這裡需要注意下,系統VM在區域添加好之後要個1-2分鐘才有,因為cloudstack正在建立系統虛拟機.
此時我們的host裡面隻有1台主機,接下來我們來添加第二個計算節點
3.2、添加第二個計算節點
在基礎架構裡點選檢視主機
點選添加主機
填寫主機的資訊
- zone: 選擇添加的主機屬于某個區域
- 提供點: 添加的主機屬于某個提供點
- 叢集:添加的主機屬于某個叢集
- 主機名稱: 填寫計算節點的IP
- 使用者名:不解釋
- 密碼:不解釋
- 主機标簽:不解釋
此時可以看到第二個計算節點已經添加完成了
總結:
CloudStack的安裝部署是不是很簡單呢?..但還需要注意幾個地方,上述所有的保留ip位址段中的IP一定是沒有使用過的IP,有的時候在建立區域的時候或者添加host的時候會提示”Unable to add the host”一般會有這幾種原因造成的,從管理節點到計算節點的ssh連不上、計算節點是否支援硬體虛拟化、計算節點kvm核心子產品是否被加載、等