##########################################################################################
第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. ...