自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用VirtualBox構(gòu)建CloudStack測試環(huán)境,輕松體驗更多功能

譯文
云計算
如果你剛接觸Apache CloudStack,想了解和熟悉相關(guān)概念,可是苦于沒有搭建測試環(huán)境所需的種種設(shè)備,何不使用你現(xiàn)有的PC和VirtualBox?

引言

如果你剛接觸Apache CloudStack,想了解和熟悉相關(guān)概念,可是苦于沒有搭建測試環(huán)境所需的種種設(shè)備,何不使用你現(xiàn)有的PC和VirtualBox?

VirtualBox是一種跨平臺的虛擬化應用程序,可以在OS X、Windows、Linux和Solaris等操作系統(tǒng)上運行,這意味著不管你運行什么操作系統(tǒng),應該都能夠運行VirtualBox。

本文的目的是,盡管一切都在筆記本電腦上運行,因而受到明顯的制約,還是要搭建一個近可能接近生產(chǎn)部署環(huán)境的Apache CloudStack 環(huán)境。部署的這個系統(tǒng)將支持Apache CloudStack的下列幾大功能:

  • 生產(chǎn)級虛擬機管理程序:思杰XenServer 6.2,完全支持虛擬局域網(wǎng)(VLAN);
  • CentOS 6.5上的Apache CloudStack;
  • 主存儲和輔助存儲都使用NFS――各自都在專用的VLAN上;
  • 控制臺代理和輔助存儲虛擬機;
  • 所有的高級網(wǎng)絡功能特性,比如防火墻、網(wǎng)絡地址轉(zhuǎn)換(NAT)、端口轉(zhuǎn)發(fā)、負載均衡和虛擬私有云(VPC)。

想實現(xiàn)所有這些功能,我們就要在VirtualBox上部署兩個虛擬機、為Apache Cloudstack部署一個CentOS虛擬機,以及為虛擬機管理程序部署一個思杰XenServer虛擬機。CloudStack虛擬機還將充當我們的MySQL服務器和NFS服務器。

這種測試環(huán)境的一大要求就是,讓該環(huán)境保持完全獨立,那樣它可以用于培訓(插入Bootcamp鏈接)和演示等用途。為了實現(xiàn)這個目標,并且保持這一功能:部署新的區(qū)域(Zone),下載系統(tǒng)中所要使用的示例CentOS模板,我們模擬CloudStack公共網(wǎng)絡,使用NGINX在CloudStack管理服務器上托管運行默認的CentOS模板。

VirtualBox配置

從https://www.virtualbox.org/wiki/Downloads,下載并安裝合適的版本。

一旦VirtualBox安裝完畢,我們就需要對它進行配置,以便準備用于該環(huán)境。盡可能使用默認值,但如果你之前已經(jīng)一直在使用VirtualBox,可能需要調(diào)整不同的設(shè)置。

我們將使用三個“Host Only”(僅主機)網(wǎng)絡、一個“NAT”網(wǎng)絡和一個“Internal”(內(nèi)部)網(wǎng)絡。默認情況下,VirtualBox只有一個“僅主機”網(wǎng)絡,于是我們需要另外構(gòu)建兩個僅主機網(wǎng)絡。

1. 從“文件”菜單(Windows)或VirtualBox菜單(OS X),選擇“Preferences”(偏好設(shè)置),然后依次選擇“Network”(網(wǎng)絡)和“Host-only Networks”(僅主機網(wǎng)絡)。

2. 另外構(gòu)建兩個網(wǎng)絡,那樣至少有三個網(wǎng)絡可供我們使用。

3. 為頭兩個網(wǎng)絡設(shè)置IP模式(IP Schema),如下所示:

僅主機網(wǎng)絡的命名約定不一樣,這取決于主機的操作系統(tǒng),我只是將這些稱之為“僅主機網(wǎng)絡1”、“僅主機網(wǎng)絡2”和“僅主機網(wǎng)絡3”,依次類推,所以不妨參閱下列比較矩陣,即可識別正確的網(wǎng)絡。

This Guide Windows OS X

  1. 僅主機網(wǎng)絡1    VirtualBox僅主機以太網(wǎng)適配器   vboxnet0
  2. 僅主機網(wǎng)絡2    VirtualBox僅主機以太網(wǎng)適配器#2   vboxnet1
  3. 僅主機網(wǎng)絡3    VirtualBox僅主機以太網(wǎng)適配器#3    vboxnet2

僅主機網(wǎng)絡1:

IPv4地址:192.168.56.1

IPv4網(wǎng)絡掩碼:255.255.255.0

DHCP服務器是可選的,因為我們并不使用它,但要確保地址范圍與我們將要使用的靜態(tài)IP:192.168.56.11和192.168.56.101沒有沖突。

僅主機網(wǎng)絡2:

IPv4地址:172.30.0.1

IPv4網(wǎng)絡掩碼:255.255.255.0

通過設(shè)置這些IP地址范圍,我們就能確保充當主機的筆記本電腦在這些網(wǎng)絡上有一個IP,那樣我們就能訪問與它們連接的虛擬機。我們不需要“僅主機網(wǎng)絡3”上的IP,因為這個將用于存儲,而且還要運行VLAN。

