您的位置:首页 > 理论基础 > 计算机网络

使用Flat Network Provider搭建扁平网络教程

2016-02-19 00:00 375 查看
摘要: 扁平网络在私有云网络环境中非常的流行。它的网络拓扑很简单,所有的云主机都是直接接在公司内部的一个大二层的网络上。 扁平网络也非常容易搭建......

1. 介绍



扁平网络在私有云网络环境中非常的流行。它的网络拓扑很简单,所有的云主机都是直接接在公司内部的一个大二层的网络上。 扁平网络也非常容易搭建。由于所有的云主机和物理主机都在一个二层广播域,在这个二层网络上的云主机可以 通过数据中心的核心路由器链接到Internet。在这个教程里,我们假定您拥有一个可以访问Internet的IP网络。
在本教程中,我们将使用ZStack 1.0的新特性:Flat Network Provider来创建扁平网络。Flat Network Provider是一种新的网络服务提供模式,它提供DHCP和Userdata服务。相对于已有的Virtual Router Provider,Flat Network Provider最大的优势在于不需要启动一个Virtual Router虚拟机就可以为VM提供DHCP服务,这大大简化了部署一个扁平网络的复杂度。此外,由于采用了分布式DHCP系统,Flat Network Provider不存在传统DHCP系统的单点失败情况,因为每个物理机上都会有一个DHCP服务器服务运行在该物理机上的VM。在高并发创建或启动VM的时候,DHCP的负载会被分发到不同物理机上去,大大提供了系统整体的并发性。其总体架构如下:



2. 前提

我们假定您已经根据安装手册里的方法成功的安装并且启动了ZStack。 您可以在Chrome浏览器或者FireFox浏览器(IE浏览器可能会遇到使用问题)上打开如下地址来登录ZStack管理界面:
http://your_machine_ip:5000/

我们假定您的这台Linux服务器只有一个网卡,并且它可以链接到互联网。除此之外,我们还需要如下的要求:

至少20G可用的硬盘剩余空间用于基本的主存储和备份存储

有几个可以使用的公网的IP地址

有一个启动的NFS服务器NFS (如果在安装ZStack的时候使用了-a或者-n的参数,ZStack安装程序会在本机启动一个NFS服务,默认是在/usr/local/zstack/nfs_root/。但是我们还是建议用户自己可以配置一个单独的NFS服务,例如/my_nfs_folder)

可以使用root用户 ssh到本机

配置root用户的ssh登录能力

KVM节点需要root用户的SSH权限来使用Ansible安装系统包和控制KVM Agent。本教程里面只使用了单一的Linux 服务器作为操作对象,您需要提前配置root用户的SSH访问能力。

CentOS:
sudo su
passwd root


Ubuntu:
您需要修改SSHD的配置文件:

1. sudo su
2. passwd root
3. 编辑/etc/ssh/sshd_config
4. 注释掉 'PermitRootLogin without-password'
5. 添加'PermitRootLogin yes'
6. 重启 SSHD: 'service ssh restart'

基于以上的环境要求,我们假设有如下的配置信息:

网卡设备: eth0

eth0 IP: 192.168.0.212

其他空闲的IP地址范围: 192.168.0.230 ~ 192.168.0.240

主存储目录: /usr/local/zstack/nfs_root

备份存储目录: /backupStorage

停止云主机可能会等1分钟,如果云主机镜像里没有配置ACPID:

尽管我们的教程里不会演示停止云主机的功能,但是您可能自己在尝试的时候会发现启动一个云主机只需要1秒钟, 但是停止一个云主机可能会需要1分钟时间。这是因为我们特殊裁剪过的ttylinux的云主机模板中没有ACPID相关的服务。 ZStack发出Stop指令后,云主机的操作系统并不会接收这样的指令。ZStack在等待1分钟后会强行的停止这个云主机。 如果用户自己的云主机模板也存在类似的问题,那么最好求助于操作系统提供商解决相关的问题。

3. 登录

在Chrome浏览器或者FireFox浏览器(IE浏览器可能会遇到使用问题)上登录ZStack管理界面: 默认的用户名和密码分别为admin/password:



4. 创建Zone

点击左侧面板的'Zone':



点击按钮'New Zone'来打开对话框:



给第一个Zone取一个名字:'ZONE1',然后点击按钮'Create':



5. 创建Cluster

点击左侧面板的'Cluster':



点击按钮'New Cluster'来打开对话框:



选择刚刚创建的zone(ZONE1); 给cluster取个名字:'CLUSTER1'; 然后选择hypervisor 'KVM';接着点击按钮'Next':



我们现在还没有任何的主存储,让我们继续点击'Next':



我们现在还没有任何的L2网络,让我们直接点击'Create':



6. 添加计算节点Host

点击左侧面板的'Host':



点击按钮'New Host'打开对话框:



选择zone(ZONE1)和cluster(CLUSTER1)

给host取个名字:'HOST1'

输入host的IP地址(192.168.0.212)

最重要的是输入host root用户的用户名和密码

点击'add'



第一次添加Host可能会较慢

基于用户的网络环境,第一次添加Host可能需要等待几分钟的时间。ZStack会安装好所有的依赖包和完成自动化的配置。

7. 添加主存储

