本文简单介绍CloudStack +XenServer 部署过程. 供大家了解CloudStack的功能. 和理解CloudStack的架构设计.
方案设计计划满足2000 – 10000 VM需求规模,本文将根据设计文档创建100 – 200VM的测试环境,对设计方案的可行性进行检验和测试。
方案选用 XenServer 免费版作为Hypervisor管理程序,XenServer是商业化定位产品,稳定性和性能都有保证。另外,XenServer和CloudStack都是Citrix公司的产品,有比较全面的系统集成测试,兼容性和未来功能性发展都会有较好的保证。
硬件选型非常重要,选型不当可能导致项目失败。根据设计,项目初期计划采用机架式通用类型配置服务器,项目后期采用高密度刀片服务器。
方案参考架构:
分析及规划设计:
管理节点机柜规划
2台交换机
3台CSMaster
2台CSDB Server
1组二级存储
计算节点Rack01规划
2台交换机
10 – 14 台计算节点服务器
1组主存储
网络机柜规划及组成
2台核心交换机
1-2组Juniper
1-2组NetScaler
网络VLAN和IP规划
下面将根据设计文档开始CloudStack 的部署和功能测试。
CloudStack + XenServer 部署 – 交换机配置和服务器连线(2).
本文将根据设计文档, 对交换机进行配置和服务器网络连线方式进行说明.
Step1.交换机规划, 根据功能将交换机端口分为三个部分:
管理区域(交换机1 – 16 口): 用于XenServer和CloudStack的管理流量, 和VM 在主机间迁移产生的流量.
工作区域(交换机17 - 32 口): 用于VM之间访问和VM访问外部网络产生的网络流量.
存储区域(交换机33 – 48 口): 用于任何与存储交互数据流量.
Step2. 服务器连线.
根据设计服务器配置6块网卡, 其中网卡1, 3 ,5 分别连接到主交换机管理区域, 工作区域和存储区域. 网卡2, 4, 6 分别连接到备交换机管理区域, 工作区域和存储区域.
例如: 服务器XSR01S01网卡连线方式:
- 第1块网卡连接到R01SW01交换机1口.
- 第3块网卡连接到R01SW01交换机17口.
- 第5块网卡连接到R01SW01交换机33口.
- ———————————————-
- 第2块网卡连接到R01SW02交换机17口.
- 第4块网卡连接到R01SW02交换机17口.
- 第6块网卡连接到R01SW02交换机33口.
连线比较简单,没有专门去画图。网上找了一张释义图,仅供参考。
Step3. 交换机配置(Cisco 3750x)
- vlan 100
- name CSManagement
- exit
- vlan 101
- name Rack01Management
- exit
- vlan 102
- name Rack02Management
- exit
- vlan 91
- name publicVlan01
- exit
- vlan 92
- name publicVlan02
- exit
- vlan 91
- name publicVlan01
- exit
- vlan 92
- name publicVlan02
- exit
vlan接口配置 (在核心上配置)
- interface vlan 100
- ip address 172.16.100.1 255.255.255.0
- exit
- interface vlan 101
- ip address 172.16.101.1 255.255.255.0
- exit
- interface vlan 102
- ip address 172.16.102.1 255.255.255.0
- exit
- interface vlan 91
- ip address 111.111.101.1 255.255.255.0
- exit
- interface vlan 92
- ip address 111.111.101.1 255.255.255.0
- exit
R01SW01交换机管理区域端口vlan配置
- interface range gigabitEthernet 0/1 – 16
- description Rack01Management
- switchport mode access
- switchport access vlan 101
- exit
R01SW01交换机工作区域端口vlan配置
- interface range gigabitEthernet 0/17 – 32
- description Rack01Trunk
- switchport mode trunk
- switchport trunk encapsulation dot1q
- switchport trunk allowed vlan all (or switchport trunk allowed vlan add 301 – 500, switchport trunk allowed vlan add 91)
- exit
R01SW01交换机存储区域端口vlan配置
- interface range gigabitEthernet 0/33 – 48
- description Rack01Storage
- switchport mode access
- switchport access vlan 12
- exit
至此已完成交换机配置和服务器连线, 下一步将开始CloudStack管理节点安装和配置.
14 Responses to CloudStack + XenServer 部署 – 交换机配置和服务器连线(2).
CloudStack + XenServer 部署 – CloudStack管理节点的安装和配置(3).
本文将根据设计文档, 安装和配置CloudStack管理节点.
本文只对配置流程和结果进行举例说明, 具体 细节和配置操作请参考 CloudStack安装文档.
管理机柜规划:
Step1. 安装和配置MySQL数据库.
根据设计部署2台MySQL数据库服务器, 安装过程和配置过程请参考CloudStack管理文档.
辅DB 对主DB 采用Replication方式进行备份。
Step2. 安装和配置CloudStack Master管理节点.
根据设计采用双管理节点.
节点一配置:
- cd /tmp
- tar xzvf CloudStack-3.0.5.patch1-3.0.5-2-rhel6.2.tar.gz
- cd CloudStack-3.0.5.patch1-3.0.5-2-rhel6.2
- ./install.sh
- ->M
- cloud-setup-databases cloud:password@172.16.100.21 –deploy-as=root:P@ssw0rd
- cloud-setup-management
完成以上命令即完成CloudStack安装, 可以通过浏览器访问: 进行访问和管理.但在管理之前需要先完成Step3 准备好系统虚拟机模板.
节点二/节点三配置
- cd /tmp
- tar xzvf CloudStack-3.0.5.patch1-3.0.5-2-rhel6.2.tar.gz
- cd CloudStack-3.0.5.patch1-3.0.5-2-rhel6.2
- ./install.sh
- ->M
- cloud-setup-databases cloud:password@172.16.100.21
- cloud-setup-management
Step3. 准备系统虚拟机模板.
本文以将系统虚拟机模板提前下载好并解压后复制到二级存储的systemvm目录下, 文件名已修改为xenserver.vhd.
管理节点挂载上二级存储, 准备系统虚拟机模板:
- mkdir /SZS01
- mount -t nfs 192.168.0.11/NFS/SZS01 /SZS01
- /usr/lib64/cloud/agent/scripts/storage/secondary/cloud-install-sys-tmplt -m /SZS01 -f /SZS01/systemvm/xenserver.vhd -h xenserver –F
Step4. CloudStack 使用前配置准备.
登录
修改全局设置secstorage.allowed.internal.sites 为 172.16.100.0/24 即HTTP服务器所在网段CIDR.
根据需求修改其他全局配置.
修改完后重启Cloud-Management服务:
- service cloud-management restart
NetScaler的配置稍后将会补上。
至此已完成CloudStack管理节点的安装和配置准备, 下面将准备XenServer群集的安装和配置.
CloudStack + XenServer 部署 – XenServer集群的安装和配置(4).
本文将根据设计文档, 介绍Rack01机柜计算节点XenServer安装和配置的部署过程.
因非CloudStack内部功能, 本文只对XenServer配置流程和结果进行举例说明,具体 细节和配置请自行参考XenServer的手册和文档.
机柜规划:
Step1. XenServer安装.
安装过程略.
根据设计文档, 安装和配置好三台XenServer服务器.
Step2. 导入XenServer许可( 注, 1台XenServer 不需要导许可, XCP不需要导许可 )
CloudStack使用XenServer免费版即可, 收费版的部分功能已由CloudStack实现, 其余收费版的特性和功能, CloudStack目前暂不支持. 如需使用如内存快照等收费版功能, 可以对CloudStack进行二次开发实现。
Step3. 创建XenServer集群.
创建XenServer集群: XSR01
创建集群前:
创建集群后:
Step4. XenServer 网卡绑定(可选, 用于实现XenServer架构的高可靠性).
跨网卡, 进行两两绑定.
绑定前:
XenServer 网卡绑定
绑定后:
Step5. 配置XenServer Network label, 即CloudStack高级网络配置中的流量标签( 注. 此步对于实施CloudStack高级网络非常重要, 用于CloudStack区别不同的物理网卡).
1) 修改Bond 0 + 3 为Management, 用于负载CloudStack的管理和VM 的迁移流量。
2) 修改 Bond 1 + 4 为Trunk, 用于负载CloudStack的Public 网络和Guest网络访问的流量。
3) 修改Bond 2 + 5为Storage, 用于负载CloudStack的主存储和二级存储网络的数据访问流量。
Step6. 为存储网络设置专用网卡.
此设置可以指定专用网卡,供XenServer访问主存储NFS。
配置后确认
至此XenServer群集已经准备就绪。接下来可以开始CloudStack高级网络的创建和配置。
17 Responses to CloudStack + XenServer 部署 – XenServer集群的安装和配置(4).
-
写得很简单啊,能不能再详细说明怎么绑定的?
-
Why does this have to be the ONLY reliable suocre? Oh well, gj!
-
This is a most useufl contribution to the debate
-
-
写的不够详细,能不能在把怎么绑定详细说下呢?
-
Perfect answer! That relaly gets to the heart of it!
-
A perfect reply! Thanks for taking the trobule.
-
CloudStack + XenServer 部署 – 创建高级网络资源域(5)
本文将根据设计文档结合和之前创建的XenServer 资源池, 介绍CloudStack高级网络资源域的创建过程。
Step1. 选择高级网络模式, 单击下一步.
Step2. 配置域信息.
域名称: shenzone
DNS: 10.1.1.11
Hypervisor 类型: XenServer
网络域: shenzone.com
来宾网络CIDR: 192.168.100.0/24
公共: 是
注: 此处可以设置是否使用本地存储作为主存储
Step3. 网络配置.
根据设计托动相应图标到, 对应的物理网络.
物理网络1: 管理网络.
物理网络2: 公共网络, 来宾网络.
物理网络3: 存储网络.
并根据设计, 设置逻辑网络对应前文创建好的XenServer资源池网络的流量标签.
管理网络: Management
公共网络/来宾网络: Trunk
存储网络: Storage
Step4. 设置公共网络.
如果是公有云, 这里设置ISP提供的外网IP地址.
如果是企业私有云, 这里设置可路由的内网IP地址或外网IP地址.
Vlan91 IP:111.111.101.0/24
Vlan92 IP:111.111.102.0/24
Step5. 设置管理网络
根据设计, 对Rack01进行配置.
Pod 名称: Rack01.
预留网关: 172.16.101.1
预留子网掩码: 255.255.255.0
预留起始IP: 172.16.101.151
预留结束IP: 172.16.101.200
备注:
172.16.101.10 – 172.16.101.150 100个地址 预留给XenServer 服务器管理网.
172.16.101.151 – 172.16.101.200 50个地址预留给SystemVM 虚拟机.
Step6. 来宾网络设置.
根据设计和交换机上vlan配置.
此处设置vlan 301 -500.
Step7. 存储网络配置.
根据设计Rack01 的存储网络为
Vlan ID: 12
IP: 10.1.2.11.
交换机上已配置XenServer 连接端口为access vlan 12 ,所以此处不用设置vlan id。
备注:
10.1.2.10 – 10.1.2.150, 100+IP 预留给存储和XenServer的存储网络IP
10.1.2.151 – 10.1.2.200 50个IP预留给SSVM虚拟机(注: 一般情况只会使用1个ip地址).
Step8. 配置XenServer 群集.
根据设计文档, 填写XSR01C01. 单击下一步继续.
Step9. 添加XenServer群集到CloudStack.
根据设计文档, 填写Rack01 Cluster01的XenServer群集配置信息.
主机名称: 172.16.101.101
用户名: Root
密码 :
Step10. 主存储设置.
根据设计文档, 填写Rack01 Cluster01 主存储01配置.
名称: R01C01P01
协议: NFS
服务器地址: 10.1.2.11
路径:/NFS/R01C01P01
Step11 配置二级存储.
根据设计文档, 配置shenzone资源域的二级存储.
NFS 服务器: 192.168.0.11
路径: /NFS/SZS01
Step12. 执行配置.
经过以上步骤,已经完成CloudStack + XenServer 高级网络的安装和配置。
受文档长度限制, 这里简单检查确认配置成功.
step1. 检查主机添加是否正确.
step2. 5分钟后,检查系统虚拟机是否自动创建及运行.
step3. 再过5分钟后,检查默认CentOS模板是否正确下载及安装.
经上述确认,全部正常后。可以继续ISO镜像上传,VM 创建,模板制作等后续操作和配置。
18 Responses to CloudStack + XenServer 部署 – 创建高级网络资源域(5)
-
當初在設定進階網路的時候也是卡了很久,然後砍掉重練好幾次
感謝這篇分享-
At last! Soeomne who understands! Thanks for posting!
-
Normally I’m against killing but this article slaughtered my ignoracne.
-
-
All of my questions settled-thnaks!
-
I’m not easily impressed but you’ve done it with that positng.
-
我在为什么核心交换机上没有二级存储 192.168.0.0/24的vlan信息呢?
这样的话CS如何能从vlan100 访问到192.168.0.11的地址呢?
还有一点,HOST需要和二级存储通信吗?
CloudStack + XenServer 部署 – 使用模板创建VM(6)
接下来的文章涉及的操作都很简单,主要为了弥补官方文档所没有的图示。让想了解CloudStack的朋友对CloudStack的功能和操作过程有个大概的认识。
用CloudStack自带CentOS模板创建虚拟机过程:
Step1. 添加虚拟机实例.
因为使用CloudStack自带已创建好的模板,所以这里我们选择模板。
Step2. 选择虚拟机模板.
选择CloudStack自带CentOS 5.6(64-bit) no GUI虚拟机模板.
Step3. 选择计算服务类型
Step4. 选择数据磁盘大小.
虚拟机磁盘分为系统盘也称为根磁盘和数据盘, 使用模板创建的虚拟机会自带系统盘. 这里选择的是数据磁盘大小, 可以不选或自定义磁盘大小. 这里添加一块31GB额外的数据磁盘.
Step5. 选择虚拟机网络
每个虚拟机网络都是一个独立的vlan, 网络/vlan之间相互隔离。每个虚拟网络都会有一个虚拟路由器和多个公共网络IP地址, 虚拟路由器可以做网段内虚拟机做防火墙规则, 端口映射规则, 和负载均衡规则. (关于高级网络的详细操作, 后面会有详细的介绍文章. )
这里我们可以选择多个网络, 这样的虚拟机将会配置多块网卡连接到相应网络.
Step6. 确定虚拟机名称
注: 对于linux虚拟机,此处设置的名称可自动应用为虚拟机系统的主机名.
首次使用模板创建虚拟机CloudStack会将此系统模板从二级存储复制到主存储, 需要等3 – 5分钟让CloudStack完成首次复制. 之后我们再使用此模板创建虚拟机将只会在主存储上复制不用再经过二级存储, 所以再次创建虚拟机将只需要5 – 10秒即可完成.
虚拟机创建好后, 我们可以选中查看虚拟机的详细信息. 可以对虚拟机进行关闭/重启/销毁/添加和移出ISO镜像/更改密码/更改计算服务/实时迁移到其他主机/查看控制台/启动/修改/添加和移出数据卷操作, 如下如红框中所示.
选择查看控制台对虚拟机进行管理和配置.
使用CloudStack自带的系统模板, 创建虚拟机就如上所示.
下面我们介绍如何使用ISO镜像安装系统. 并将定制好的系统转换成模板.
5 Responses to CloudStack + XenServer 部署 – 使用模板创建VM(6)
-
話說那個template cache 我也是後來才知道有這個feature的
-
This was so heuplfl and easy! Do you have any articles on rehab?
-
Hats off to whoever wrote this up and ptsoed it.
-
-
Many many qautily points there.
-
We could’ve done with that inhisgt early on.
CloudStack + XenServer 部署 – 使用ISO创建VM和制作模板(7).
本文介绍如何使用ISO方式创建虚拟机和制作自己的虚拟机系统模板。
Step1. 上传系统ISO镜像.
填写镜像名称和Http服务器上的系统ISO镜像地址.
查看镜像上传进度.
检查确认镜像已经下载完毕, 并且已经就绪.
Step2. 选择使用ISO创建虚拟机实例.
Step3. 选择系统镜像
Step4. 选择计算服务类型
Step5. 选择系统磁盘大小.
注意:使用ISO创建虚拟机,这里设置的是系统磁盘/根磁盘的空间大小.
可选择系统提供的标准类型或自定义磁盘大小.
Step6. 选择虚拟机网络
每个虚拟机网络都是一个独立的vlan, 网络/vlan之间相互隔离。每个虚拟网络都会有一个虚拟路由器和多个公共网络IP地址, 虚拟路由器可以做网段内虚拟机做防火墙规则, 端口映射规则, 和负载均衡规则. (关于高级网络的详细操作, 后面会有详细的介绍文章. )
这里我们可以选择多个网络, 这样的虚拟机将会配置多块网卡连接到相应网络.
Step7. 确定虚拟机名称
Step8. 开始安装Windows 2003 操作系统.
虚拟机实例创建好后会自动启动, 打开查看虚拟机控制台. 即可开始安装虚拟机操作系统.
安装完成后, 登录系统.
Step9. 安装XenServer Tools.
为虚拟机挂载XenServer Tools的ISO镜像.
安装.Net Framework和XenServer Tools.
Step10. 安装CloudStack密码服务管理工具.
Step11. 使用Sysprep封装系统.
配置Sysprep脚本
执行Sysprep封装,封装完毕后关闭系统.
Step12. 使用虚拟机的系统磁盘/根磁盘,创建系统模板 .
确定名称和系统类型. 此处可以选择是否启动密码管理服务, 如果启用新创建的虚拟机将会使用随机密码, 并且可以在用户忘记系统密码时选择重置密码操作.
完成以上操作等5 – 10分钟, CloudStack将模板由主存储复制到二级存储. 复制完成后即完成模板创建, 就可以使用上文提到的方法使用此模板创建Win2003的虚拟机了。
10 Responses to CloudStack + XenServer 部署 – 使用ISO创建VM和制作模板(7).
-
我想请问一下。cloudstack已经安装好,IE能访问.我在添加xen主机的时候添加不了。Unable to add the host 这是什么原因。盼回复!
-
我的ISO文件创建虚拟机失败是什么原因呢
-
我也是无法添加host 日志如下:2012-12-06 11:13:59,838 INFO [cloud.resource.ResourceManagerImpl] (catalina-exec-8:null) Trying to add a new host at in data center 1
2012-12-06 11:13:59,881 DEBUG [storage.snapshot.SnapshotSchedulerImpl] (SnapshotPollTask:null) Snapshot scheduler.poll is being called at 2012-12-06 03:13:59 GMT
2012-12-06 11:13:59,882 DEBUG [storage.snapshot.SnapshotSchedulerImpl] (SnapshotPollTask:null) Got 0 snapshots to be executed at 2012-12-06 03:13:59 GMT
2012-12-06 11:13:59,901 DEBUG [cloud.network.ExternalLoadBalancerUsageManagerImpl] (ExternalNetworkMonitor-1:null) External load balancer devices stats collector is running…
2012-12-06 11:13:59,944 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterMonitor-1:null) Found 0 running routers.
2012-12-06 11:13:59,948 DEBUG [network.router.VirtualNetworkApplianceManagerImpl] (RouterStatusMonitor-1:null) Found 0 routers.
2012-12-06 11:14:02,955 WARN [kvm.discoverer.KvmServerDiscoverer] (catalina-exec-8:null) can’t setup agent, due to java.io.IOException: There was a problem while connecting to 192.168.1.2:22 – There was a problem while connecting to 192.168.1.2:22
2012-12-06 11:14:02,955 WARN [cloud.resource.ResourceManagerImpl] (catalina-exec-8:null) Unable to find the server resources at
2012-12-06 11:14:02,957 WARN [api.commands.AddHostCmd] (catalina-exec-8:null) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:737)
at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:544)
at com.cloud.api.commands.AddHostCmd.execute(AddHostCmd.java:140)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:138)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:543)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:422)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
2012-12-06 11:14:02,958 WARN [cloud.api.ApiDispatcher] (catalina-exec-8:null) class com.cloud.api.ServerApiException : Unable to add the host -
你好,我也无法添加host,日志如下:2012-12-06 16:28:27,656 INFO [cloud.resource.ResourceManagerImpl] (catalina-exec-9:null) Trying to add a new host at in data center 1
2012-12-06 16:28:30,693 WARN [kvm.discoverer.KvmServerDiscoverer] (catalina-exec-9:null) can’t setup agent, due to java.io.IOException: There was a problem while connecting to 192.168.1.2:22 – There was a problem while connecting to 192.168.1.2:22
2012-12-06 16:28:30,693 WARN [cloud.resource.ResourceManagerImpl] (catalina-exec-9:null) Unable to find the server resources at
2012-12-06 16:28:30,695 WARN [api.commands.AddHostCmd] (catalina-exec-9:null) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:737)
at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:544)
at com.cloud.api.commands.AddHostCmd.execute(AddHostCmd.java:140)
at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:138)
at com.cloud.api.ApiServer.queueCommand(ApiServer.java:543)
at com.cloud.api.ApiServer.handleRequest(ApiServer.java:422)
at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:304)
at com.cloud.api.ApiServlet.doGet(ApiServlet.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:889)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:744)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:2274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
2012-12-06 16:28:30,696 WARN [cloud.api.ApiDispatcher] (catalina-exec-9:null) class com.cloud.api.ServerApiException : Unable to add the host-
你好,我也无法添加host,日志如下:2012-12-06 16:28:27,656 INFO [cloud.resource.ResourceManagerImpl] (catalina-exec-9:null) Trying to add a new host at in data center 1
2012-12-06 16:28:30,693 WARN [kvm.discoverer.KvmServerDiscoverer] (catalina-exec-9:null) can’t setup agent, due to java.io.IOException: There was a problem while connecting to 192.168.1.2:22 – There was a problem while connecting to 192.168.1.2:22
2012-12-06 16:28:30,693 WARN [cloud.resource.ResourceManagerImpl] (catalina-exec-9:null) Unable to find the server resources at
2012-12-06 16:28:30,695 WARN [api.commands.AddHostCmd] (catalina-exec-9:null) Exception:
com.cloud.exception.DiscoveryException: Unable to add the host
at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:737)
-
-
请问一下,部署了一个CentOS-6.4-x86_64-minimal虚拟机,但是根磁盘没有创建模板的按钮,只有快照的2个按钮,是怎么回事,谢谢
-
关机后,再操作就能看到啦
xiaorui.cc
-
CloudStack + XenServer 部署 – 模板的上传/下载和密码管理服务(8).
模板下载
选中模板选择下载模板, CloudStack会生成下载链接。点击链接即可开始下载, XenServer下载的模板为VHD格式的磁盘文件.
模板上传
将vhd文件复制到Http服务器, 即可通过Http方式上传系统模板.
待模板上传完成后, 即可在添加虚拟机实例时使用. 创建过程可以参考前面文章.
密码管理服务
CloudStack平台提供了一项可选的密码重设功能,允许用户从CloudStack的用户界面上设置临时性admin或者root帐号的密码,当然也可以重设现有帐号的密码。
注: 要启用密码重设功能,需要为模板下载并安装额外的密码管理脚本。然后将模板上传到CloudStack平台时启用密码功能。
创建”启用密码管理”的虚拟机系统, 虚拟机创建好后. 浏览器会弹出新的随机密码. 启动后我们可以使用此密码登录系统. 默认Linux密码管理用户为Root, Windows密码管理用户为Administrator. 如果有特殊需求, 可以修改密码管理脚本. 自定义密码服务管理用户.
当忘记虚拟机密码时, 可选择重置密码.为虚拟机新生成的随机管理帐户密码.
13 Responses to CloudStack + XenServer 部署 – 模板的上传/下载和密码管理服务(8).
-
重設密碼的功能滿方便的,不過一直沒有去試
-
That’s a shwred answer to a tricky question
-
That’s more than sensbile! That’s a great post!
-
-
需要先设置全局参数secstorage.allowed.internal.sites为172.16.100.1/24,然后重启服务才能上传模板。
-
Pin my tail and call me a donkey, that relaly helped.
-
A piece of eudrition unlike any other!
-
-
你好,确定cloud-set-guest-password 这个脚本正确吗?我测试发现新生成的密码无效,仍是最初创建template密码!期待您的答复!
CloudStack + XenServer 部署 – 高级网络环境介绍(9)
本文将根据实例介绍高级网络架构, 并依次介绍高级网络的各个功能模块: DHCP, DNS, 源NAT, 端口转发, 防火墙, 静态NAT, 负载均衡.
本文实例中网络架构情况如下
CloudStack里面物理网卡1对应XenServer上流量标签为Management的Bond 0 + 3, 用于管理。
CloudStack里面物理网卡2对应XenServer上流量标签为Trunk的Bond 1 + 4, 用于公共和来宾。
CloudStack里面物理网卡3对应XenServer上流量标签为Management的Bond 2 + 5, 用于存储。
使用XenServer的管理控制台XenCenter查看网络情况,VLAN ID 为91的网络是CloudStack创建的公共网络,VLAN ID 301 – 500 之间的网络是CloudStack根据需求自动创建的来宾网络。管理和存储如前文所述不需要设置VLAN ID,所以这里CloudStack也不会创建。
高级网络架构
我们使用其中一个帐户建立一个高级网络环境,举例说明CloudStack高级网络的工作方式。
使用帐户shennan下同名用户shennan创建1高级网络:
网络名称: SN-Network01,
所属帐户: shennan,
类型: isolate
VLAN: 462
来宾网络CIDR: 192.168.100.0/24
VLAN说明: VLAN ID462是系统自动分配的, 使用此网络的VM数据包都会打上vlan为462的标签, 所连接交换机上必须已配置有此vlan标签才能保证VM网络的正常通信.
注:
CloudStack会根据使用需求自动创建相应VLAN ID的网络。
本文例子中管理网络使用单独网卡, 连接到交换机Access vlan 101类型端口。
Public 网络和Guest网络使用同一块网卡, 连接到交换机的Trunk类型端口。Public网络设置VLAN ID为91。
Storage 网络使用单独网卡, 连接到交换机Access vlan 12 类型端口。
管理网络和Storage网络因为是access类型所以不需要在CloudStack里面配置VLAN ID。
Public网络设置VLAN ID为91, Guest网络设置的VLAN ID为301 – 500。
系统虚拟机启动需要使用管理网络, public网络和存储网络, 因为只有Public 网络连接为Trunk并在CloudStack里面设置了VLAN为91。所以CloudStack只需要创建Public网络即可。Guest网络将会再用到时自动创建。
启用SN-Network01此网络时, CloudStack会自动新建VLAN ID为462的Guest网络。
CloudStack并为SN-Network01此网络自动创建一专用的虚拟路由器. 虚拟路由器配置2块网卡, 网卡一端连接Public网络,另一端连接到隔离的来宾网络.
使用此网络的VM将会配置一块网卡连接到VLAN ID为462的来宾网络。并且会由本网络的虚拟路由器即r-24-VM的DHCP服务自动分配1个IP地址。
下面将依次介绍高级网络的各个功能模块: DHCP, DNS, 源NAT, 端口转发, 防火墙, 静态NAT, 负载均衡.
9 Responses to CloudStack + XenServer 部署 – 高级网络环境介绍(9)
-
“使用帐户shennan下同名用户shennan创建1高级网络”,这个账户是root 权限吗,据了解cloudstack2.0版本普通账户不能添加高级网络。谢谢!
-
Tip top stuff. I’ll exepct more now.
-
This site is like a classroom, ecxpet I don’t hate it. lol
-
CloudStack + XenServer 部署 – 高级网络功能应用(10)
本文将依次介绍高级网络的各个功能模块: DHCP, DNS, 源NAT, 端口转发, 防火墙, 静态NAT, 负载均衡.
使用上面环境在用户shennan的高级网络SN-Network01下建立3台试验虚拟机。
DHCP
虚拟路由器被设置为DHCP服务器为虚拟网络内部VM自动分配IP地址,前面文章已有图示介绍。
DNS
虚拟路由器被设置为内部DNS服务器为虚拟网络内部VM进行域名解析,也可以直接使用外部DNS。
源NAT
新建网络会自动配置源NAT映射
源NAT 用于将VM的内部IP映射成外部IP地址,用于VM访问外部网络。外部网络计算机无法直接访问VM的内部IP。
外部网络的计算机需要访问内部网络的VM,需要手动配置端口转发规则。
例:将虚拟路由器外部IP:111.111.101.109的8081端口影射到内部网络VM1的80端口。
配置端口转发规则
设置专用端口范围 80 – 80,公用端口范围8081 – 8081,选择协议TCP。
选择Win2003-NLB01虚拟机。
此时外部计算机还无法访问,还需要配置对应的防火墙规则。
防火墙
刚才设置的端口转发还无法访问,因为需要进行防火墙规则配置。
配置防火墙规则
配置规则允许端口8081 – 8083 的访问
添加成功后测试Http访问。
静态NAT
静态NAT是建立内部网络IP到外部网络IP的双向映射。因此使用静态NAT后外部计算机可以直接访问内部网络VM。
每条规则对应一VM实例,并且每条静态NAT映射规则需独占1外网IP地址。
因为静态NAT需要独占外网IP,首先需要为虚拟路由器申请3个新的外网IP。
重复3次申请3个新外网IP
设置静态NAT映射
选择Win2003-NLB01
完成映射后,修改防火前规则,允许80端口访问。
重复以上操作,完成3条规则配置。
使用外网IP直接访问VM测试。
负载均衡
负载均衡规则
设置负载均衡规则
选择均衡算法:(算法选择工作原理请参考专业负载均衡设备文档,如果有需要的NetScaler文档的朋友可以给我发邮件索取)
设置粘性,在NetScaler设备上也称为会话持久性策略,一般用于带cookies认证Web访问。
- None: 不使用会话持久性策略.
- SorceBased: 根据客户端的IP地址, 记录访问分配.
- AppCookie: 根据数据包中服务器应用Cookie, 记录访问分配
- LBCookie: 将会有虚拟路由器向数据保证插入Cookie, 记录访问分配
一般前2种比较常用. 这里我们先择SorceBased方式。
AutoScale : 自动扩展内容较多, 并且可能需要额外的配置工具。会单独写篇文章进行讨论。
创建好后,设置防火墙规则。就可以通过浏览器进行访问测试了。我们强行关闭任意1-2台,访问会自动故障转移到其他Web Server。
VPN
CloudStack帐户所有者可以创建虚拟专用网络(VPN)来访问他们的虚拟机。如果来宾网络是从提供远程访问VPN服务中实例化产生的,虚拟路由器(基于系统虚拟机)可以用于提供该服务。CloudStack为来宾虚拟网络提供L2TP-over-IPsec-based远程访问VPN服务。由于每个网络获取自己的虚拟路由器,因此VPN不能跨网络共享。Windows、Mac OS X和iOS的自身VPN客户端可用于连接客户网络。帐户的所有者可以对其用户的VPN进行创建和管理。为达此目的,CloudStack不使用其帐户数据库,而使用单独的表。VPN用户数据库之间共享帐户所有者创建的所有VPN。所有VPN用户可以访问所有帐户所有者创建的VPN。
可以在全局设置中自定义VPN相关参数。
使用VPN
启用后获得共享密钥,创建VPN用户:shennan。
创建VPN连接,之后进行测试。外网计算机VPN拨号后,获得内网地址可以直接访问VM内部网络地址。
以上就是关于CloudStack高级网络功能应用的介稍。
17 Responses to CloudStack + XenServer 部署 – 高级网络功能应用(10)
-
很不錯的文章,感謝分享。
-
Your website has to be the eletcnroic Swiss army knife for this topic.
-
-
我晕,真实高手啊
-
That’s a nicely made answer to a challenging quesiton
-
That’s a wise answer to a tricky qeutsion
-
-
This is the preefct post for me to find at this time
-
Big help, big help. And superlative news of cruose.
-
steven你好,我想问一个我比较迷惑的问题,二级存储的ip 192.168.0.11,是怎么来的,规划的ip中怎么没有?
-
你好,我今天连接CloudStack的Console页面时,发生了如下错误:“DNS 查找失败,因此找不到 20-1-134-16.realhostip.com 的服务器,我疑问的是20-1-134-16.realhostip.com这个域名是谁来负责解析的,我在vrouter上找了半天都没有找到,也不知道它的配置文件在哪。
求助一下!!!
-
很不错,很感谢你的贡献,能否把关于Netscaler + Cloudstack 关于虚拟机LB的详细配置给发一份,非常感激。kingkisskill@gmail.com
-
还有个问题想请教一下,cloudstack里面给处理全局设置(是否启用外部DHCP server),这个direct.attach.network.externalIpAllocator.enabled值设置为true,重启managment服务后,新建虚拟机还是没有用外部的dhcp server(还是路由虚拟机分配的ip),请问这个怎么配置?如果想用外部的DHCP服务器,除了添加无服务的网络方案外,还有什么方法使用外部DHCP server(而不使用虚拟路由的dhcp服务)呢、
R01SW01交换机工作区域端口应该是连接Guest网络的吧,我看在建Zone时Guest网络的vlan id是301-500,是否理解这里在交换机上应该配置为trunk 301-500,而不是1-300呢?switchport trunk allowed vlan add 301– 500, 不知道我的理解是否正确
额,你说得对。我写错了!
I can’t believe I’ve been going for years without koniwng that.
A prvoocaitve insight! Just what we need!
The expertise shines through. Thanks for tkanig the time to answer.
That’s a smart way of lkooing at the world.
R01SW01交换机管理区域端口vlan配置中是否配置应该是switchport access vlan 101而不是switchport access vlan 12 ?
嗯,是vlan 101。本来第一遍写得是vlan 101来的。保存时排版乱了,返工后没有检查。抱歉了