1. 程式人生 > >cloudstack4.2+xenserver6.0.2 詳細配置攻略

cloudstack4.2+xenserver6.0.2 詳細配置攻略

  • 搭建一臺安裝了XenServer的伺服器
  • 搭建一臺安裝了CloudStack的伺服器用以管理雲平臺
  • 可以使用CloudStack雲平臺進行虛擬機器管理
  • 使用遠端桌面訪問windows虛擬機器
由於最近實驗室要搭建cloudstack+xenserver環境,先寫出這個配置文件,以便後期查閱,文章後面我會給出一個shell指令碼安裝cloudstack (*^__^*) 嘻嘻…… 安裝cloudstack的那臺機器安裝的作業系統為centos6.3 desktop版本,xenserver安裝的是xenserver6.0.2版,因為根據官方文件指示,目前cloudstack4.2只支援到6.0.2版本的xenserver。(注意所有的機器的主機名要有統一的字尾,比如cloudstack.cloud.priv,Xenserver.cloud.priv)
一、 首先要做的是先安裝centos,然後配置官方的repo,把/etc/yum.conf檔案的裡的keepcache設定為1,用於儲存下載下來的rpm包,以後用來建立本地源,接下來,按照官方文件上寫的一步一步安裝下去,此部分主要是把rpm包儲存下來。 二、 在centos上開啟web服務
service httpd start
切換到/var/www/html/目錄下,mkdir my_repo ;切換到/var/cache/yum/x86_64/6/使用如下命令把儲存下來的rpm包找到並放到my_repo下
find . -name "*.rpm" |xargs -I{} cp {} /var/www/html/my_repo/
在my_repo下使用createrepo命令,建立本地源。編寫my.repo檔案如下:
[my]
name=cs
baseurl=http://10.10.10.12/my_repo
enabled=1
gpgcheck=0
其中10.10.10.12是本地web服務的ip地址,該檔案放置於/etc/yum.repos.d/目錄下

三、

yum makecache
yum install -y cloudstack-management
在makecache之前,若是無網路的情況下,最好刪掉/etc/yum.repos.d/目錄下的所有的repo檔案,防止yum重新嘗試從網路上獲取rpm 下載vhd-util 點選開啟連結
這步是xenserver必須做的一步,切記切記 !拷貝 vhd-util 到 /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver
四、
yum install mysql-server
安裝mysql-server,並修改/etc/my.cnf為如下(注意紅色字型,別放到別的地方): [mysqld]
datadir=/var/lib/mysql
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=350
log-bin=mysql-bin
binlog-format = 'ROW'



socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
然後執行
service mysqld start
五、 下面處理有關linux安全機制的問題,防止cloudstack被阻擋——關閉selinux 修改/etc/selinux/config 使得
SELINUX=enforcing
成為
SELINUX=permissive

然後臨時的修改並立即生效:

setenforce permissive
建立cloudstack的mysql資料庫表:
cloudstack-setup-databases cloud:[email protected] --deploy-as=root
配置cloudstack:
cloudstack-setup-management
注意此步會自動開啟iptables,如防火牆策略還沒有寫清楚,切記關閉防火牆 六、設定nfs服務
mkdir -p /export/primary
mkdir -p /export/secondary
yum install -y nfs-utils
然後修改/etc/export檔案 如下:
/export *(rw,async,no_root_squash,no_subtree_check)
然後執行:
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/idmapd.conf其中的Domain,使得叢集中的所有機器的Domain相同 我們修改成了cloud.priv 然後重啟服務
service rpcbind start
service nfs start
chkconfig nfs on
chkconfig rpcbind on
七、 安裝模板,可以事先從外網上下載,然後再放在我們的http伺服器上,從本地的web服務上下載
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary -u http://10.10.10.12/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 -h xenserver -F
其中10.10.10.12為本地web伺服器IP,然後這裡的/export/secondary即二級儲存目的,這個目錄一定要是剛才我們nfs上的路徑,待會在配置cloudstack時需要配置這個路徑,方便cloudstack的兩個的誕生虛擬機器從模板產生,即SSVM和CPVM 八、配置cloudstack
service cloudstack-management start
後即可從http://10.10.10.12:8080/client開啟cloudstack的UI介面 不要著著急開啟這個web頁面,可使用tailf  /var/log/cloudstack/management/managemet-server.log 開啟,直到Notifying mangement server join event took 。。。。這行顯示,才能開啟web介面並進入。 使用者名稱和密碼分別為admin和password
選擇已經使用過cloudstack
點選全域性設定 搜尋secs並回車
找到secstorage.allowed.internal.sites這個選項,把值寫入10.10.10.0/24,這表示允許子網為10.10.10.*的ip訪問二級儲存 繼續搜尋system.vm
修改system.vm.use.local.storage,使得false為true,這個表示,允許使用xenserver本地的儲存作為虛擬機器的硬碟,因為在一臺主機安裝完xenserver後,發現其“巨大”的磁碟空間可使用量為0,全部被xenserver隱藏了,為了不浪費空間,我們允許使用本地硬碟,這樣也能減輕虛擬機器硬碟使用nfs所產生的網路負載。 接下來,
service cloudstack-managment restart
重啟cloudstack服務
還是選擇已經使用過cloudstack,然後點基礎架構,選擇區域的檢視全部,選擇新增新的區域
然後next,選擇dns設定為8.8.8.8(公網的話),若是內網,這會在後面會產生問題,後面再提~~
一定要選擇一起用本地儲存!!! 網路部分直接next 然後轉到這裡:
提供點的意思即xenserver主機的ip地址範圍,這些ip將用作host主機的ip範圍 下面是來賓網路:
這個來賓網路的意思即虛擬機器將要使用的ip範圍. 叢集名稱隨便寫個就好了
下面新增主機
這裡10.10.10.181即一臺已經安裝了xenserver的主機,它的ip為181,此外主機名稱為xenserver.cloud.priv,還有修改了/etc/hosts,加入了cloudstack管理節點的ip
10.10.10.12 cloudstack.cloud.priv
還要修改/etc/idmapd.conf,同樣把Domain改為cloud.priv 下面進入二級儲存的選擇
這裡選擇nfs,然後nfs伺服器即前面寫的cloudstack管理節點作為nfs服務,我們知道前面的/export/secondary目錄裡已經下好了虛擬機器的模板,就那條很長很長的命令~ 最好在選擇next前,先在機器上用
mount -t nfs 10.10.10.12:/export/secondary /mnt

