Linux常用服务部署实战二:部署LVS高可用集群

LVS集群 一、集群和分布式 1.集群的含义 Cluster:集群、群集由多台主机构成,但对外只表现为一个整体 2.系统性能扩展方式 (1)Scale UP 垂直扩展,向上扩展,增强,性能更强的计算机运行同样的服务 (2)Scale Out 水平扩展,向外扩展,增加设备,并行地运行多个服务调度分配问题,Cluster 3.集群的分类 (1)LB:( Load Balancing)负载均衡群集 ① 提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获... 阅读详情

今天给大家介绍一本小册,Linux常用服务器部署实战。

Linux常用服务器部署是作为一名运维工程师必须掌握的高级技能,这本小册讲解了学习常用服务器服务部署。

我们来看一下这本小册的目录:

本小册介绍了一些Linux常服务的搭建和部署,是运维工程师必备技能。

本文内容转载自 【码小课】,码小课是一个在线小册学习,在线PDF书籍学习平台,感兴趣的同学可以搜索码小课。

本篇文章为大家分享第一小节内容:

lvs+keepalived高可用集群部署

案例需求

部署基于LVS DR模式的web高可用集群,实现:

  • 实现数据服务器容错
  • 实现分发器故障切换
  • 任何机器宕机不中断web业务

实验环境

六台安装CentOS8的虚拟机一台测试机,两台LVS分发器,一台路由器,两台web服务器,关闭selinux关闭防火墙,停止libvirtd.service服务

角色名称接口名称IP地址
clientens33192.168.1.200
routeens33,ens160192.168.1.1,192.168.2.1
lvs1ens33192.168.2.200,192.168.2.100(VIP)
lvs2ens33192.168.2.150,192.168.2.100(VIP)
rs1ens33,lo:0192.168.2.220,192.168.2.100(VIP)
rs2ens33,lo:0192.168.2.210,192.168.2.100(VIP)

实验拓扑图

实验步骤

a、配置客户端

  1. ens33=192.168.1.200
  2. [root@client ~]# route add default gw 192.168.1.1

b、设置路由

  1. ens33=192.168.1.1
  2. ens160=192.168.2.1
  3. [root@route ~]# echo 1>/proc/sys/net/ipv4/ip_forward

c、设置RS的VIP、网关、内核参数

  1. RS1
  2. [root@rs1 ~]# route add default gw 192.168.2.1
  3. [root@rs1 ~]# ifconfig lo:0192.168.2.100 netmask 255.255.255.255 up
  4. [root@rs1 ~]# echo 1>/proc/sys/net/ipv4/conf/all/arp_ignore
  5. [root@rs1 ~]# echo 2>/proc/sys/net/ipv4/conf/all/arp_announce
  6. RS2
  7. [root@rs2 ~]# route add default gw 192.168.2.1
  8. [root@rs2 ~]# ifconfig lo:0192.168.2.100 netmask 255.255.255.255 up
  9. [root@rs2 ~]# echo 1>/proc/sys/net/ipv4/conf/all/arp_ignore
  10. [root@rs2 ~]# echo 2>/proc/sys/net/ipv4/conf/all/arp_announce
  11. 安装web服务,生成测试页面
  12. RS1
  13. [root@rs1 ~]# dnf install httpd -y
  14. [root@rs1 ~]# echo "rs1">/var/www/html/index.html
  15. [root@rs1 ~]# systemctl start httpd.service
  16. RS2
  17. [root@rs2 ~]# dnf install httpd -y
  18. [root@rs2 ~]# echo "rs2">/var/www/html/index.html
  19. [root@rs2 ~]# systemctl start httpd.service

