www.hj8828.com 6

课程表

【博文推荐】Linux企业运维高效技巧心得及分享(1)

本博文出自Bkjia博主 吴光科 的博客,有任何问题请进入博主页面互动讨论!

博文地址:http://wgkgood.blog.51cto.com/1192594/1641247

随着Linux在企业中的不断飞速的应用,为了企业中更好的运维,熟悉日常运维的技巧能更好的满足企业的发展,同时让我们的运维更加轻松,不再觉得运维是苦逼的活,真正去锻炼去成长去磨练。

让我们的运维更有”韵味”,让我们的生活更加美好。
通过本次课程的学习,我会把我在日常运维中的心得和体会分享给大家,让大家得到真正的知识,然后应用在自己的运维工作中。

那我们需要注意什么呢:

1) Linux行业目标

我们要明白学习Linux运维的目的,相信大家都是为了能找到一份非常好的工作,一个高薪的工作,不断的练习,不断的成长。

通过工作,让我们的生活更加的完整和充实。

2) Linux学习路线

在明白自己的大的目标之后,我们需要分解大目标,接下来就是真正去行动,去朝着小目标努力,有哪些小目标呢?

计算机基础知识—>硬件认识—>windows系统日常操作—>Linux系统入门—>Linux目录及权限学习—>linux必备20个命令(ls
pwd cd cat useradd groupadd rm cp chown chmod vi find grep ps free top
sed awk if for case wc yum rpm tar unzip more head tail等)

—>Linux简单服务器搭建(掌握tar常见文件解压方式,掌握安装软件的方法:

yum install方式安装;源码编译安装三步,configure、make、make install)

—>Apache服务构建—>Mysql服务搭建—>PHP服务器搭建—>LAMP架构整合discuz论坛—>Kickstart自动化系统安装—>cacti监控部署—>Shell脚本编程(包括各种语句的学习,if
for awk for while sed等)—>Linux高级服务器搭建—>Nginx
WEB服务器搭建—>Tomcat服务器搭建—>resin服务器搭建—>Nginx均衡java服务器—>LNMP架构搭建(yum/源码)—>Nginx动静分离—>LVS+Keepalived负载均衡部署—>LVS+Keepalived+Nginx+Tomcat均衡架构部署—>高级Shell编写—>自动化运维学习(KVM、Puppet、ZABBIX、Ansible、Mysql+DRBD等)

3) 编辑器命令技巧

熟悉命令行及vi编辑器的查找,匹配删除、跳转等等,例如在shell命令行里ctrl
+a跳转到最前,ctrl +e跳转到最末尾。

www.hj8828.com 1

在vi编辑器里面:

Shift + ^跳转到开头,shift + $跳转到末尾。

匹配/word字符,删除光标所在字符按x即可,跳转到文本最末行按G,跳转到文本首行按gg。

同时删除光标行至文本最后一行:dG

删除光标行至文本第一行:dgg

4) 系统运行状态监测

www.hj8828.com,可以使用free –m查看内存剩余大小,通常看

-/+ buffers/cache: 881 112(该值大约为真实内存值) 

www.hj8828.com 2

可以使用df –h查看到tmpfs内存文件系统,加速静态文件及图片:

www.hj8828.com 3

查看本地网卡流量技巧:

yum install iftop -y 

iftop -i eth0查看结果如下图:

www.hj8828.com 4

中间<= =>这两个左右箭头,表示的是流量的方向。 TX:发送流量。 RX:接收流量。 TOTAL:总流量。 Cumm:运行iftop到目前时间的总流量。 peak:流量峰值。 rates:分别表示过去 2s 10s 40s 的平均流量。 

www.hj8828.com 5


)
本博文出自Bkjia博主 吴光科 的博客,有任何问题请进入博主页面互动讨论!
博文地址 :…