試試看,能不能重新mount,若出錯,則重新配置10.10.10.12的nfs服務,看是否是服務沒有重啟 下面launch~~
已經完成了所有的步驟~:
選擇“是”~ 在控制板的選項下,能夠看見,已經有記憶體被使用,還有1Ghz的cpu被使用,是因為SSVM和CPVM正在被啟動呢~ 還在基礎架構裡能夠看見有兩個虛擬機器的狀態:
等待兩個虛擬機器的狀態為“up”狀態:
現在就可以上傳iso映象了 點選模板按鈕: 在選擇視圖裡選擇ISO
選擇註冊iso
注意在確定前,嘗試下這個url是否正確 檢視iso狀態能看到正在被下載
如果狀態一直為空,請檢查防火牆設定,或者直接關閉防火牆,重啟SSVM虛擬機器 直到iso狀態為就緒
下面新建我們的虛擬機器服務方案
選擇儲存型別為local,注意cpu主頻務必要低於xenserver主機的單核cpu主頻大小,不然建立虛擬機器時失敗 下面新增例項:



點選launch例項 虛擬機器正在creating~稍等後,就會轉變為Running狀態,這時就可以通過web介面開啟這個虛擬機器了

在內網狀態下,會報這樣的問題: 這是由於dns伺服器沒有響應的緣故,要麼配置自己內部叢集的dns伺服器,通過解析*-*-*-*.realhostip.com成為*.*.*.*即可解決這個問題,但是這麼做比較麻煩 可以簡單地通過修改hosts檔案把10-10-10-202.realhostip.com對映為10.10.10.202即可解決問題
重新重新整理介面就好了
下面安裝windows xp的步驟和配置遠端桌面的部分就不再贅述了,如果出現web介面刷不出來的情況,不要緊張,重啟下CPVM就好了,這個web介面用的不多,安裝完作業系統,直接遠端登陸就好了,這個web介面的響應速度還是不能恭維的。 接下來,我們還需要修改一個安全組的策略,才能順利的於虛擬機器進行tcp/udp/icmp通訊。 在網路裡選擇安全組:
修改default的入口規則和出口規則,如下圖所示(出口規則與入口規則同樣):
我們安裝好xp後,即可檢視它的ip
而這個ip,我們也能從虛擬機器的資訊中得到 在nic這個tab中,我們能看到cloudstack給這臺虛擬機器分配了地址203
下面我們遠端登入試試,這應該是最常用的方式了~
點選確定,即可以進入10.10.10.203的桌面,這個時候,一點也不卡了~~
配置的過程到此結束~。 九、 配置cloudstack的安裝指令碼install.sh,適用於centos6.3
#!/bin/sh
IP=10.10.10.12
\rm my.repo
touch my.repo
echo "[my]" >> my.repo
echo "name=cs" >> my.repo
echo "baseurl=http://$IP/my_repo"  >> my.repo
echo "enabled=1" >> my.repo
echo "gpgcheck=0" >> my.repo
\cp ./config /etc/selinux/config
setenforce permissive
\rm /etc/yum.repos.d/*.repo
\cp my.repo /etc/yum.repos.d/
\cp -r ./my_repo /var/www/html/
\cp ./systemvmtemplate-2013-07-12-master-xen.vhd.bz2 /var/www/html/systemvmtemplate-2013-07-12-master-xen.vhd.bz2
\cp ./*.iso /var/www/html/
service httpd start
yum makecache
yum install -y cloudstack-management
\cp ./vhd-util /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/
chmod 777 /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util
yum install -y mysql-server
\cp ./my.cnf /etc/my.cnf
service mysqld restart
cloudstack-setup-databases cloud:[email protected] --deploy-as=root
cloudstack-setup-management
service iptables stop
yum install -y nfs-utils
mkdir -p /export/primary
mkdir -p /export/secondary
\cp ./exports /etc/exports
exportfs -a
\cp ./nfs /etc/sysconfig/nfs
service iptables stop
\cp ./idmapd.conf /etc/idmapd.conf
service rpcbind start
service nfs start
chkconfig nfs on
chkconfig rpcbind on
/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /export/secondary/ -u http://$IP/systemvmtemplate-2013-07-12-master-xen.vhd.bz2 -h xenserver -F
service iptables stop
注意這裡的相關檔案要預先寫好,方便覆蓋系統的本來配置檔案