Linux Virtual Server负载均衡 ipvsadm+HeartBeat使用

1. 安装ipvsadm
  下载ipvsadm,下载时需注意对应自己的内核版本。
  ipvsadm下载网址:[url]http://www.linuxvirtualserver.org/software/[/url]
  本文使用的是FC8系统,内核版本2.6.23.1,对应ipvsadm版本1.24。
  安装时需要Linux内核源码,如果安装系统时没有安装源码,需要再下载内核源码。本文使用的内核是linux-2.6.23.1.tar.bz2。把内核解压到/usr/src/linux-2.6.23.1。下面开始编译安装:
  建立内核快捷方式:ln -s /usr/src/linux-2.6.23.1 /usr/src/linux
  解压ipvsadm:
  tar zxvf ipvsadm-1.24.tar.gz
  安装ipvsadm:
  cd ipvsadm-1.24
  make
  make install
  安装完成后,下一步我们开始配置IPVS,本文主要介绍Direct Routing方式的配置。
  2. 配置IPVS(Direct Routing)
  2.1.网络结构
  三台计算机,一台Director安装Linux作负载均衡器,另两台Real Server提供服务。
  Director:eth0=192.168.34.40,eth0:0(Virtual IP) =192.168.34.41
  RealServer1:IP=192.168.34.26
  RealServer2:IP=192.168.34.27
  服务端口:443
  客户通过Virtual IP 192.168.34.41访问服务器。Load Balancer将来自客户的访问按一定的负载均衡机制分发到192.168.34.26和192.168.34.27这两台实际提供服务的服务器。
  2.2.Load Balancer配置
  步骤1:配置Director IP
  在Director上配置好eth0的IP(192.168.34.40),然后在eth0上新增一个IP(192.168.34.41),命名为eth0:0,作为Virtual IP。
  步骤2:配置IPVS Table脚本
  编写sh脚本如下:
  VIP=192.168.34.41 #Vritual IP地址
  RIP1=192.168.34.27 #Real Server 1 IP
  RIP2=192.168.34.26 #Real Server 2 IP
  GW=192.168.34.1 #Real Server 网关IP
  #清除IPVS Table
  ipvsadm -C
  #设置IPVS Table
  ipvsadm -A -t $VIP:443 -s wlc
  ipvsadm -a -t $VIP:443 -r $RIP1:443 -g -w 1
  ipvsadm -a -t $VIP:443 -r $RIP2:443 -g -w 1
  #将IPVS Table保存到/etc/sysconfig/ipvsadm
  /etc/rc.d/init.d/ipvsadm save
  #启动IPVS
  service ipvsadm start #或者/etc/rc.d/init.d/ipvsadm start也可以
  #显示IPVS状态
  ipvsadm -l
  #脚本结束----------------------------
  该脚本配置IPVS Table,并将配置保存到/etc/sysconfig/ipvsadm文件中。以后修改IPVS TABLE可直接修改该脚本。当然,您也可以直接编辑该文件来实现IPVS Table的配置。
  配置完毕后执行/etc/rc.d/init.d/ipvsadm start(或service ipvsadm start)启动IPVS。
  通过以上两个步骤,就完成了负载均衡器IPVS的配置。
  2.3.Real Server配置
  Real Server主要做两个配置,一是添加一个虚拟IP,二是关闭该IP的ARP响应。
  2.3.1.Windows系统
  对于Windows系统的服务器,只要添加一个Loopback的网卡,IP地址设置成虚拟IP(192.168.34.41),子网掩码设置成255.255.255.255,网关地址留空。
  操作:
  l 从控制面板选择添加硬件;
  l 选择“是,硬件已连好”;
  l 选择“添加新的硬件设备”;
  l 选择“安装我手动从列表选择的硬件”;
  l 选择“网络适配器”;
  l 从厂商列表选择“Microsoft”,从网卡列表选择“Microsoft Loopback Adapter”;
  点下一步开始安装硬件,安装完毕后出现一个新的网卡,配置好IP和子网掩码。Windows子网掩码无法配置成255.255.255.255,我们可以先按默认的保存配置,然后从注册表修改子网掩码。
  注册表修改子网掩码:
  从注册表
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces]下找到对应的网卡,将SubnetMask修改成255.255.255.255。然后禁用再启用该网卡即可。
  2.3.2.Linux系统
  3.配置LDirectord RealServer故障检测及管理
  LDirectord进程定时检测各Real Server运行状态,当检测到某台Real Server故障时,则将该Server从负载均衡调度列表删除,当恢复正常时再加入。
  3.1.安装LDirectord
  LDirectord软件包含在HeartBeat软件包中。安装HeartBeat时就同时安装了LDirectord。
  HeartBeat下载网址:[url]http://www.linuxvirtualserver.org/software/[/url]。
  安装HeartBeat还需要安装libnet等软件包。可以到网上下载这些软件包来安装。
  Libnet下载网址:[url]http://www.packetfactory.net/libnet/dist/libnet.tar.gz[/url]
  安装libnet:
  tar zxf libnet.tar.gz
  cd libnet
  ./configure
  make
  make install
  安装HeartBeat:
  ./ConfigureMe configure
  make
  make install
  安装完后执行以下命令加入自启动项:
  chkconfig –add ldirectord
  3.2.配置LDirectord
  heartbeat/ldirectord目录下有个ldirectord.cf文件。该文件是ldirectord的配置范例。
  在/etc/ha.d/目录下新建一个ldirectord.cf文件,按配置范例格式进行配置,主要配置项如下:
  checktimeout=3 #检测超时3s
  checkinterval=1 #检测间隔1s
  fallback=127.0.0.1:443 #所有服务器都故障时访问该服务器
  autoreload=yes #配置文件改变时自动加载
  logfile="/var/log/ldirectord.log" #日志文件
  quiescent=yes
  virtual=192.168.34.41:443 #虚拟IP
  real=192.168.34.26:443 gate
  real=192.168.34.27:443 gate
  fallback=127.0.0.1:443 #所有服务器都故障时访问该服务器
  service=none
  scheduler=wlc
  persistent=600
  protocol=tcp
  checktype=on
  3.3.启动ldirectord
  /etc/rc.d/init.d ldirectord start
  注意,启动时如果提示ldirectord某行出错,一般是有些运行需要的软件没安装,大部分是perl开头的软件包。
  net-snmp-5.3-4.2.i386.rpm
  net-snmp-libs-5.3-4.2.i386.rpm
  perl-Compress-Zlib-1.41-1.2.2.i386.rpm
  perl-HTML-Parser-3.50-1.i386.rpm
  perl-HTML-Tagset-3.10-2.1.noarch.rpm
  perl-libwww-perl-5.805-1.1.noarch.rpm
  perl-MailTools-1.74-1.fc5.noarch.rpm
  perl-TimeDate-1.16-3.2.noarch.rpm
  perl-URI-1.35-2.2.noarch.rpm
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值