Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10170970
  • 博文数量: 1669
  • 博客积分: 16831
  • 博客等级: 上将
  • 技术积分: 12594
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-25 07:23
个人简介

柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!

文章分类

全部博文(1669)

文章存档

2023年(4)

2022年(1)

2021年(10)

2020年(24)

2019年(4)

2018年(19)

2017年(66)

2016年(60)

2015年(49)

2014年(201)

2013年(221)

2012年(638)

2011年(372)

分类: 云计算

2014-06-04 20:27:05

 CloudStack 配置高级网络简明手册
2013-11-27 16:20:35
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://clovemfong.blog.51cto.com/3297559/1332475

玩过CloudStack的朋友都知道,新建区域(Zone)的时候,会有两个选项:

1 基本网络:

提供一个网络,将直接从此网络中为每个 VM 实例分配一个 IP。可以通过安全组等第 3 层方式提供来宾隔离(IP 地址源过滤)。

2 高级网络:

适用于更加复杂的网络拓扑。此网络模式在定义来宾网络并提供防火墙、VPN 或负载平衡器支持等自定义网络方案方面提供了最大的灵活性。

具体的关于高级网络跟基本网络的区别,大家可以去查看官方文档或者百度其他兄弟写的资料,本文主要介绍如何配置一个简单的高级网络用于开发或者测试使用。


一 基础环境

管理节点:

IP:10.192.19.223

软件:cloudstack-management  【版本4.1.1】

主机节点:

IP:10.196.28.48

软件: cloudstack-agent       【版本4.1.1】

网络配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1.553
DEVICE=eth1.553
ONBOOT=yes
BOOTPROTO=none
VLAN=yes
TYPE=Ethernet
BRIDGE=cloudVirBr553
[root@Host ~]# cat /etc/sysconfig/network-scripts/ifcfg-cloudVirBr553
DEVICE=cloudVirBr553
ONBOOT=yes
BOOTPROTO=none
TYPE=Bridge
IPADDR=10.196.53.220
NETMASK=255.255.255.0
GATEWAY=10.196.53.254

以上配置文件显示,将eth1连接到VLAN ID 为553的交换机接口上面,笔者的交换机接口为TRUNK模式,可以参考该博文配置:http://clovemfong.blog.51cto.com/3297559/1306313


二 添加高级网络区域

登陆CloudStack web管理界面:

 查看基础架构信息

创建区域,选择高级网络模式

 填写区域基本信息

查看物理网络信息

填写KVM的流量标签,根据实际情况填写,本人这边全部使用一个标签,就是上文配置的桥接网卡

填写公有IP的地址范围

 添加成功

填写系统虚机的管理IP地址范围

填写来宾(实例)分配的私有IP地址范围,自定义即可

配置集群名称

添加KVM主机

添加主存储

添加二级存储

配置完成

区域创建完成,启动区域

查看区域状态为Enabled

查看基础架构状态

系统虚拟机正在启动


系统虚拟机启动成功

登陆KVM主机查看虚拟机以及网卡状态


添加一个来宾网络(私有IP地址网络地址段)

创建实例

选择上文创建的网络guestnetwork

实例启动中

虚拟路由器开始创建

虚拟路由器运行成功

实例也创建成功并运行正常

查看实例信息

查看实例的私有IP地址,该IP地址是任意分配的网段中获取的,故无法使用

查看网络变化,多出的该IP地址是虚拟路由器的IP地址

测试是否可以连通虚拟路由器

配置该IP的防火墙信息

添加入口规则,允许ICMP的任意类型

再次测试,可以ping通

虚拟路由器的IP地址信息如上图所示

获取一个新IP地址,用于作为实例的公有IP地址

获取到10.196.53.222这样的IP地址

启用静态NAT功能,将该IP地址分配给实例


选择将该IP分配给clovem-instance-001实例

再次查看该IP地址,发现VM名称显示为clovem-instance-001

同样进行ping测试,不通

对该IP地址进行防火墙策略配置

允许通过上图所示的所有端口跟类型访问该IP地址

再次测试是否可以ping通

通过ssh连接该公有IP地址,登陆成功,查看该实例的网卡信息,发现显示的IP地址为私有IP地址,高级网络简单就是如此了。


祝各位好运!


本文出自 “暗黑魔君腾云端” 博客,请务必保留此出处http://clovemfong.blog.51cto.com/3297559/1332475

分享至
更多0
一键收藏,随时查看,分享好友!
 51cto_blog、zwr2264、it你好
8人
了这篇文章
类别:集群云计算┆阅读(1553)┆评论(9) ┆ 返回博主首页返回博客首页

文章评论

 
[1楼]      it你好 回复
2013-11-29 21:51:14
上头条了哦 O(∩_∩)O哈哈~

[2楼]楼主      暗黑魔君 回复
2013-12-01 21:54:42
回复 it你好:[1楼]

呵呵,感谢好哥的支持!

[3楼]      fqeunagn 回复
2014-02-15 22:00:36
暗黑君你好!我用的是Ubuntu 12.04+KVM,对于高级zone的建立想请教。我用CS设置基本zone没有问题,虚拟机创建使用正常,网络配置用的是 上的(只有两台机器,一台manager一台host):