Unit02: 微软产品介绍 、 TCPIP协议及配置am
Unit02: 微软产品介绍 、 TCPIP协议及配置pm
Unit03: 本地用户与组 、 NTFS权限am
Unit03: 本地用户与组 、 NTFS权限pm
Unit04: 文件共享 、 磁盘管理am
Unit04: 文件共享 、 磁盘管理pm
Unit01: 计算机网络 、 数制 、 网络通信参考模型am
Unit02: 物理层解析 、 综合布线 、 交换机命令行am
Unit02: 物理层解析 、 综合布线 、 交换机命令行pm
Unit03: 数据链路层协议 、 交换机基本配置am
Unit03: 数据链路层协议 、 交换机基本配置pm
Unit04: ip包格式及IP地址 、 网络层协议及设备am
Unit04: ip包格式及IP地址 、 网络层协议及设备pm
Unit05: 传输层 、 应用层am
Unit05: 传输层 、 应用层pm
Unit01: VLAN 、 Trunk 、 以太通道及DHCPam
Unit01: VLAN 、 Trunk 、 以太通道及DHCPpm
Unit02: valn间通讯 、 动态路由am
Unit02: valn间通讯 、 动态路由pm
Unit03: HSRP热备份路由协议 、 STP生成树协议am
Unit03: HSRP热备份路由协议 、 STP生成树协议pm
Unit04: 标准与扩展ACL 、 命名ACLam
Unit04: 标准与扩展ACL 、 命名ACLpm
Unit01: 阶段介绍+学习方法 、 Linux系统简介 、 安装Linux系统 、
RHEL6基本操作pm
Unit02: Linux命令行基础 、 基础命令操作 、 目录文件基本操作am
Unit02: Linux命令行基础 、 基础命令操作 、 目录文件基本操作pm
Unit03: 文件内容操作 、 归档及压缩 、 程序和文件查找am
Unit03: 文件内容操作 、 归档及压缩 、 程序和文件查找am1
Unit03: 文件内容操作 、 归档及压缩 、 程序和文件查找pm
Unit04: vim文本编辑器 、 光盘文件的使用 、 RPM软件包管理am
Unit04: vim文本编辑器 、 光盘文件的使用 、 RPM软件包管理pm
Unit05: Yum软件包管理 、 源代码编译安装am
Unit05: Yum软件包管理 、 源代码编译安装pm
Unit06: 用户账号管理 、 组账号管理am
Unit06: 用户账号管理 、 组账号管理pm
Unit07: Linux补充知识 、 扩展应用案例 、 Shell基础am
Unit07: Linux补充知识 、 扩展应用案例 、 Shell基础pm
Unit01: 基本权限和归属 、 特殊权限 、 ACL权限am
Unit01: 基本权限和归属 、 特殊权限 、 ACL权限pm
Unit02: 磁盘分区及格式化 、 扩展Swap空间 、 文件系统管理am
Unit02: 磁盘分区及格式化 、 扩展Swap空间 、 文件系统管理pm
Unit03: LVM逻辑卷管理 、 RAID磁盘阵列管理 、 服务管理am
Unit03: LVM逻辑卷管理 、 RAID磁盘阵列管理 、 服务管理pm
Unit04: 计划任务 、 进程管理 、 Linux启动流程am
Unit04: 计划任务 、 进程管理 、 Linux启动流程pm
Unit05: 查看及测试网络 、 配置网络地址am
Unit05: 查看及测试网络 、 配置网络地址pm
Unit06: linux远程控制 、 系统日志管理 、 logrotate日志轮转 、
系统故障排除am
Unit06: linux远程控制 、 系统日志管理 、 logrotate日志轮转 、
系统故障排除pm
Unit07: 项目前准备 、 项目介绍及分析 、 项目实施am
Unit07: 项目前准备 、 项目介绍及分析 、 项目实施pm
Unit01: vsftpd文件传输 、 Samba共享服务am
Unit01: vsftpd文件传输 、 Samba共享服务pm
Unit02: NFS网络文件系统 、 Web基础应用 、 LAMP平台构建 、
PHP应用部署am
Unit03: DNS基础应用 、 多区域及特殊解析 、 构建主从DNSam
Unit03: DNS基础应用 、 多区域及特殊解析 、 构建主从DNSpm
Unit04: DHCP搭建与维护 、 PXE网络装机 、 无人值守装机an
Unit04: DHCP搭建与维护 、 PXE网络装机 、 无人值守装机pm
Unit01: 虚拟化概述 、 构建KVM平台 、 管理KVM平台pm
Unit02: KVM命令管理 、 虚拟机LVM应用am
Unit02: KVM命令管理 、 虚拟机LVM应用pm
Unit03: DNS子域授权 、 Sqlit分离解析 、 缓存DNS服务器am
Unit03: DNS子域授权 、 Sqlit分离解析 、 缓存DNS服务器pm
Unit04: 邮件系统概述 、 Postfix发信服务器 、 Dovecot收信服务 、
SMTP认证控制am
Unit04: 邮件系统概述 、 Postfix发信服务器 、 Dovecot收信服务 、
SMTP认证控制pm
Unit05: rsync远程同步 、 项目实战:EMOSam
Unit05: rsync远程同步 、 项目实战:EMOSpm
Unit01: Shell概述 、 编写及执行脚本 、 Shell变量am
Unit01: Shell概述 、 编写及执行脚本 、 Shell变量pm
Unit02: 数值运算 、 条件测试 、 if选择结构am
Unit02: 数值运算 、 条件测试 、 if选择结构pm
Unit03: 循环结构 、 服务脚本设计 、 函数及中断控制am
Unit03: 循环结构 、 服务脚本设计 、 函数及中断控制pm
Unit04: 字符串处理 、 扩展的脚本技巧 、 正则表达式am
Unit04: 字符串处理 、 扩展的脚本技巧 、 正则表达式pm
Unit05: sed基本用法 、 sed文本块处理 、 sed高级应用am
Unit05: sed基本用法 、 sed文本块处理 、 sed高级应用pm
Unit06: awk基本用法 、 awk高级应用am
Unit06: awk基本用法 、 awk高级应用pm
Unit01: 数据库服务概述 、 构建MySQL服务器 、 数据库基本管理 、
MySQL数据类型am
Unit01: 数据库服务概述 、 构建MySQL服务器 、 数据库基本管理 、
MySQL数据类型pm
Unit02: 表结构的调整 、 MySQL索引类型am
Unit02: 表结构的调整 、 MySQL索引类型pm
Unit03: MySQL存储引擎 、 数据导入导出 、 查询及匹配条件 、
表记录基本操作am
Unit03: MySQL存储引擎 、 数据导入导出 、 查询及匹配条件 、
表记录基本操作pm
Unit04: 用户授权及撤销 、 数据备份与恢复 、 MySQL管理工具pm
Unit05: 实时增量备份 、 XtraBackup备份 、 MySQL主从同步am
Unit05: 实时增量备份 、 XtraBackup备份 、 MySQL主从同步pm
Unit06: MySQL主从同步 、 MySQL读写分离 、 MySQL性能调优am
Unit06: MySQL主从同步 、 MySQL读写分离 、 MySQL性能调优pm
Unit07: MMM集群概念 、 部署集群基础环境 、 MMM集群部署am
Unit07: MMM集群概念 、 部署集群基础环境 、 MMM集群部署pm
Unit01: 监控概述 、
NagIOS监控服务 、
Nagios监控案例am
Unit01: 监控概述 、 Nagios监控服务 、 Nagios监控案例pm
Unit02: Cacti监控服务器 、 Cacti监控案例am
Unit02: Cacti监控服务器 、 Cacti监控案例pm
Unit03: 其他知识 、 Zabbix监控机制 、 Zabbix报警机制am
Unit03: 其他知识 、 Zabbix监控机制 、 Zabbix报警机制pm
Unit01: 运维概述 、 Squid代理服务器am
Unit01: 运维概述 、 Squid代理服务器pm
Unit02: ACL访问控制列表 、 Nginx服务器am
Unit02: ACL访问控制列表 、 Nginx服务器pm
Unit03: Nginx虚拟主机 、 Nginx反向代理 、 部署LNMPam
Unit03: Nginx虚拟主机 、 Nginx反向代理 、 部署LNMPpm
Unit04: Nginx+FastCGI 、 Nginx高级技术 、 memcached原理 、
部署memcachedam
Unit04: Nginx+FastCGI 、 Nginx高级技术 、 memcached原理 、
部署memcachedpm
Unit05: Session共享 、 Nginx常见问题 、 项目实战CDNam
Unit05: Session共享 、 Nginx常见问题 、 项目实战CDNpm
Unit01: 信息安全概述 、 Linux基本防护 、 引导和登陆控制 、
用户切换与提权am
Unit01: 信息安全概述 、 Linux基本防护 、 引导和登陆控制 、
用户切换与提权pm
Unit02: SSH访问控制 、 TCPWrappers防护 、 PAM可插拔认证am
Unit02: SSH访问控制 、 TCPWrappers防护 、 PAM可插拔认证pm
Unit03: SELinux安全防护 、 加密与解密 、 CA数字证书服务am
Unit03: SELinux安全防护 、 加密与解密 、 CA数字证书服务pm
Unit04: 配置HTTPSSL 、 邮件服务TLSSSL 、 扫描与抓包am
Unit04: 配置HTTPSSL 、 邮件服务TLSSSL 、 扫描与抓包pm
Unit05: 包过滤防火墙 、 iptables基本管理 、 filter表控制 、
iptables状态匹配am
Unit05: 包过滤防火墙 、 iptables基本管理 、 filter表控制 、
iptables状态匹配pm
Unit06: 扩展条件的应用 、 nat表典型应用 、 防火墙脚本am
Unit06: 扩展条件的应用 、 nat表典型应用 、 防火墙脚本pm
Unit01: 存储技术与应用 、 ISCSI技术应用 、 udev配置 、 构建IP
SAN存储am
Unit01: 存储技术与应用 、 ISCSI技术应用 、 udev配置 、 构建IP
SAN存储pm
Unit02: 集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群am
Unit02: 集群及LVS简介 、 LVS-NAT集群 、 LVS-DR集群pm
Unit03: HAProxy服务器 、 Keepalived热备 、 Keepalived+LVSam
Unit03: HAProxy服务器 、 Keepalived热备 、 Keepalived+LVSpm
Unit04: RHCS概述 、 搭建RHCS集群环境 、 RHCS高可用服务器am
Unit04: RHCS概述 、 搭建RHCS集群环境 、 RHCS高可用服务器pm
Unit01: Python概述 、
python起步 、 数据类型 、 判断语句am
Unit01: python概述 、 python起步 、 数据类型 、 判断语句pm
Unit02: 循环语句 、 文件对象 、 函数 、 模块am
Unit02: 循环语句 、 文件对象 、 函数 、 模块pm
Unit03: python基础 、 python对象 、 数字am
Unit03: python基础 、 python对象 、 数字pm
Unit04: 字符串 、 列表 、 元组am
Unit04: 字符串 、 列表 、 元组pm
Unit05: 字典和集合 、 条件和循环 、 文件和输入输出am
Unit05: 字典和集合 、 条件和循环 、 文件和输入输出pm
Unit01: 错误和异常 、 函数基础am
Unit01: 错误和异常 、 函数基础pm
Unit02: 函数高级应用 、 模块am
Unit02: 函数高级应用 、 模块pm
Unit03:
面向对象编程 、
组合和派生am
Unit03: 面向对象编程 、 组合和派生pm
Unit04: re模块 、 socket模块am
Unit04: re模块 、 socket模块pm
Unit05: xinetd 、 forking 、 多线程处理am
Unit05: xinetd 、 forking 、 多线程处理pm
Unit01: RHEL7概述 、 systemd 、 网络及防火墙 、 GRUB2am
Unit01: RHEL7概述 、 systemd 、 网络及防火墙 、 GRUB2pm
Unit02: Openstack概述 、 Openstack云管理am
Unit02: Openstack概述 、 Openstack云管理pm
Unit03: Keystone实战 、 Swift实战 、 Cinder实战am
Unit03: Keystone实战 、 Swift实战 、 Cinder实战pm

  上一篇写了nginx负载均衡,此篇实现高可用(HA)。系统整体设计是采用Nginx做负载均衡,若出现Nginx单机故障,则导致整个系统无法正常运行。针对系统架构设计的高可用要求,我们需要解决Nginx负载均衡出现单机故障时,系统正常运行的需求。所以系统架构引入Keepalived组件,实现系统高可用。

  一、Keepalived介绍

   Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux
Virtual Server)使用,其功能类似于heartbeat,解决单机宕机的问题。

 


 

  二、Keepalived技术原理

   keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router
Redundancy
Protocol,即虚拟路由冗余协议。通过VRRP协议结合LVS,对组群服务器监控情况,若master出现宕机情况,则将VIP漂移到backup机上。实现了分布式系统高可用。可以理解为:keepalived是LVS的管理软件,根据监控情况,将宕机服务器从ipvsadm移除掉。

 


 

  三、Keepalived+LVS+Nginx实现系统高可用

  www.hj8828.com 6

 
服务器 IP地址 说明
虚拟IP 192.168.1.120:80  
主机 192.168.1.104:80  
备机 192.168.1.103:80  
Web站点A 192.168.1.101:8081 不同端口
Web站点B 192.168.1.101:8082 不同端口