d、设置LVS

  1. ### LVS1 安装软件包,修改配置文件
  2. [root@lvs1 ~]# dnf install ipvsadm keepalived -y
  3. [root@lvs1 ~]# vim /etc/keepalived/keepalived.conf
  4. !ConfigurationFilefor keepalived
  5. global_defs {
  6. router_id lvs_1
  7. }
  8. vrrp_instance apache {
  9. state MASTER
  10. interface ens33
  11. virtual_router_id 51
  12. priority 100
  13. advert_int 1
  14. authentication {
  15. auth_type PASS
  16. auth_pass 1111
  17. }
  18. virtual_ipaddress {
  19. 192.168.2.100/24
  20. }
  21. }
  22. virtual_server 192.168.2.10080{
  23. delay_loop 6
  24. lb_algo rr
  25. lb_kind DR
  26. nat_mask 255.255.255.0
  27. # persistence_timeout 50
  28. protocol TCP
  29. real_server 192.168.2.21080{
  30. weight 1
  31. TCP_CHECK {
  32. connect_timeout 3
  33. connect_port 80
  34. }
  35. }
  36. real_server 192.168.2.22080{
  37. weight 1
  38. TCP_CHECK {
  39. connect_timeout 3
  40. connect_port 80
  41. }
  42. }
  43. }
  44. ### 重启keepalived服务
  45. [root@lvs1 ~]# systemctl start keepalived.service
  46. ### 使用ip add命令查看所设置的VIP是否被设置
  47. [root@lvs1 ~]# ip add
  48. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  49. link/ether 00:0c:29:6d:1c:b3 brd ff:ff:ff:ff:ff:ff
  50. inet 192.168.2.200/24 brd 192.168.2.255 scope global noprefixroute ens33
  51. valid_lft forever preferred_lft forever
  52. inet 192.168.2.100/24 scope global secondary ens33
  53. valid_lft forever preferred_lft forever
  54. inet6 fe80::474:99dd:c899:455f/64 scope link noprefixroute
  55. valid_lft forever preferred_lft forever
  56. ### LVS2 安装软件包,修改配置文件
  57. [root@lvs2 ~]# dnf install ipvsadm keepalived -y
  58. [root@lvs2 ~]# vim /etc/keepalived/keepalived.conf
  59. !ConfigurationFilefor keepalived
  60. global_defs {
  61. router_id lvs_1
  62. }
  63. vrrp_instance apache {
  64. state BACKUP
  65. interface ens33
  66. virtual_router_id 51
  67. priority 10
  68. advert_int 1
  69. authentication {
  70. auth_type PASS
  71. auth_pass 1111
  72. }
  73. virtual_ipaddress {
  74. 192.168.2.100/24
  75. }
  76. }
  77. virtual_server 192.168.2.10080{
  78. delay_loop 6
  79. lb_algo rr
  80. lb_kind DR
  81. nat_mask 255.255.255.0
  82. # persistence_timeout 50
  83. protocol TCP
  84. real_server 192.168.2.21080{
  85. weight 1
  86. TCP_CHECK {
  87. connect_timeout 3
  88. connect_port 80
  89. }
  90. }
  91. real_server 192.168.2.22080{
  92. weight 1
  93. TCP_CHECK {
  94. connect_timeout 3
  95. connect_port 80
  96. }
  97. }
  98. }
  99. ### 重启keepalived服务
  100. [root@lvs2 ~]# systemctl start keepalived.service

