介绍

本文将对keepalived的工作原理和集群配置进行介绍。

工作原理

  • keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障。

  • keepalived主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。

  • keepalived是以VRRP(Virtual Router Redundancy Protocol,即虚拟路由冗余协议)为基础来实现的,VRRP可以认为是实现路由器高可用的协议, 即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(virtual ip), master会发组播,当backup收不到vrrp包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master,这样的话就可以保证路由器的高可用了。

  • VRRP每个节点是有自己的优先级的,一般优先级是从0-255,数字越大优先级越高。

  • keepalived支持LVS功能,与nginx/haproxy是七层负载均衡不通,LVS是四层负载均衡。

Read More

介绍

本文将对Linux下的代码调试工具GDB的常用命令进行介绍。

GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具, 主要用于调试C/C++程序。

常用命令

backtrace

显示栈信息

Read More

介绍

本文将对iptables的基本原理进行介绍,并进行一些实践操作。

基本原理

netfilter模块

iptables被用来配置系统的防火墙,底层是通过Linux操作系统的内核模块netfilter来完成的, netfilter可实现安全策略中的许多功能:

  • 数据包过滤
  • 数据包处理
  • 地址伪装
  • 透明代理
  • 动态网络地址转换(NAT)
  • 包速率限制
  • 负载均衡

iptables可以灵活的组织这些功能,从而形成强大的防火墙。

Read More

介绍

本文将对Linux常用的一些设置进行介绍。

cgroup设置

利用cgroup对系统的 CPU / MEM / IO 等资源进行监控与限制

1) 可用子系统

序号 子系统 说明
1 blkio 为块设备设定输入/输出限制(如,物理设备)
2 cpu 使用调度程序提供对CPU的cgroup任务访问。(控制CPU的利用率)
3 cpuacct 自动生成cgroup中任务所使用的CPU报告
4 cpuset 为cgroup中的任务分配独立CPU和内存节点
5 devices 允许或者拒绝cgroup中的任务访问设备
6 freezer 挂起或者恢复cgroup中的任务
7 memory 设定cgroup中的任务使用内存限制
8 net_cls 使用等级识别符(classid)标记网络数据包,允许Linux流量控制程序(tc)识别从具体cgroup中生成的数据包

Read More

介绍

本文主要对Linux常用的性能分析工具进行介绍.

性能分析工具

top

动态地显示系统的整体运行状况

[renyl@localhost ~]$ top -b -d 1 -n 1 | head -10
top - 22:57:49 up 6 min,  1 user,  load average: 0.00, 0.05, 0.03
Tasks: 241 total,   1 running, 240 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.8 us,  0.9 sy,  0.1 ni, 96.7 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7868508 total,  6128392 free,   809416 used,   930700 buff/cache
KiB Swap:  1952764 total,  1952764 free,        0 used.  6628776 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1719 renyl     20   0 2037956 143124  60636 S  12.5  1.8   0:06.05 gnome-shell
 2242 renyl     20   0  758876  36848  27336 S   6.2  0.5   0:02.29 gnome-terminal-
    1 root      20   0  128304   5948   3948 S   0.0  0.1   0:01.58 systemd
[renyl@localhost ~]$

Read More

介绍

本文将对git的基本原理和常用命令进行介绍。

Git是什么

Git(the stupid content tracker) 是一款免费、开源的分布式版本控制系统

Git的特点

  • 直接记录快照,而非差异比较
  • 几乎所有操作都是本地执行
  • 时刻保持数据完整性(SHA-1 算法)

Read More

介绍

shell多行注释

  • 正式表达式
:2,5s/^/#/      (添加注释符#从第2行到第5行)
:2,5s/^#//      (去掉注释符#从第2行到第5行)
  • here文档
:<<\EOF
…
注释内容
…
EOF

说明:由于”:”是空命令,把输入重定义到命令”:”后,就相当于注释了。

  • 循环实现
whiledo
	break
	注释内容
done 

说明:如果注释内容中含有“done”,会造成意外循环结束。

Read More