我們使用NAT網(wǎng)絡,那樣我們就能將CloudStack管理虛擬機連接到互聯(lián)網(wǎng),從而能夠安裝我們所要使用的各種程序包。

配置VirtualBox“NatNetwork”,以便使用下列設(shè)置:

網(wǎng)絡名稱:NatNetwork

網(wǎng)絡CIDR:10.0.2.0/24

由于我們無法控制范圍,于是禁用了DHCP,將虛擬機上靜態(tài)分配的IP排除在外。

雖然本文主要介紹構(gòu)建單一的CloudStack管理服務器,但是你很容易添加第二臺CloudStack管理服務器;我發(fā)現(xiàn),來自NAT網(wǎng)絡的DHCP分配IP地址會隨機變化,所以設(shè)置NAT規(guī)則可能問題重重,因此我總是使用靜態(tài)分配的IP地址。

“內(nèi)部”網(wǎng)絡根本不需要配置。

#p#

CloudStack虛擬機

使用下列設(shè)置,為CloudStack管理器創(chuàng)建一個虛擬機:

名稱:CSMAN 4.4.1

類型:Linux

版本:Red Hat(64位)

內(nèi)存:2048(初始安裝不能低于這個值)

硬盤:VDI―動態(tài)―64 GB(我們分配了這么多的容量,是因為它將充當NFS存儲區(qū))。

注意:如果你同時增添所有網(wǎng)絡,VirtualBox似乎會將這些網(wǎng)絡混同起來,于是我們先添加第1個網(wǎng)絡,并安裝CentOS,然后一旦完全安裝完畢,我們就添加額外的網(wǎng)絡,可是在這當中會重啟,這似乎是最新版本VirtualBox(截至本文截稿時是4.3.18)的一個bug。

改動設(shè)置,為第1個網(wǎng)絡適配器分配正確的網(wǎng)絡,如下所示:

安裝CentOS 6.5 64位minimal版,將主機名稱設(shè)為CSMAN,將IP地址設(shè)為192.168.56.11/24,網(wǎng)關(guān)為192.168.56.1,并確保網(wǎng)絡已設(shè)置成引導時啟動。將DNS設(shè)成公共服務器,比如8.8.8.8 & 8.8.4.4。

一旦安裝完畢,重啟虛擬機,核實eth0處于活動狀態(tài),然后關(guān)閉虛擬機,添加第2個網(wǎng)絡適配器。

引導虛擬機,那樣它能檢測到網(wǎng)卡,然后關(guān)閉,添加第3個適配器。

引導虛擬機,那樣它能檢測到網(wǎng)卡,然后關(guān)閉,添加第4個適配器。

最后,引導虛擬機,那樣它能檢測到最后一個適配器,然后我們就能為各個網(wǎng)卡配置正確的IP模式。

  1. ifcfg-eth0 
  2.  
  3. DEVICE=eth0 
  4.  
  5. TYPE=Ethernet 
  6.  
  7. IPADDR=192.168.56.11 
  8.  
  9. PREFIX=24 
  10. ONBOOT=yes 
  11. NM_CONTROLLED=no 
  12. BOOTPROTO=none 
  13. IPV4_FAILURE_FATAL=yes 
  14. IPV6INIT=no 
  15. NAME=MGMT 
  16.  
  17. ifcfg-eth1 
  18. DEVICE=eth1 
  19. TYPE=Ethernet 
  20. IPADDR=10.0.2.11 
  21. GATEWAY=10.0.2.1 
  22. PREFIX=24 
  23. ONBOOT=yes 
  24. NM_CONTROLLED=no 
  25. BOOTPROTO=none 
  26. DEFROUTE=yes 
  27. PEERROUTES=yes 
  28. IPV4_FAILURE_FATAL=yes 
  29. IPV6INIT=no 
  30. NAME=NAT 
  31.  
  32. ifcfg-eth2 
  33. DEVICE=eth2 
  34. TYPE=Ethernet 
  35. IPADDR=172.30.0.11 
  36. PREFIX=24 
  37. ONBOOT=yes 
  38. NM_CONTROLLED=no 
  39. BOOTPROTO=none 
  40. IPV4_FAILURE_FATAL=yes 
  41. IPV6INIT=no 
  42. NAME=PUBLIC 
  43.  
  44. ifcfg-eth3 
  45. DEVICE=eth3 
  46. TYPE=Ethernet 
  47. BOOTPROTO=none 
  48. ONBOOT=yes 
  49. MTU=9000 
  50. VLAN=yes 
  51. USERCTL=no 
  52. MTU=9000 
  53.  
  54. ifcfg-eth3.100 
  55. DEVICE=eth3.100 
  56. TYPE=Ethernet 
  57. IPADDR=10.10.100.11 
  58. PREFIX=24 
  59. ONBOOT=yes 
  60. BOOTPROTO=none 
  61. NAME=PRI-STOR 
  62. VLAN=yes 
  63. USERCTL=no 
  64. MTU=9000 
  65.  
  66. ifcfg-eth3.101 
  67. DEVICE=eth3.101 
  68. TYPE=Ethernet 
  69. IPADDR=10.10.101.11 
  70. PREFIX=24 
  71. ONBOOT=yes 
  72. BOOTPROTO=none 
  73. NAME=SEC-STOR 
  74. VLAN=yes 
  75. USERCTL=no 
  76. MTU=9000 