$ sudo vim /etc/network/interfaces
01      # This file describes the network interfaces available on your system
02      # and how to activate them. For more information, see interfaces(5).
03       
04      # The loopback network interface
05      auto lo
06      iface lo inet loopback
07       
08      # The primary network interface
09      auto eth0
10      iface eth0 inet manual
11       
12      # Public network
13      auto cloudbr0
14      iface cloudbr0 inet static
15         address 10.6.203.10
16         netmask 255.255.0.0
17         gateway 10.6.255.1
18         bridge_ports eth0
19         bridge_fd 5
20         bridge_stp off
21         bridge_maxwait 1
22         dns-nameservers 10.6.255.253 61.139.2.69
23         
24      # Private network
25      auto cloudbr1
26      iface cloudbr1 inet manual
27         bridge_ports eth0
28         bridge_fd 5
29         bridge_stp off
30         bridge_maxwait 1

然后我把CS的数据库清空重新初始化,host重启,重启服务之后想建立高级zone,但是就出现了找不到host的情况,出错报告是这样子:
2014-02-15 21:40:03,355 DEBUG [kvm.discoverer.LibvirtServerDiscoverer] (catalina-exec-1:null) Timeout, to wait for the host connecting to mgt svr, assuming it is failed
2014-02-15 21:40:03,359 WARN [cloud.resource.ResourceManagerImpl] (catalina-exec-1:null) Unable to find the server resources at
2014-02-15 21:40:03,359 INFO [utils.exception.CSExceptionErrorCode] (catalina-exec-1:null) Could not find exception: com.cloud.exception.DiscoveryException in error code list for exceptions
2014-02-15 21:40:03,360 WARN [admin.host.AddHostCmd] (catalina-exec-1:null) Exception: 
com.cloud.exception.DiscoveryException: Unable to add the host
     at com.cloud.resource.ResourceManagerImpl.discoverHostsFull(ResourceManagerImpl.java:798)
     at com.cloud.resource.ResourceManagerImpl.discoverHosts(ResourceManagerImpl.java:590)
     at org.apache.cloudstack.api.command.admin.host.AddHostCmd.execute(AddHostCmd.java:143)
     at com.cloud.api.ApiDispatcher.dispatch(ApiDispatcher.java:158)
     at com.cloud.api.ApiServer.queueCommand(ApiServer.java:514)
     at com.cloud.api.ApiServer.handleRequest(ApiServer.java:372)
     at com.cloud.api.ApiServlet.processRequest(ApiServlet.java:305)
     at com.cloud.api.ApiServlet.doPost(ApiServlet.java:71)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
     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:2282)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     at java.lang.Thread.run(Thread.java:744)
2014-02-15 21:40:03,363 INFO [cloud.api.ApiServer] (catalina-exec-1:null) Unable to add the host
我纠结了好久都找不到解决方案,想请问暗黑君你对这个错误的看法,希望能尽快得到您的答复,谢谢!

[4楼]      reedyan 回复
2014-04-29 15:17:27
请教几个问题:
1.在三层交换机配置了VLAN段,并且各个VLAN是互通的,那在配置隔离网络的时候,每个隔离网络是不是就是互通的?抑或CS默认下做了规则VLAN之间不通

[5楼]      it你好 回复
2014-04-29 15:35:23
回复 reedyan:[4楼]

  来宾网络:当最终用户运行虚拟机时,产生来宾网络。用户虚拟机之间的用于互相通信的网络就可以称之为来宾网络。这个网络可以是隔离的或者共享的。
  在隔离的网络中,管理员需要通过VLAN通过每个CloudStack账户网络的隔离。
  在共享网络中,所有的来宾虚拟机共享一个网络,这种情况下,需要通过3层网络隔离技术(比如安全组)实现隔离功能。
  隔离网络只能通过单一账户的虚拟机来访问。隔离网络具有以下属性。
隔离网络可以由普通用户创建,将每个账户通过VLAN进行隔离
可以动态的分配资源,如VLAN分配和回收,无需手动设置VLAN ID。
当创建一个隔离网络的时候,不会分配VLAN ID,当网络在进行使用的时候,会自动分配VLAN ID(在来宾网络允许的VLAN ID范围内随机分配VLAN ID)
将整个网段分配
网络提供方案可升级或降级,但它是整个网络。

[6楼]      reedyan 回复
2014-04-29 22:17:51
回复 it你好:[5楼]

非常感谢你的回答。我对CS的高级网络还不是很熟悉,所以对于你的回答还是看得不太明白。你有相关的资料可以参考一下吗?

[7楼]      danhanwen 回复
2014-05-04 11:58:14
请问楼主对VM的网卡的流量监控过吗?用获取的NATip地址监控不了

[8楼]      Michellchasel 回复
2014-05-06 19:07:53
您好 我使用VMware 
參考URL:
測試安裝CloudStack 
Control Node IP : 192.168.253.136
Cintrol Node IP : 192.168.253.138
1.Web UI 再 Add Host 出現 Something went wrong; you may go back and correct any errors:
Unable to add the host 請問這該怎麼解決
2.請問您有比較詳盡的安裝步驟流程 能否提供參考 有的話煩請您 寄件sfaspire@gmail.com 感謝您

[9楼]楼主      暗黑魔君 回复
2014-06-03 16:29:31
建议上面的兄弟们加入cloudstack中国社区,进行相关讨论,博主最近一年时间可能没有机会跟大家交流cloudstack的事情啦
阅读(1738) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~