基于LVS的FMS流媒体服务器集群负载均衡技术-HXC博客
  •  首页
  •  游戏/动漫
  •  日记/生活
  •  时间轴
  •  留言板
  • 
    基于LVS的FMS流媒体服务器集群负载均衡技术
     作者:胡新春  发布时间:2017-10-08 16:35:08  访客:214

    一、简介

    多媒体网络服务器面对的访问数量快速增加,服务器需要具备提供大量并发访问服务的能力,由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题.为此,必须采用多服务器和负载均衡技术才能满足大量并发访问的需要.本文详解介绍利用Linux虚拟服务器(LinuxVirtualServer,LVS)使用负载均衡技术将多台FMS服务器组成一个集群提供负载均衡以应对数据庞大的视频播放请求。


    二、测试准备条件

    测试环境:windows虚拟机

    *首先准备一款好用的虚拟机在虚拟机中安装如下系统

    *1台centos 6.5 X64位用于搭建LVS:

    下载地址:http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html

    *至少2台win2008,一台用作边缘服务器,一台用作中心服务器和测试平台,为了更好的说明演示效果。


    如下实验使用:

    *1台centos 6.5 X64 位用于搭建LVS。

    *4台windows 2008 ,一台作为中心服务器,2台边缘服务器,命名为边缘1和边缘2,还有一台搭建web平台测试。


    三、LVS原理

    LVS是一个开源的软件,由毕业于国防科技大学的章文嵩博士于1998年5月创立,可以实现LINUX平台下的简单负载均衡,它支持在linux和bsd下建立一个高性能,高可伸缩,高可用的集群服务。LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器。


    中文站点:http://zh.linuxvirtualserver.org/


    英文站点:http://www.linuxvirtualserver.org/whatis.html


    LVS采用的IP负载均衡技术是在负载调度器的实现技术中效率最高的。目前有三种IP负载均衡技术(VS/NAT、VS/TUN和VS/DR); 十种调度算法(rrr | wrr | lc | wlc | lblc | lblcr | dh | sh | sed | nq)。

    以单台服务器来支撑整个网站的系统已无法满足客户需求,取而代之的是三层架构的一组服务器。


    因此需要有一个专用服务器动态分配各服务器之间的访问流量,这种专用服务器就是负载均衡服务器,负载服务器通过特定的负载均衡技术,将外部客户请求视同一功能的服务器组中各服务器上的负载状况合理分配到某台服务器上,籍此大幅提高获取数据的速度,解决海量并发访问问题.


    四、网络结构设计

    1503724023795791.jpg

    网络结构图

    1、网络配置结构

    *中心服务器ip:192.168.1.3   默认网关:192.168.1.1

    *边缘服务器1 ip:192.168.1.2  默认网关:192.168.1.1

    *边缘服务器2:ip:192.168.1.6 默认网关:192.168.1.1

    *LVS ip:192.168.1.4     默认网关:192.168.1.1

    *平台服务器 ip:192.168.1.5  默认网关:192.168.1.1

    *回环网卡 ip:192.168.1.8   子网掩码:255.255.255.255


    2、回环网络配置

    这里使用回环网络将边缘服务器与中心服务器和lvs相互连接起来使得各个服务器之间可以相互通信。

    在centos中配置负载均衡lvs环境配置

    1. 安装CentOS6.4,以管理员root身份登录系统,并配置网络,如图所示:


    1503724279121266.png



    1503724317687479.png



    2.永久关闭SELinux



    1503724334386337.png



    右击鼠标,选择在“终端中打开”,进入命令行界面,如图:

    执行vi /etc/selinux/config



    1503724363702815.png

    #SELINUX=enforcing     #注释掉
    #SELINUXTYPE=targeted  #注释掉
    SELINUX=disabled  #增加



    1503724390650293.png


    :wq  #保存,关闭。
    shutdown -r now   #重启系统

    完毕后可使用命令查看SELinux的状态:

    执行getenforce,显示Disabled


    1503724457175186.png



    3.禁用防火墙

    执行/etc/init.d/iptables status

    会得到一系列信息,说明防火墙开着。



    1503724491320956.png



    执行以下命令临时关闭防火墙

    /etc/init.d/iptables stop

    永久关闭:

    chkconfig –level 35 iptables off


    4、安装ipvsadm piranha用yum(只需在master机上装)

    注意:由于在虚拟机中测试,这一步安装需要连网,但是已将网络配置为回环网络,所以此时网络无连接,结局方法1.下载安装包安装。2.将此步提前,或者将网络还原后再配置入回环网络。

    执行yum -y install ipvsadm piranha



    5.打开数据转发

    执行vi /etc/sysctl.conf

    net.ipv4.ip_forward = 1 把原来的0改成1



    1503724517554620.png



    使刚才的修改生效: sysctl -p

    5.设置piranha的管理密码

    执行命令 : piranha-passwd

    6.启动piranha服务的WEB配置界面

    /etc/init.d/piranha-gui start

    7.登录WEB设置界面

    http://本机ip:3636/



    1503724538126764.png



    看到这个界面说明安装完成。

    FMS中心服务器配置


    二.设置中心服务器



    1503724581388872.png

    中心服务器网络连接图



    1.安装Flash Media Server 3.5

    2.打开C:\Program Files\Adobe\Flash Media Server 3.5\conf\fms.ini

    修改VOD_COMMON_DIR =网络磁盘绝对路径\\ip\   (如\\192.168.0.47\e\Resource_Video)
    (注意:如果不使用网络磁盘,此处可以根据需求修改)

    修改VOD_DIR =网络磁盘绝对路径\\ip\   (如\\192.168.0.47\e\Resource_Video)



    1503724610369615.png



    访问网络磁盘绝对路径



    1503724650124636.png



    输入用户名密码,勾选“记住我的凭据”



    1503724677443207.png




    4.打开服务管理

    将Flash Media Administration Server的登陆方式更改为“此账户”并填入本机管理员的用户名密码




    1503724698607797.png


    同样,将Flash Media Server (FMS)的登陆方式更改为“此账户”并填入本机管理员的用户名密码

    同样,将FMSHttpd的登陆方式更改为“此账户”并填入本机管理员的用户名密码


    5.停止上述三个服务

    按照上述顺序依次开启三个服务

    别忘了重新启动一下服务器!  别忘了重新启动一下服务器!  别忘了重新启动一下服务器!


    6.测试路径是否可以正常播放(一般打开需要稍微等一下,此种直联的方式比较慢)

    此处主要测试使用网络磁盘后能否正确找到视频资源。

    中心服务器设置完毕!


     设置边缘服务器



    1503724725898821.png


    边缘服务器1本地网络配置



    (一)、安装回环网卡

    1. 按住Win+R键,跳出“运行”框

    在运行框中输入hdwwiz(硬件安装向导),“确定”。

    1503724801523823.jpg

    按“下一步”,勾选“安装我手动从列表选择的硬件(高级)(M)”。

    1503724820357957.png

    下图中,选择“网络适配器”,“下一步”。

    1503724841771971.jpg

    下图中,左侧指定“Microsoft”,右侧选择“Microsoft KM-TEST 环回适配器”,“下一步”。

    1503724854811662.jpg


    保持默认,“下一步”。

    下图中,单击“完成”,已完成本地回环网卡的安装。

    1503724877618943.jpg

    1.安装Flash Media Server 3.5

    2.打开C:\ProgramFiles\Adobe\FlashMediaServer4.5\conf\_defaultRoot_\_defaultVHost_\Vhost.xml

    找到<Mode>local</Mode>修改为<Mode>remote</Mode>

    找到<Anonymous>false</Anonymous>修改为<Anonymous>true</Anonymous>


    1503724905953003.png

    找到<RouteEntry></RouteEntry>

    修改为<RouteEntry>边缘服务器ip:1935;中心服务器ip:1935</RouteEntry>

    1503724938318151.png



    别忘了重新启动fms服务!  别忘了重新启动fms服务!  别忘了重新启动fms服务!

    3.测试边缘服务器ip是否可以正常播放 测试路径是存储服务器路径的视频(边缘找中心,中心找web存储路径 所以视频名字是存储服务器视频名)

    4.安装回环网卡设备(microsoft loopback adapter),设置回环网卡设备地址

    设置回环网卡ip(192.168.0.90)和子网掩码(255.255.255.255)



    5.修改客户端网卡接口、环回接口连接模式(至关重要)

    进入命令行窗口,分别输入:


    netsh interface ipv4 set interface "网卡名称" weakhostreceive=enabled
    netsh interface ipv4 set interface "网卡名称" weakhostsend=enabled
    netsh interface ipv4 set interface "环回网卡名称" weakhostreceive=enabled
    netsh interface ipv4 set interface "环回网卡名称" weakhostsend=enabled


    6.打开

    C:\Program Files\Adobe\Flash Media Server4.5\conf\_defaultRoot_\_defaultVHost_\Vhost.xml

    找到<CacheDir enabled=”false” useAppName=”true”>修改为<CacheDir enabled=”true” useAppName=”true”>


    找到<Path></Path>修改为<Path>缓存目录。。。如 C:\TEMP</Path>

    找到<MaxSize>32</MaxSize>修改为<MaxSize>根据缓存目录所在磁盘尺寸设置</MaxSize>  //这个是缓存的大小设置 看注释 单位是GB。



    1503725026608583.png


    找到<RouteEntry></RouteEntry>修改为<RouteEntry>回环网卡ip:1935;中心服务器ip:1935</RouteEntry>


    1503725062641782.png


    别忘了重新启动fms服务! 别忘了重新启动fms服务! 别忘了重新启动fms服务!


    配置lvs

    1.登录WEB设置界面

    http://本机ip:3636/


    1503725097901648.png



    2.VIRTUAL SERVERS—–ADD—–EDIT


    Name:写个名字
    Application port:1935
    Virtual IP Address: 回环网卡ip
    Virtual IP Network Mask:255.255.255.255
    Scheduling: Round robin
    Persistence Network Mask:255.255.255.255
    ACCEPT



    1503725118404151.png



    3.REAL SERVER—-ADD—(选中)–EDIT


    Name: 随便
    Address:边缘服务器ip
    Port: 1935
    Weight: 1-10(这个为此服务器的权重)
    REAL SERVER-----选中添加的边缘服务器------(DE)ACTIVATE

    1503725141489354.png



    4.MONITORING SCRIPTS


    Sending Program:(空)
    Send:\n
    Expect:(空)(BLANK EXPECT)
    ACCEPT

    1503725169380027.png



    5.REDUNDANCY—–ENABLE



    1503725187401751.png


    6.VIRTUAL SERVERS—–(DE)ACTIVATE



    1503725259360836.png




    7.GLOBAL SETTINGS ——-Primary server public IP:本机ip,网络类型选择Direct Routing



    1503725282148721.png



    8.启动pulse服务

    执行 /etc/init.d/pulse start



    9.设置LVS相关服务自启动

    chkconfig –level 345 piranha-gui on

    chkconfig –level 345 pulse on

    /etc/init.d/piranha-gui start

    /etc/init.d/pulse start



    10.测试通过回环网卡是否能够播放


     

    可能会用到的语句:

    重启服务:/etc/init.d/pulse restart

    重启网络:service network restart



    点评一下

    
    程序:HXC博客v1.0+ 主题:HXC博客前端Funs主题    环境:lamp  后台
    博客平稳运行2年+