重啟網(wǎng)絡讓新設(shè)置生效,然后打上所有最新的更新版。

  1. service networking restart 
  2. yum update -y 

#p#

安裝和配置

基本的虛擬機構(gòu)建好后,我們現(xiàn)在需要安裝Apache CloudStack及該虛擬機將托管運行的其他所有服務。首先我們要確保虛擬機配置正確。

Selinux

Selinux需要設(shè)置成“permissive”(寬容模式),為此我們可以通過運行下面兩個命令來實現(xiàn):

  1. setenforce permissive 
  2.  
  3. sed -i “/SELINUX=enforcing/ c\SELINUX=permissive” /etc/selinux/config 

主機名稱

你在運行hostname –fqdn后,CloudStack管理服務器應該會返回FQDN(完全符合標準的域名),但由于我們沒有安裝一個正常運行的DNS,可能會返回“未知主機”。為了解決這個問題,我們只要在Hosts文件里面添加一項;我們在Hosts文件里面時,最好也為xenserver添加一項。用下面命令更新/etc/hosts,然后重啟讓其生效。

  1. 127.0.0.1 localhost localhost.cstack.local 
  2.  
  3. 192.168.56.11 csman.cstack.local csman 
  4.  
  5. 192.168.56.101 xenserver.cstack.local xenserver 

為SSH連接提速

由于你想使用SSH連接到CloudStack虛擬機,有必要關(guān)閉DNS檢查,以便為連接提速。運行下列命令:

  1. sed -i “/#UseDNS yes/ c\UseDNS no” /etc/ssh/sshd_config 
  2.  
  3. service sshd restart 

NTP

  1. sed -i “/#UseDNS yes/ c\UseDNS no” /etc/ssh/sshd_config 
  2.  
  3. service sshd restart 

安裝NTP總是個好主意,所以不妨現(xiàn)在添加NTP,并將它設(shè)成引導時啟動(你總是可以配置該虛擬機,為XenServer充當NTP服務器,但這不在本文探討范圍之內(nèi))。

  1. yum install -y ntp# chkconfig ntpd on# service ntpd start 

CloudStack軟件庫

運行下面這個命令,安裝CloudStack軟件庫:

  1. echo “[cloudstack] 
  2. name=cloudstack 
  3. baseurl=http://packages.shapeblue.com/cloudstack/main/centos/4.4 
  4. enabled=1 
  5. gpgcheck=1″ > /etc/yum.repos.d/cloudstack.repo 

導入ShapeBlue gpg版本密鑰:(密鑰ID 584DF93F,密鑰指紋= 7203 0CA1 18C1 A275 68B1 37C4 BDF0 E176 584D F93F)

  1. yum install wget -y 
  2. wget http://packages.shapeblue.com/release.asc 
  3. sudo rpm –import release.asc 

安裝CloudStack和MySQL

現(xiàn)在我們可以安裝CloudStack和MySQL Server了:

  1. yum install -y cloudstack-management mysql-server 

安裝NFS服務器

由于CSMAN虛擬機還將充當NFS服務器,我們需要設(shè)置NFS環(huán)境。運行下列命令,即可為主存儲和輔助存儲創(chuàng)建文件夾,然后將它們導出到合適的IP地址范圍。

  1. mkdir /exports 
  2. mkdir -p /exports/primary 
  3. mkdir -p /exports/secondary 
  4. chmod 777 -R /exports 
  5. echo “/exports/primary 10.10.100.0/24(rw,async,no_root_squash)” > /etc/exports 
  6. echo “/exports/secondary 10.10.101.0/24(rw,async,no_root_squash)” >> /etc/exports 
  7. exportfs -a 

我們現(xiàn)在需要用設(shè)置來更新/etc/sysconfig/nfs,以便激活NFS服務器。運行下面這個命令,更新所需的設(shè)置

  1. sed -i -e ‘/#MOUNTD_NFS_V3=”no”/ c\MOUNTD_NFS_V3=”yes”‘ -e ‘/#RQUOTAD_PORT=875/ c\RQUOTAD_PORT=875′ -e ‘/#LOCKD_TCPPORT=32803/ c\LOCKD_TCPPORT=32803′ -e ‘/#LOCKD_UDPPORT=32769/ c\LOCKD_UDPPORT=32769′ -e ‘/#MOUNTD_PORT=892/ c\MOUNTD_PORT=892′ -e ‘/#STATD_PORT=662/ c\STATD_PORT=662′ -e ‘/#STATD_OUTGOING_PORT=2020/ c\STATD_OUTGOING_PORT=2020′ /etc/sysconfig/nfs 

