Keepalived在活动的LVS路由以及一个或多个可选的备用LVS路由上运行。主动LVS路由上有两个作用:
- 平衡真是服务器上的负载。
- 检查每个真是服务的完整性。
活动(主)路由器使用虚拟路由冗余协议(VRRP)通知备用路由器其活动状态,协议要求主动路由器定期发送advertisements报文。如果活动路由器停止发送advertisements报文,则选择新的主节点。
Too young, too simple. Sometimes, naive & stupid
Keepalived在活动的LVS路由以及一个或多个可选的备用LVS路由上运行。主动LVS路由上有两个作用:
活动(主)路由器使用虚拟路由冗余协议(VRRP)通知备用路由器其活动状态,协议要求主动路由器定期发送advertisements报文。如果活动路由器停止发送advertisements报文,则选择新的主节点。
global
设置配置适用于运行HAProxy的所有服务器的参数。global
部分可能如下:
1 | global |
在上面的配置中,管理员已将服务配置log
为本地syslog
服务器的所有条目。默认情况下,这可能是/var/log/syslog
或某些指定的位置。
maxconn
参数指定服务器的最大并发连接数。默认情况下,最大值为2000。
user
和group
参数指定haproxy
进程所属的用户名和租名。
最后daemon
参数指定haproxy
作为后台进程运行。
所谓云计算,其实就是基于虚拟化产生的一种消费方式,可以这样一句话概括:
N个物理区域中,分别运行着M * N个节点的虚拟化节点,由这些节点组成了一个或多个虚拟化集群,在这个集群上运行着N多个虚拟机实例,向互联网上的消费者提供虚拟机实例以供计算,这就是公有云;自建自用,就是私有云;自建了还额花钱买了其他运营商提供的计算虚拟机实例,就是混合云(这里仅仅说的是计算资源,其他存储或网络资源同理)。
当然,如果你可以编排物理机,也是可以成为云计算的。(物理机好比拿地盖房子,虚拟机好比购买公寓)
如果你不知道虚拟化是什么,这样你下一个virtualbox
安装体验一下,虚拟化软件就像你去电脑城买笔记本,你可以跟虚拟化软件说,我要几颗CPU,多大内存,多大硬盘,什么网卡(前提你有)。用的时候你一创建,不玩了你点删除,就没了。
生产环境,主流的虚拟化主要是这几种:VMware、Xen、KVM等。
这里说qemu-kvm,从名字上来看,emu
就是Emulator
(模拟器),主要模拟CPU、RAM(内存)、网络、硬盘,使得虚拟机感觉自己在使用独立的硬件资源,但真正使用的时候,肯定是要用物理设备的。
例如,多个虚拟机轮流使用物理CPU(这个具体可以google一下),内存是使用虚拟内存映射的方式,最终映射到物理内存上。硬盘简单一些,你笔记本有500GB,新建一个20GB空文件(当然,要根据要求的格式创建),这就是你虚拟机的磁盘。
虚拟化软件是什么?骗子,向上骗虚拟机里面的应用,让他们感觉自己是在用真实的硬件资源,其实自己啥也没有,全部向下从物理机里面取。
可以在/etc/haproxy/haproxy.cfg
配置文件的backend
部分的balance
参数中编辑用于负载均衡的HAProxy调度算法。注意,HAProxy支持具有多个后端的配置,并且每个后端都可以配置调度算法。
Round-Robin(roundrobin)
按顺序在真实服务器池分配每个请求。使用此算法,所有真实服务器都被视为同等,而不考虑容量或负载。此调度模型类似于循环DNS,但由于它是基于网络连接而不是主机,因此更加精细。负载均衡循环调度也不会遭受DNS缓存查询导致的不平衡。但是在HAProxy中,由于服务器的权重配置可以使用此调度程序即时完成,因此活动服务器的数量限制为每个后端。
潜在的入侵者可以使用各种工具,是他么能够中断、拦截和重新路由网络流量,从而获得对计算机系统的访问权限。一般来说,威胁可以分为以下几类:
拦截两个系统之间的通信
攻击者可以在通信方面的网络上的某个地方,复制他们之间传递的任何信息。他可以拦截并保留信息,或者更改信息并将其发送给预期的收件人。
此流量通常使用数据包嗅探器执行,数据包嗅探器是一种相当常见的网络实用程序,可捕获流经网络的每个数据包,并分析其内容。
假冒特定主机
攻击者的系统被配置被构成传输的预期接收者。如果此策略有效,则用户的系统仍然不知道它正在与错误的主机通信。
可以使用称为DNS poisoning的技术或通过所谓的IP欺骗来执行此攻击。在第一种情况下,入侵者使用破解的DNS服务器将客户端系统指向恶意复制的主机,在第二种情况下,入侵者发送看似来自可信主机的伪造网络数据包。
这两种技术都可以拦截潜在的敏感信息,如果拦截是出于敌意的原因,结果可能是灾难性的。如果使用SSH进行远程shell登录和文件复制,则可以大大减少这些安全威胁。这是因为SSH客户端和服务器使用数字签名来验证其身份。此外,客户端和服务器系统之间的所有通信都是加密的。欺骗通信双方的身份是行不通的,因为每个数据包都使用仅由本地和远程系统知道的秘钥加密。
要从客户端连接到OpenSSH服务器,必须安装openssh-clients
软件包。
结构化程序设计方法出现的背景
计算机发展的初期,评价软件质量主要看占内存容量的大小和运行速度的快慢
程序设计的目标