e、客户端测试

  1. ### 客户端验证分发
  2. [root@client ~]# elinks http://192.168.2.100 --dump
  3. rs1
  4. [root@client ~]# elinks http://192.168.2.100 --dump
  5. rs2
  6. ### 停止lvs1的keepalived服务 验证分发器故障切换
  7. [root@lvs1 ~]# systemctl stop keepalived.service
  8. 使用ip add命令查看VIP是否被释放
  9. [root@lvs1 ~]# ip add
  10. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  11. link/ether 00:0c:29:6d:1c:b3 brd ff:ff:ff:ff:ff:ff
  12. inet 192.168.2.200/24 brd 192.168.2.255 scope global noprefixroute ens33
  13. valid_lft forever preferred_lft forever
  14. inet6 fe80::474:99dd:c899:455f/64 scope link noprefixroute
  15. valid_lft forever preferred_lft forever
  16. 切换到lvs2查看VIP是否被设置
  17. [root@lvs2 ~]# ip add
  18. 2: ens33:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP groupdefault qlen 1000
  19. link/ether 00:0c:29:5c:a0:66 brd ff:ff:ff:ff:ff:ff
  20. inet 192.168.2.150/24 brd 192.168.2.255 scope global noprefixroute ens33
  21. valid_lft forever preferred_lft forever
  22. inet 192.168.2.100/24 scope global secondary ens33
  23. valid_lft forever preferred_lft forever
  24. inet6 fe80::5726:cbb9:c37b:d898/64 scope link noprefixroute
  25. valid_lft forever preferred_lft forever
  26. 切换到客户端测试
  27. [root@client ~]# elinks http://192.168.2.100 --dump
  28. rs1
  29. [root@client ~]# elinks http://192.168.2.100 --dump
  30. rs2
  31. ### 停止RS1数据服务器查看数据服务器容错
  32. [root@rs1 ~]# systemctl stop httpd
  33. 切换到客户端测试:用户只能访问到RS1的页面
  34. [root@client ~]# elinks http://192.168.2.100 --dump
  35. rs1
  36. [root@client ~]# elinks http://192.168.2.100 --dump
  37. rs1

提示:使用tcpdump命令可以看到vrrp的相关信息发送信息,深度理解VRRP协议

  1. [root@lvs1 ~]# tcpdump -nn -vvv vrrp
如何部署LVS负载均衡集群(NAT模式) 集群是由多台主机沟工程,但是对外只表现为一个整体,只提供一个访问入口(域名或者IP地址)普通的服务器构建服务器集群通过整合多台服务器,使用LVS来达到服务器的高可用和负载均衡,并以同一个IP地址对外提供相同的服务,常用的一种群集技术LVS(Linux虚拟服务器,Linux Virtual Server) 阅读详情

相关推荐

Web服务器群集——企业级调度器LVS(LVS-NAT;LVS-DR负载均衡群集部署)

企业级调度器LVS(LVS-NAT;LVS-DR负载均衡群集部署)企业级调度器LVS(Linux Virtual Server)集群和分布式1.1 集群 Cluster1.2 分布式系统1.3 集群和分布式1.4 集群设计原则1.5 集群设计实现1.5.1 基础设施层面1.5.2 业务层面1.6 LB Cluster 负载均衡集群1.6.1 按实现方式划分1.6.2 基于工作的协议层次划分1.6.3 负载均衡的会话保持1.7 HA Cluster 高可用集群实现1.8 HPC Cluster 高性能运算群集

Cantevenl的博客 5722

LVS负载均衡之高可用集群的搭建

书接上文,在lvs调度器及RS配置完成之后又发现了新问题:

cjzcc1996的博客 464

使用LVS和Keepalived搭建高可用负载均衡服务器集群

详细讲解如何使用LVS和Keepalived搭建高可用负载均衡服务器集群。

dvlinker的技术专栏 2535

LVS+Keepalived 高可用集群搭建

编写默认主页内容# 设置开机自启动# 进行测试。

2401_82745210的博客 1399

LVS实战:构建高可用服务器集群

在配置过程中,我们使用了IPVS工具来设置主服务器的转发规则,并使用keepalived来实现主备服务器之间的自动切换。通过这种配置,当主服务器发生故障时,备份服务器可以接管请求,从而实现高可用性。在构建高可用的服务器集群时,LVS(Linux Virtual Server)是一个强大的工具,它可以通过负载均衡和高可用性技术提供可靠的服务。本文将介绍如何使用LVS来搭建一个高可用的服务器集群,并提供相应的源代码。首先,在主服务器上创建一个虚拟IP地址(VIP),该VIP将被客户端用于访问服务器集群。