我們還需要更新防火墻設(shè)置,讓XenServer可以訪問導出的NFS,所以運行下列命令,配置所需的設(shè)置:

  1. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 111 -j ACCEPT” /etc/sysconfig/iptables 
  2. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 111 -j ACCEPT” /etc/sysconfig/iptables 
  3. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 2049 -j ACCEPT” /etc/sysconfig/iptables 
  4. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 2049 -j ACCEPT” /etc/sysconfig/iptables 
  5. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 2020 -j ACCEPT” /etc/sysconfig/iptables 
  6. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 32803 -j ACCEPT” /etc/sysconfig/iptables 
  7. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 32769 -j ACCEPT” /etc/sysconfig/iptables 
  8. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 892 -j ACCEPT” /etc/sysconfig/iptables 
  9. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 892 -j ACCEPT” /etc/sysconfig/iptables 
  10. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 875 -j ACCEPT” /etc/sysconfig/iptables 
  11. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 875 -j ACCEPT” /etc/sysconfig/iptables 
  12. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 662 -j ACCEPT” /etc/sysconfig/iptables 
  13. sed -i -e “/:OUTPUT/ a\-A INPUT -p udp -m udp –dport 662 -j ACCEPT” /etc/sysconfig/iptables 
  14. service iptables restart 

然后,我們將nfs服務設(shè)成引導時自動啟動,還可以立即啟動它

  1. chkconfig nfs on 
  2. service nfs start 

安裝MySQL Server

  1. sed -i -e ‘/datadir/ a\innodb_rollback_on_timeout=1′ -e ‘/datadir/ a\innodb_lock_wait_timeout=600′ -e ‘/datadir/ a\max_connections=350′ -e ‘/datadir/ a\log-bin=mysql-bin’ -e “/datadir/ a\binlog-format = ‘ROW’” -e “/datadir/ a\bind-address = 0.0.0.0″ /etc/my.cnf 

然后,我們將mysqld服務設(shè)成引導時自動啟動,還可以立即啟動它

  1. chkconfig mysqld on 
  2. service mysqld start 

確保默認安裝的MySQL安全,這始終是個好主意;有一款使用方便的實用工具可以為你確保其安全。運行下面這個命令,看到提示時設(shè)置一個新的密碼(當前密碼將是空的),接受刪除匿名用戶、測試數(shù)據(jù)庫和禁用遠程訪問等的所有默認值。

  1. mysql_secure_installation 

現(xiàn)在我們將登錄進入到MySQL,為根帳戶賦予所有權(quán)限,這么做是為了可以在下一步中創(chuàng)建“cloud”帳戶。

  1. mysql -u root -p (enter password when prompted) 
  2. mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ WITH GRANT OPTION; 
  3. mysql> quit 

安裝數(shù)據(jù)庫

MySQL配置完畢后,我們現(xiàn)在可以安裝CloudStack數(shù)據(jù)庫了,只要運行下面兩個命令,代替你之前設(shè)置的根密碼。

  1. cloudstack-setup-databases cloud:cloud@127.0.0.1 –deploy-as=root:<password> 
  2. cloudstack-setup-management 

Nginx

有一個默認的示例模板從cloud.com網(wǎng)站服務器下載;但由于這個測試系統(tǒng)無法實際訪問公共互聯(lián)網(wǎng),我們需要為輔助存儲虛擬機下載該模板提供一個辦法。為此,我們將NGINX安裝在CSMAN虛擬機上,并使用它托管運行我們模擬的“公共”網(wǎng)絡上的模板。

首先創(chuàng)建NGINX軟件庫,為此運行下面這個命令:

  1. echo “[nginx] 
  2. name=nginx repo 
  3. baseurl=http://nginx.org/packages/centos/\$releasever/\$basearch/ 
  4. gpgcheck=0 
  5. enabled=1″ > /etc/yum.repos.d/nginx.repo 

然后安裝NGINX,為此運行下面這個命令:

  1. yum install nginx -y  

現(xiàn)在,我們運行下面兩個命令,下載XenServer的示例CentOS模板:

  1. cd /usr/share/nginx/html 
  2. wget -nc http://download.cloud.com/templates/builtin/centos56-x86_64.vhd.bz2 

我們需要添加防火墻規(guī)則,允許通過端口80來訪問,所以運行下面兩個命令:

  1. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT” /etc/sysconfig/iptables 
  2. service iptables restart 

最后,我們啟動nginx服務,通過從Host筆記本電腦訪問http://192.168.56.11/,對它進行測試

  1. service nginx start 

XenServer vhd-util

由于我們要使用思杰XenServer作為虛擬機管理程序,我們需要下載一個特殊的實用工具,每個XenServer添加到系統(tǒng)上后,該實用工具將拷貝到每個XenServer。運行下面幾行,即可下載文件、更新許可權(quán)限。

  1. cd /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/ 
  2. wget http://download.cloud.com.s3.amazonaws.com/tools/vhd-util 
  3. chmod 755 /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util 

#p#

創(chuàng)建CloudStack默認系統(tǒng)虛擬機模板

由于現(xiàn)在我們需要為輔助存儲創(chuàng)建XenServer系統(tǒng)虛擬機模板,于是運行下面這個命令:

  1. /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /exports/secondary -u http://packages.shapeblue.com/systemvmtemplate/4.4/4.4.1/systemvm64template-4.4.1-7-xen.vhd.bz2 -h xenserver -F 

CloudStack Usage Server

一個可選的步驟是安裝CloudStack Usage Service,為此運行下面這個命令:

  1. yum install cloudstack-usage -y 
  2. service cloudstack-usage start 

