##########################################################################################

第4章《构建高可用Linux集群》


一、负载均衡器


1. F5 BIG-IP硬件负载均衡器


2. LVS(Linux virtual servers)负载均衡器

(1) NAT实现虚拟服务器:流量都要经过负载均衡器,存在瓶颈;-> 最普遍,通过混合下面两种方法改善

(2) 通过IP隧道实现虚拟服务器:负载调度器只负责调度请求,由后端服务器建立IP隧道直接返回给客户;—>需要后端服务器都支持 IP tunneling/IP Encapsulation.

(3) 直接路由实现虚拟服务器:不改目标IP,只修改MAC为后端服务器的MAC地址在本地局域网发送(ARP)。响应报文直接由IP地址路由出去 -> 因此要求调度器和后端服务器有一块网卡在同一物理网段上。


3. Nginx 负载均衡器

工作在网络7层之上,依赖小;只支持http和Email,不支持Session的直接保持。


4. HAProxy 负载均衡器

工作在第四层TCP和第七层HTTP,支持Session保持,Cookie引导


5. 高可用软件Keepalived:对故障进行隔离及负载均衡器间的失败切换。


6. 高可用软件Heartbeat:资源接管,共享IP转移


7. 高可用块设备DRBD


二、回话保持Session同步(几个连续地请求需要在同一个服务器上完成,比如一笔交易/在这个界面上输入用户名密码)

1. 方法:Cookie、数据库、Memcache内存共享


2. 保持机制:

(1)简单会话保持:通过子网掩码,将同个网段保持在相同服务器 -> 容易导致负载均衡失调;

(2)Cookie会话保持:插入、重写、Passive、Hash模式等 -> Cookie相当于标识符;

(3)ssh会话保持:通过交换密钥/证书识别用户


3. LVS、Nginx ip_hash、HAProxy balance source会话保持


4. VRRP(虚拟路由冗余协议):主控路由和备份路由。主控路由故障,能迅速切换默认网关到备份路由。


三、案例:

1. Nginx + Keepalived作为Web负载均衡高可用;


2. 一些简单的服务检测并重启的shell脚本也是高可用的体现;


四、网站架构

1. 网页缓存层 -> CDN租赁


2. 负载均衡层 -> Nginx/HAproxy


3. Web层 -> Apache


4. 文件服务器层

(1) 单NFS + 备NFS

(2) DRBD + Heartbeat + NFS

(3) 分布式文件系统MFS、Gluster


5. 数据库层 (频繁读写,IO问题)

##########################################################################################

第5章《MySQL性能调优和高可用》


一、数据库性能调优


1. 硬件优化:用RAID1+0,而不用RAID5


2. my.cnf 参数优化


3. 根据实际情况调整 如连接数、进程使用率、文件打开数


4. DRBD + Heartbeat + MySQL双机高可用,可以用两根心跳线


5. MySQL Proxy 读写分离


6. MySQL 数据库备份

(1) 逻辑备份:mysqldump得到.sql文件

(2) 物理备份:其实就是复制。冷备份、热备份:mysqlhotcopy

##########################################################################################

第6章《分布式自动化部署管理工具puppet》


1. C/S工作模式


2. 功能

(1) 自动安装软件包 package{}

(2) 自动执行shell脚本 file + exec

(3) 同步puppet + rsync

(4) ERB模版自动配置Apache虚拟主机


3. 优化

puppet-master 解析缓慢 -> 配置多端口 + Nginx


第8章 《Linux防火墙及系统安全》


1. TCP 建立连接三次握手和断开连接4次握手;

2. ...