TpCode的博客 223

keepalived+lvs负载均衡搭建高可用Kubernetes集群

注意token是master节点初始化时,生产的如果忘记了。

悦分享 272

lvs+keepalived高可用集群

通过 LVS 和 Keepalived 配置高可用集群,可以实现负载均衡和主备切换的高可用性架构。这种架构适用于需要高性能和高可用性的网站或应用场景。

linux 1853

Windows 11“此应用已被管理员阻止运行”解决方案

通过本文介绍的两种方法,你应该能够解决Windows 11中“此应用已被管理员阻止运行”的问题。无论你选择创建新管理员账户还是禁用管理员批准模式,都请确保了解相关操作的风险,并根据你的实际需求做出选择。通过禁用“用户账户控制:以管理员批准模式运行所有管理员”设置,可以解决因系统安全设置导致的应用程序被阻止运行的问题。这种方法适用于那些希望简化管理员账户操作流程的用户,但需要注意可能带来的安全风险。通过创建并登录具有管理员权限的新账户,可以解决因系统安全设置导致的应用程序被阻止运行的问题。

mmoo_python的博客 1万+

Keepalived+LVS高可用集群

如果主服务器发生故障,备用服务器(Backup)会根据 VRRP 协议接管 VIP,继续提供服务,从而实现无缝的故障转移,确保服务的持续性。通过持续监控后端服务器的状态,Keepalived 能及时发现故障服务器,并将其从负载均衡池中移除,避免向不可用的服务器发送请求,直到服务器恢复正常。它会修改数据包的源 IP 地址(SNAT)和目标 IP 地址(DNAT),使得后端真实服务器(Real Server)的网关需要设置为负载均衡器的 IP 地址。这种模式的优点是支持端口映射,配置相对简单,适合小规模集群。

2403_86763298的博客 1832

电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似)

电赛综合测评题练习 文章目录电赛综合测评题练习前言1. 波形发生器1.1 题目说明1.1.1 可用器件1.1.2 设计要求1.1.3 设计方案论证1.2 仿真电路设计1.2.1 脉冲波发生器电路1.2.1.1 方案介绍1.2.1.2 理论分析与计算1.2.1.3 电路系统设计1.2.1.4 仿真方案与仿真测试结果1.2.2 锯齿波电路1.2.2.1 理论分析与计算1.2.2.2 电路系统设计1.2.2.3 仿真方案与仿真测试结果1.2.3 正弦波I电路1.2.3.1 理论分析与计算1.2.3.2 电路系

daydayup!的博客 3万+

Syzkaller实战教程2:运行环境配置+实例运行

本文详细介绍了在linux系统上搭建Syzkaller内核模糊测试环境的完整流程。 1.环境配置:通过VMware创建Ubuntu20.04虚拟机A,配置QEMU/KVM虚拟化环境,安装Go语言工具链和Syzkaller; 2.内核编译:下载Linux内核源码并配置KCOV等调试选项,编译生成带覆盖率支持的bzImage内核镜像; 3.测试环境构建:使用debootstrap创建Debian虚拟机镜像,通过QEMU启动嵌套虚拟机B; 实例测试: 4.演示两种测试场景 - 提供完整上手教程

cuguanren的博客 1375

[Linux] LVS+Keepalived高可用集群部署

Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。在一个LVS服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。keepalived体系架构中主要有三个模块,分别是core、check和vrrp。 ●core模块

热心网友 1940

【Cadence 17.4实战】----- 基于MySQL与ODBC的企业级CIS数据库配置全攻略

本文详细介绍了如何在Cadence 17.4中配置基于MySQL与ODBC的企业级CIS数据库,提升硬件设计团队的元器件管理效率。通过实战案例和避坑指南,帮助读者掌握数据库部署、ODBC驱动配置及CIS参数映射等关键技巧,实现设计数据的实时同步与高效管理。

weixin_30591551的博客 327