定制配置

為了讓這個測試系統(tǒng)能夠在4GB內(nèi)存的筆記本電腦上有限的可用資源里面工作,我們需要對配置做多處改動。

首先,我們需要啟用使用支持非HVM(完全虛擬化)的XenServer。你將XenServer安裝到VirtualBox上時,它會提醒它只支持PV(半虛擬化),而不支持HVM。為了解決這個問題,我們運行下列SQL更新命令,為云數(shù)據(jù)庫中的配置表添加新的一行(記得你在安裝CloudStack數(shù)據(jù)庫時,代替你所使用的自己的MySQL Cloud密碼)。

  1. mysql -p<password> cloud -e \ “INSERT INTO cloud.configuration (category, instance, component, name, value, description) VALUES (‘Advanced’, ‘DEFAULT’, ‘management-server’, ‘xen.check.hvm’, ‘false’, ‘Shoud we allow only the XenServers support HVM’);” 

下列MySQL命令更新各種全局設(shè)置,并更改分配給系統(tǒng)虛擬機的資源,那樣它們可以在有限的可用資源里面工作。

  1. mysql -u cloud -p<password> 
  2. UPDATE cloud.configuration SET value=’8096′ WHERE name=’integration.api.port’; 
  3. UPDATE cloud.configuration SET value=’60′ WHERE name=’expunge.delay’; 
  4. UPDATE cloud.configuration SET value=’60′ WHERE name=’expunge.interval’; 
  5. UPDATE cloud.configuration SET value=’60′ WHERE name=’account.cleanup.interval’; 
  6. UPDATE cloud.configuration SET value=’60′ WHERE name=’capacity.skipcounting.hours’; 
  7. UPDATE cloud.configuration SET value=’0.99′ WHERE name=’cluster.cpu.allocated.capacity.disablethreshold’; 
  8. UPDATE cloud.configuration SET value=’0.99′ WHERE name=’cluster.memory.allocated.capacity.disablethreshold’; 
  9. UPDATE cloud.configuration SET value=’0.99′ WHERE name=’pool.storage.capacity.disablethreshold’; 
  10. UPDATE cloud.configuration SET value=’0.99′ WHERE name=’pool.storage.allocated.capacity.disablethreshold’; 
  11. UPDATE cloud.configuration SET value=’60000′ WHERE name=’capacity.check.period’; 
  12. UPDATE cloud.configuration SET value=’1′ WHERE name=’event.purge.delay’; 
  13. UPDATE cloud.configuration SET value=’60′ WHERE name=’network.gc.interval’; 
  14. UPDATE cloud.configuration SET value=’60′ WHERE name=’network.gc.wait’; 
  15. UPDATE cloud.configuration SET value=’600′ WHERE name=’vm.op.cleanup.interval’; 
  16. UPDATE cloud.configuration SET value=’60′ WHERE name=’vm.op.cleanup.wait’; 
  17. UPDATE cloud.configuration SET value=’600′ WHERE name=’vm.tranisition.wait.interval’; 
  18. UPDATE cloud.configuration SET value=’60′ WHERE name=’vpc.cleanup.interval’; 
  19. UPDATE cloud.configuration SET value=’4′ WHERE name=’cpu.overprovisioning.factor’; 
  20. UPDATE cloud.configuration SET value=’8′ WHERE name=’storage.overprovisioning.factor’; 
  21. UPDATE cloud.configuration SET value=’192.168.56.11/32′ WHERE name=’secstorage.allowed.internal.sites’; 
  22. UPDATE cloud.configuration SET value=’192.168.56.0/24′ WHERE name=’management.network.cidr’; 
  23. UPDATE cloud.configuration SET value=’192.168.56.11′ WHERE name=’host’; 
  24. UPDATE cloud.configuration SET value=’false’ WHERE name=’check.pod.cidrs’; 
  25. UPDATE cloud.configuration SET value=’0′ WHERE name=’network.throttling.rate’; 
  26. UPDATE cloud.configuration SET value=’0′ WHERE name=’vm.network.throttling.rate’; 
  27. UPDATE cloud.configuration SET value=’GMT’ WHERE name=’usage.execution.timezone’; 
  28. UPDATE cloud.configuration SET value=’16:00′ WHERE name=’usage.stats.job.exec.time’; 
  29. UPDATE cloud.configuration SET value=’true’ WHERE name=’enable.dynamic.scale.vm’; 
  30. UPDATE cloud.configuration SET value=’9000′ WHERE name=’secstorage.vm.mtu.size’; 
  31. UPDATE cloud.configuration SET value=’60′ WHERE name=’alert.wait’; 
  32. UPDATE cloud.service_offering SET ram_size=’128′, speed=’128′ WHERE vm_type=’domainrouter’; 
  33. UPDATE cloud.service_offering SET ram_size=’128′, speed=’128′ WHERE vm_type=’elasticloadbalancervm’; 
  34. UPDATE cloud.service_offering SET ram_size=’128′, speed=’128′ WHERE vm_type=’secondarystoragevm’; 
  35. UPDATE cloud.service_offering SET ram_size=’128′, speed=’128′ WHERE vm_type=’internalloadbalancervm’; 
  36. UPDATE cloud.service_offering SET ram_size=’128′, speed=’128′ WHERE vm_type=’consoleproxy’; 
  37. UPDATE cloud.vm_template SET removed=now() WHERE id=’2′; 
  38. UPDATE cloud.vm_template SET url=’http://192.168.56.11/centos56-x86_64.vhd.bz2′ WHERE unique_name=’centos56-x86_64-xen’; 
  39. quit 