点击左侧面板的'Primary Storage':



点击按钮'New Primary Storage'来打开对话框:



选择zone(ZONE1)

给主存储取个名字:'PRIMARY-STORAGE1'

选择类型'NFS'

输入NFS url(例如192.168.0.212:/usr/local/zstack/nfs_root)

点击'Next'

NFS URL的格式

NFS URL的格式和在Linux中使用mount命令非常的相似.



选择cluster(CLUSTER1)作为挂载对象, 然后点击按钮'Add':



Add会执行多条实际的ZStack APIs

如果一切顺利,您会看到两个APIs完成的通知:addPrimaryStorage和attachPrimaryStorageToCluster.

8. 添加备份存储

点击左侧面板的'Backup Storage':



点击按钮'New Backup Storage'来打开对话框:



给备份存储取名为:'BACKUP-STORAGE1'

选择类型'SftpBackupStorage'

输入URL '/backupStorage' (如果该目录不存在,ZStack会负责创建该目录)

输入本机IP地址(192.168.0.212)

输入root用户的ssh密码

点击'Next'



选择zone(ZONE1)作为挂载对象,然后点击'Add':



9. 添加云主机磁盘镜像

点击左侧面板的'Image':



点击'New Image'来打开对话框:



选择备份存储(BACKUP-STORAGE1)

给磁盘镜像取名为'ttylinux'

选择格式'qcow2'

选择媒体类型为'RootVolumeTemplate'

选择平台'Linux'

输入下载地址 http://download.zstack.org/templates/zstack-image-0.0.7.qcow2
点击'Add' (不能选择'System')

该镜像文件将会用于用户云主机的模板。



预先下载磁盘镜像文件在本地的HTTP服务器

如果您的虚拟机模板比较大,您最好也把它存放在本地的HTTP服务器上,这样添加image的速度比较快。避免因网络速度问题引起的添加image超时。 默认情况下,添加Image的时间超过30分钟,ZStack会自动中断添加的过程并报告超时。

10. 创建二层网络

点击左侧面板的'L2 Network':



点击按钮'New L2 Network':



选择zone(ZONE1)

给二层网络取个名字'FLAT-L2'

选择类型'L2NoVlanNetwork'

输入物理网卡的名字'eth0'

点击'Next'



选择cluster(CLUSTER1)作为挂载对象,然后点击'Create':



11. 创建三层网络

点击左侧面板的'L3 Network':



点击'New L3 Network':



选择zone(ZONE1)

选择二层网络(FLAT-L2)

给三层网络取名为'FLAT-L3'

选择类型'L3BasicNetwork'

输入域名:'tutorials.zstack.org'

点击'Next' (不要选择System)



命名IP range:'FLAT-IP-RANGE'

选择添加方法:'Add By IP Range'

输入起始IP地址 '192.168.0.230'

输入结束IP地址'192.168.0.240'

输入子网掩码 '255.255.255.0'

输入网关 '192.168.0.1'

点击 'Add' 来添加一个 IP range

点击 'Next'



输入'8.8.8.8'(您也可以输入国内的DNS,例如114.114.114.114),然后点击'Add'来添加一个DNS服务器,接着点击'Next':



选择“Flat Network Service Provider"做为网络服务提供商

选择DHCP服务

点击“添加”按钮

重复步骤2和3添加user data服务

最后点击'Create':



12. 创建云主机模板

点击左边面板的'Instance Offering':



点击'New Instance Offering':



给模板取个名字'512M-512HZ'

输入CPU个数为1

输入CPU速度1

输入内存大小512M

点击'create'



如果使用ttylinux的磁盘镜像来创建虚拟机,该虚拟机的最低内存需求量仅需要24MB。用户可以只创建一个24MB的模板。

14. 创建云主机

点击左边面板的'Instance':



点击'New VmInstance':



选择模板'512M-512HZ'

选择磁盘镜像'ttylinux'

选择三层网络'FLAT-L3',并且点击'Add'

输入云主机的名字'VM1'

输入云主机的网络名字: 'vm1'

点击'Next'



点击 'Create':



启动第一个云主机会花费较长的时间

当第一次创建云主机的时候,ZStack需要把云主机的磁盘镜像从备份存储下载到主存储中来,根据不同磁盘镜像的大小, 它可能需要一段时间。当第一个云主机创建好后,再次创建云主机将会非常快速。

当云主机创建完成,点击'Action',再点击'Console'来打开云主机的终端(需要在浏览器上允许弹出窗口):



在弹出的窗口中,用root用户的password密码来登录ttylinux。登录后,您可以用'hostname'来查看主机名, 用'ifconfig'来检查IP地址是不是属于扁平网络的地址。



您应该可以成功的ping www.baidu.com:



重复以上步骤来创建更多的VM2和VM3。他们应该都可以获得IP地址并且顺利访问Internet。



后续的云主机创建过程会非常的快

由于第一次创建云主机时,ZStack已经把云主机的磁盘放到了缓存中,所以后续的云主机添加的过程通常不会超过2秒。

总结

在这个教程里,我们展示了如何快速的使用ZStack来搭建一个扁平网络环境。关于ZStack更多的三层网络的介绍, 您可以登录L3 Network in user manual来查阅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ZStack Flat Network Provider