Keepalived:从原理到部署的高可用集群搭建指南

本文聚焦 Keepalived 高可用集群搭建,先阐释高可用集群基础概念,包括定义、衡量标准,解析脑裂问题成因与解决方案;介绍 Keepalived 基于 VRRP 协议的核心原理,及其核心模块功能。随后通过两大实战案例落地:基础案例搭建 Keepalived+Nginx 主备集群,实现 Web 服务高可用,补充监控脚本解决 Nginx 状态联动问题;进阶案例构建 Keepalived+LVS(DR 模式)集群,完成双 LVS 主备 + 双 Web 节点的负载均衡与高可用部署,验证了负载分发、主备切换、后端

Breeze的博客 1364

基于simulink创建一个针对双馈异步风力发电机并网运行的仿真模型

摘要:本文详细介绍了基于Simulink的双馈异步风力发电机(DFIG)并网运行仿真建模方法。系统包含风速输入、风力机、双馈发电机、电力电子变换器、控制器和并网接口等模块,通过8个步骤完整呈现了建模流程,包括风速模拟、机械功率计算、发电机特性建模、变流器控制策略设计等关键环节。仿真可评估系统在不同风速条件下的动态响应、最大功率跟踪能力和发电效率,为风力发电系统的优化设计提供有效验证手段。模型可根据实际需求扩展环境因素和电网交互等细节,提高仿真精度。

amy_mhd的博客 333

养龙虾之_因特尔UHD/ULtra/Arc核显跑大模型_安装ollama_跑qwen3.5:0.8b/9b_使用copaw1.0.1测试_并配置copaw技能效果炸裂---AI大模型应用探索0019

摘要:本文探讨了利用Intel UHD770核显运行大语言模型的可能性。通过使用Intel发布的ipex-llm项目工具包,成功在核显上运行了Qwen3.5系列模型。测试发现0.8B小模型运行流畅(3-5秒响应),但智能程度有限;而9B大模型虽然效果更好,但响应时间长达2分钟,且GPU/CPU占用率不高。实验证明Intel核显确实可以运行LLM,但实际效果和性能表现仍有提升空间,特别是对大模型的支持尚不理想。

添柴程序猿的专栏 231

LVS 集群技术详解与实战部署

在高并发业务场景中,单台服务器往往难以承载大量的访问请求,此时集群技术成为提升系统性能与可用性的关键。LVS(Linux Virtual Server,Linux 虚拟服务器)作为 Linux 内核集成的负载均衡技术,能够将请求高效分发到多台真实服务器,实现负载均衡。本文将从理论到实战,详细介绍 LVS 集群技术,包括核心原理、部署命令及多个实战案例,助你快速掌握 LVS 的应用。

Ap0415的博客 963

目标检测YOLO实战应用案例100讲-基于YOLOv7的番茄采摘机械手场景感知及试验(下)

根据软件系统的设计需求,制定系统的可行性方案分析,编写系统的相关程序和 调试运行环境,对系统进行测试,以实现对番茄数据的采集及监测。登陆界面登陆后,进入选择界面,菜单包括了对番茄种植棚室的固定相机数据的监测、 对番茄采摘机械手的双目相机采集的番茄的静态、动态数据的获取、对番茄静态、动态数 据处理的功能菜单等选项。与利用人工去进行对于番茄果实的识别和数目的统计相比,番茄视觉系统自动记录番 茄数量以及红色已经成熟的番茄、青色未成熟番茄的数量,减轻人工记录的工作量,减少 人工记录的误差,从经济方面是可行的。

qq_36130719的博客 812

Linux服务之lvs集群与dr模式部署

目标地址哈希,第一次轮询调度至RS,后续将发往同一个目标地址的请求始终转发至第一次挑中的RS,典型使用场景是正向代理缓存场景中的负载均衡,如: Web缓存。6、LBLCR:LBLC with Replication,带复制功能的LBLC,解决LBLC负载不均衡问题,从负载重的复制到负载轻的RS,,实现Web Cache等。-s: 指定负载调度算法(轮询: rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc 默认的 )静态方法: 不管后端真实服务器的 状态,根据自身 算法进行调度。