service cloudstack-management restart

為了能夠通過默認端口8096訪問我們啟用的Un-Authenticated API,我們需要添加一條防火墻規(guī)則。運行下列命令,允許通過防火墻訪問端口8096:

  1. sed -i -e “/:OUTPUT/ a\-A INPUT -p tcp -m tcp –dport 8096 -j ACCEPT” /etc/sysconfig/iptables 
  2. service iptables restart 

測試用戶界面

給一兩分鐘的時間,好讓cloudstack-management服務完全重啟,然后登錄到用戶界面(UI),應該可以通過http://192.168.56.11:8080/client/,從Host筆記本電腦來訪問該UI:

默認的登錄信息如下:

  • 用戶名:admin
  • 密碼:password
  • 域:<空>

[[126347]]

創(chuàng)建計算方案

默認的Compute Offering(計算方案)并不適合這個有限的環(huán)境,于是我們需要使用下列設(shè)置,創(chuàng)建一個新的計算方案:

  • 名稱:超小(Ultra Tiny)
  • 描述:超小– 1vCPU和128MB內(nèi)存
  • 存儲類型:共享式
  • 自定義:無
  • 處理器核心數(shù)量:1
  • 處理器(MHz):500
  • 內(nèi)存(MB):128
  • 網(wǎng)絡速率(Mb/s):無
  • 服務質(zhì)量類型:無
  • 提供高可用性:有
  • 存儲標記:無
  • 主機標記:無
  • 處理器上限:無
  • 公共:是
  • 易失性:無
  • 部署規(guī)劃器:無
  • GPU:無

減少內(nèi)存數(shù)量

成功登錄到UI后,數(shù)據(jù)庫會完全部署,所以現(xiàn)在我們可以將內(nèi)存減少到1GB,為我們的XenServer釋放內(nèi)存。關(guān)閉虛擬機,將設(shè)置改成1024 MB內(nèi)存。

#p#

XenServer虛擬機

想配置XenServer,如果你在運行Windows,就需要XenCenter在本地主機上運行;但如果你的主機在運行OS X或Linux,那么你就要添加一個能運行XenCenter的Windows虛擬機。你可以從http://downloadns.citrix.com.edgesuite.net/akdlm/8160/XenServer-6.2.0-XenCenter.msi下載XenCenter。

使用下列設(shè)置,為XenServer創(chuàng)建一個虛擬機:

  • 名稱:XenServer
  • 類型:Linux
  • 版本:Red Hat(64位)
  • 虛擬處理器:2
  • 內(nèi)存:1536(如果你的主機有8GB內(nèi)存,可以考慮分配3072MB)
  • 硬盤:VDI – 動態(tài)– 24 GB

注意:如果你同時添加所有網(wǎng)絡,VirtualBox似乎會將它們混同起來,于是我們添加第1個網(wǎng)絡,并安裝XenServer,然后一旦完全安裝完畢,我們添加額外的網(wǎng)絡,但在這當中會出現(xiàn)重啟。這似乎是最新版本VirtualBox(截至本文截稿時為4.3.18)的一個bug。

改動設(shè)置,為第1個網(wǎng)絡適配器分配正確的網(wǎng)絡,如下所示:

請注意:我們已將“Promiscuous Mode”(混雜模式)設(shè)成“Allow All”(允許所有)。

現(xiàn)在安裝XenServer 6.2,為此從http://downloadns.citrix.com.edgesuite.net/akdlm/8159/XenServer-6.2.0-install-cd.iso下載ISO文件,引導虛擬機。

XenServer安裝向?qū)Ш唵沃庇^,不過你會看到警告信息,表明缺少硬件虛擬化的支持,這在意料之中,因為VirtualBox不支持該功能。接受警告,繼續(xù)下一步。

選擇合適的區(qū)域設(shè)置,看到提示時輸入下列詳細信息(我們?yōu)镈NS和NTP輸入CSMAN虛擬機的IP;雖然本文并不探討在CSMAN虛擬機上構(gòu)建這些服務,但這為你提供了之后可以這么做的選項):

  • 啟用自動精簡配置:是
  • 安裝源:本地介質(zhì)
  • 補充包:無
  • 驗證:略過
  • 密碼:<password>
  • 靜態(tài)IP:192.168.56.101/24(無需網(wǎng)關(guān))
  • 主機名稱:xenserver
  • DNS:192.168.56.11
  • NTP:192.168.56.11

一旦XenServer安裝完畢,卸載ISO,重啟虛擬機。

我們現(xiàn)在需要將分配給Dom0的內(nèi)存數(shù)量改成最少推薦數(shù)量(400MB),為此只要在XenServer控制臺上運行下面這個命令:

  1. /opt/xensource/libexec/xen-cmdline –set-xen dom0_mem=400M,max:400M  

XenServer補丁

安裝XenServer補丁很重要,雖然XenCenter會告知你需要什么補丁,但由于我們使用OpenSource版本的XenServer,所以我們必須通過命令行來安裝補丁。幸好,有好多辦法可以讓這個過程實現(xiàn)自動化。

我個人總是使用PXE來部署XenServer,而補丁的安裝環(huán)節(jié)內(nèi)置在我的部署過程中。不過,這不在本文探討范圍之內(nèi),但是Tim Mackey已寫了一篇出色的博文,介紹如何做到這一點,詳見http://xenserver.org/discuss-virtualization/virtualization-blog/entry/patching-xenserver-at-scale.html。

雖然Tim的方法:每個補丁安裝后重啟是最佳實踐,但安裝所有補丁要花很長的時間,所以我在這些非生產(chǎn)測試環(huán)境中使用的另一種方法在https://github.com/amesserl/xs_patcher作了詳細介紹。這個方法可安裝所有補丁,只需要重啟一次。

配置文件“clearwater”現(xiàn)在有點過時了,應該含有下列內(nèi)容(而緩存文件夾應該含有相關(guān)的補丁文件):

  1. XS62E014|78251ea4-e4e7-4d72-85bd-b22bc137e20b|downloadns.citrix.com.edgesuite.net/8736/XS62E014.zip|support.citrix.com/article/CTX140052
  2. XS62ESP1|0850b186-4d47-11e3-a720-001b2151a503|downloadns.citrix.com.edgesuite.net/8707/XS62ESP1.zip|support.citrix.com/article/CTX139788
  3. XS62ESP1003|c208dc56-36c2-4e91-b8d7-0246575b1828|downloadns.citrix.com.edgesuite.net/9031/XS62ESP1003.zip|support.citrix.com/article/CTX140416
  4. XS62ESP1005|1c952800-c030-481c-a0c1-d1b45aa19fcc|downloadns.citrix.com.edgesuite.net/9058/XS62ESP1005.zip|support.citrix.com/article/CTX140553
  5. XS62ESP1009|a24d94e1-326b-4eaa-8611-548a1b5f8bd5|downloadns.citrix.com.edgesuite.net/9617/XS62ESP1009.zip|support.citrix.com/article/CTX141191
  6. XS62ESP1013|b22d6335-823d-43a6-ba26-28793717125b|downloadns.citrix.com.edgesuite.net/9703/XS62ESP1013.zip|support.citrix.com/article/CTX141480
  7. XS62ESP1014|4fc82e62-b938-407d-a2c6-68c8922f3ec2|downloadns.citrix.com.edgesuite.net/9708/XS62ESP1014.zip|support.citrix.com/article/CTX141486

一旦你給XenServer全面打上了補丁,關(guān)閉它,然后添加第2個適配器,再次要注意我們?nèi)绾螌?ldquo;混雜模式”設(shè)成“允許所有”。

啟動虛擬機,然后使用XenCenter,對網(wǎng)卡執(zhí)行“重新掃描”,以檢測到這個新網(wǎng)卡,然后關(guān)閉,添加第3個適配器,再次要注意我們?nèi)绾螌?ldquo;混雜模式”設(shè)成“允許所有”。

啟動虛擬機,然后使用XenCenter,對網(wǎng)卡執(zhí)行“重新掃描”,以檢測到這個新網(wǎng)卡,然后關(guān)閉,添加第4個適配器,再次要注意我們?nèi)绾螌?ldquo;混雜模式”設(shè)成“允許所有”。

啟動虛擬機,然后使用XenCenter,對網(wǎng)卡執(zhí)行“重新掃描”,以檢測到最后這個網(wǎng)卡,然后最后一次重啟,確保它們都已被激活和連接。

#p#

配置XenServer網(wǎng)絡

現(xiàn)在我們準備配置XenServer網(wǎng)絡。我們應該已有下列四個網(wǎng)絡,有必要確保MAC與VirtualBox中的適配器相對應。

我們需要使用一種更合乎邏輯的命名約定,為網(wǎng)絡改名,還要創(chuàng)建兩個存儲網(wǎng)絡,并分配VLAN,等等。

首先改名,將存儲網(wǎng)絡的最大傳輸單元(MTU)設(shè)成9000(其余的仍然是默認的1500)。

  • Network 0 – MGMT
  • Network 1 – GUEST
  • Network 2 – PUBLIC
  • Network 3 – STORAGE (MTU為9000)

下一步,我們使用下列設(shè)置,添加主存儲網(wǎng)絡:

  • 類型:外部網(wǎng)絡
  • 名稱:PRI-STORAGE
  • 網(wǎng)卡:NIC 3
  • VLAN:100
  • MTU:9000
  • 然后,添加輔助存儲網(wǎng)絡:
  • 類型:外部網(wǎng)絡
  • 名稱:SEC-STORAGE
  • 網(wǎng)卡:NIC 3
  • VLAN:101
  • MTU:9000