yinglongdiwan的博客 1195

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Linux集群架构搭载高可用负载均衡集群

该算法简称LBLCR,也是针对目标IP地址的负载均衡,它与LBLC算法的不同之处是:它要维护从一个目标IP地址到一组服务器的映射,面LBLC算法是维护从一个目标IP地址到一台服务器的映射。算法的设计目标是在服务器的负载基本平衡的情况下,将相同目标IP地址的请求调度到同一台服务器,来提高各台服务器的访问局部性和主存Cache命中率。该算法正好与目标地址散列调度算法相反,它根据请求的源IP地址,作为散列键从静态分配的散表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空。

2401_86247463的博客 1954

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Nginx 实战系列(九)—— LVS负载均衡集群与DR模式部署指南

本文介绍了LVS负载均衡技术的核心概念与DR模式部署方案。LVS作为Linux内核自带的负载均衡解决方案,提供了NAT、TUN和DR三种工作模式,其中DR模式性能最优,通过直接路由实现高吞吐量。文章详细分析了DR模式的数据流向、ARP问题及解决方案,并提供了完整的配置步骤,包括负载调度器设置、内核参数调整和真实服务器配置。通过LVS-DR模式,可以实现高性能、低延迟的负载均衡集群,适用于大规模并发场景。

荣光波比的博客 2046

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LVS集群(Linux Virtual server)介绍----及LVS的NAT模式部署(一)

LVS:Linux Virtual Server,负载调度器,内核集成,章文嵩(花名正明), 阿里的四层SLB(Server Load Balance)是基于LVS+keepalived实现LVS 官网:http://www.linuxvirtualserver.org/阿里SLB和LVS:LVS。

zzzxxx520369的博客 2218

部署LVS教程:从基础到高可用集群搭建完整教程

本文详细介绍了LVS的离线部署方案,涵盖单节点基础版到高可用集群的完整搭建过程。采用LVS-DR模式和Keepalived实现高可用,适用于无网络环境。教程包含环境准备、离线软件包获取、安装步骤,以及单节点LVS-DR配置(包括Real Server设置和ipvsadm规则配置)。高可用部分则通过两台LVS节点(主备)实现,详细说明了Keepalived的配置方法。所有操作均基于CentOS/Rocky Linux系统,提供了完整的脚本和命令示例,确保读者能够按步骤完成部署。

chunzhi128的博客 1071

构建高性能Linux Virtual Server(LVS)集群

在当今互联网服务环境中,高并发、高可用是衡量系统性能和稳定性的关键指标。为了应对海量请求和实现系统的稳定性,负载均衡技术成为不可或缺的一环。其中,Linux Virtual Server(LVS)作为基于Linux内核的开源负载均衡解决方案,凭借其高效能与灵活配置的特点,在众多场景下得到广泛应用。接下来,我们将深入探讨如何构建一个LVS集群

hy199707的博客 2232

LVS+Keepalived高可用集群部署

文章目录一、理解Keepalived实现原理1.1 Keepalived使用场景1.2 Keepalived工具介绍1.3 Keepalived实现原理剖析二、Keepalived的部署2.1 Keepalived案例讲解2.2 Keepalived安装与启动2.3 配置Keepalived master服务器2.4 Keepalived双机热备效果测试三、LVS+Keepalived高可用群集部署3.1 案例:负载均衡+高可用群集3.2 案例拓扑四、实操 一、理解Keepalived实现原理 1.1 Ke

weixin_56670610的博客 669
上一篇: Linux常用服务部署实战一:Linux运维高级技能分享
下一篇: Linux常用服务部署实战三(万字长文):分布式存储-GlusterFS
magento全栈开发
博客等级 码龄11年 195粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值