最后,我們?yōu)橹鞔鎯W(wǎng)絡和輔助存儲網(wǎng)絡添加IP地址,那樣XenServer就能訪問它們:

  • 名稱:PRI-STOR
  • 網(wǎng)絡:PRI-STORAGE
  • IP地址:10.10.100.101
  • 子網(wǎng)掩碼:255.255.255.0
  • 網(wǎng)關(guān):<空>
  • 名稱:SEC-STOR
  • 網(wǎng)絡:SEC-STORAGE
  • IP地址:10.10.101.101
  • 子網(wǎng)掩碼:55.255.255.0
  • 網(wǎng)關(guān):<空>

這是XenServer需要的所有配置,所以現(xiàn)在我們可以接著部署我們的第一個區(qū)域了。不過在我們著手之前,有必要創(chuàng)建兩個虛擬機的快照,那樣萬一需要,你可以恢復原狀,再次啟動。

部署區(qū)域

我們現(xiàn)在添加一個高級區(qū)域,為此進入到“Infrastructure/Zones/Add Zone”(基礎(chǔ)設(shè)施/區(qū)域/添加區(qū)域),創(chuàng)建一個類型為“高級”的新區(qū)域,沒有安全組。

  • 區(qū)域名稱– Test
  • IPv4 DNS1 – 8.8.8.8
  • 內(nèi)部DNS 1 – 192.168.56.11
  • 虛擬機管理程序– XenServer
  • 訪客CIDR – 10.1.1.0/24

下一步,我們需要設(shè)置XenServer流量標簽,以便與我們分配給XenServer上的每個網(wǎng)絡的名稱相一致,我們還要添加可選的存儲網(wǎng)絡,為此將它拖拉到物理網(wǎng)絡上。

編輯每一個流量類型,并設(shè)置下列標簽:

  • 管理網(wǎng)絡– MGMT
  • 公共網(wǎng)絡– PUBLIC
  • 訪客網(wǎng)絡– GUEST
  • 存儲網(wǎng)絡– SEC-STORAGE

然后使用下列設(shè)置,繼續(xù)按區(qū)域添加向?qū)У奶崾緛聿僮?/p>

  • 公共流量
  • 網(wǎng)關(guān)– 172.30.0.1
  • 網(wǎng)絡掩碼– 255.255.255.0
  • VLAN – <空>
  • 起始IP – 172.30.0.21
  • 終止IP -172.30.0.30
  • POD設(shè)置
  • POD名稱– POD1
  • 預留系統(tǒng)網(wǎng)關(guān)– 192.168.56.1
  • 預留系統(tǒng)網(wǎng)絡掩碼– 255.255.255.0
  • 起始預留系統(tǒng)IP – 192.168.56.21
  • 終止預留系統(tǒng)IP – 192.168.56.30
  • 訪客流量
  • VLAN范圍– 600 – 699
  • 存儲流量
  • 網(wǎng)關(guān)– 10.10.101.1
  • 網(wǎng)絡掩碼– 255.255.255.0
  • VLAN – <空>
  • 起始IP – 10.10.101.21
  • 終止IP – 10.10.101.30
  • 集群設(shè)置
  • 虛擬機管理程序– XenServer
  • 集群名稱– CLU1
  • 主機設(shè)置
  • 主機名稱– 192.168.56.101
  • 用戶名– root
  • 密碼– <password>
  • 主存儲設(shè)置
  • 名稱– PRI1
  • 范圍– Cluster
  • 服務器– 10.10.100.11
  • 路徑– /exports/primary
  • 輔助存儲設(shè)置
  • 提供者– NFS
  • 名稱– SEC1
  • 服務器– 10.10.101.11
  • 路徑– /exports/secondary

最后,激活區(qū)域,然后給大約5分鐘的時間,好讓系統(tǒng)虛擬機部署、默認的CentOS模板“下載”到系統(tǒng)中?,F(xiàn)在你可以準備部署第一個訪客虛擬機了。

英文原文鏈接:http://shapeblue.com/cloudstack/virtualbox-test-env/
 

責任編輯:Ophira 來源: 51CTO
相關(guān)推薦

2009-06-01 08:43:49

PalmWebOS移動OS

2010-03-05 17:24:04

Android智能系統(tǒng)

2020-04-21 17:02:59

區(qū)塊鏈物聯(lián)網(wǎng)IOT

2024-10-25 09:48:34

2022-05-13 15:11:24

區(qū)塊鏈去中心化dapp

2009-08-18 10:48:33

2021-06-09 11:43:19

易企信數(shù)據(jù)AI

2015-01-22 09:06:31

Docker云計算云應用

2020-01-06 11:50:25

LinuxEquinox桌面

2022-09-22 14:26:22

物聯(lián)網(wǎng)安全勒索軟件

2010-06-18 16:51:01

Exchange 20

2022-05-24 15:09:48

Windows 11Windows 10微軟

2009-05-20 14:43:38

ibmdwEasyMock測試

2011-04-28 17:19:59

多功能一體機

2022-11-13 19:43:37

Linux

2012-10-29 13:14:18

一體機

2021-04-25 18:09:53

Fedora 35編譯器開發(fā)

2023-06-12 16:11:26

ChatGPTOpenAI

2021-04-20 10:15:05

微軟Visual Stud2022 預覽版

2020-08-31 09:01:16

GlancesLinux系統(tǒng)監(jiān)控工具
點贊
收藏

51CTO技術(shù)棧公眾號