Home >
  • 【分享】LVS DR/TUN 模式下的ARP配置问题总结

    摘星怪  /
     / 工作记录
    LVS ARP问题描述: 在LVS的DR模式下,有一个必须要处理的问题就是real server上的ARP响应问题。其实,这个问题不只是LVS,其他的L4 Switch方案比如Foundry的ServerIron,也需要设置real server上的ARP响应。因为这是这种方案的结构决定的。     根据LVS官方说明,在LVS 的DR模式下,前端的director接收到用户请求以后,director根据后端real server的负载情况,动态地选择一台real server,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出的real server的MAC地址,再将修改后的数据帧在后端本地局域网上发...
    阅读全文 →
  • 【分享】Logrotate + syslogd 日志轮换管理工具总结

    Logrotate的介绍 logrotate是在规定时间到了之后才来进行日志文件的轮替,所以logrotate程序是挂在cron下面进行的,/etc/cron.daily/logrotate记录了每天要进行的日志文件轮替行为。 logrotate的配置文件: /etc/logrotate.conf /etc/logrotate.d/ logrotate.conf 是主要的参数文件,logrotate.d 是一个目录,该目录里面的所有数据都会被主动读入/etc/logrotate.conf 当中来进行。 另外,在/etc/logrotate.d/ 里面的文件中,如果没有指定一些详细的设置,则以 /etc/logrotate.conf 的规定来指定为默认值。 显而...
    阅读全文 →
  • 【分享】keepalived 配置文件(V1.2.24) 中文版详解

    【写在前面】 网上看到的一篇非常不错的介绍keepalived配置文件参数的文章,转载记录研究用 原文链接:https://blog.csdn.net/fruler/article/details/53334082   【文章正文】 创建本文的目的 笔者最近在详细研究keepalived软件,发现网上关于这方面的详细描述较少,需要案例配置参数在新版本中已经失效。keepalived官方网站提供的文档资料,虽然以案例为基础,提供了较为常用的参数配置,但是笔者发现许多参数并未提及。作为IT行业的人,似懂非懂只能做一个三流的技术人员,本着刨根问题的精神,创建了该篇文章...
    阅读全文 →
  • MySQL ”Innodb_buffer_pool_siz “缓存参数优化总结

    无论是对于哪一种数据库来说,缓存技术都是提高数据库性能的关键技术,物理磁盘的访问速度永 远都会与内存的访问速度永远都不是一个数量级的。通过缓存技术无论是在读还是写方面都可以大大提 高数据库整体性能。   注意:在MySQL  5.5 、5.6 等以前的版本里,调整innodb_buffer_pool_size大小必须重启mysql进程才可以生效,而在MySQL  5.7 版本里,可以直接动态设置,但是在调整Buffer_Pool期间,用户的请求会阻塞,直到调整完毕,所以请勿业务高峰期调整,可选择在业务低峰期调整。 Innodb_buffer_pool_size 的合...
    阅读全文 →
  • 【分享】MySQL报ERROR : (2006, ‘MySQL server has gone away’)的问题

    mysql出现ERROR : (2006, 'MySQL server has gone away') 的问题意思就是指client和MySQL server之间的链接断开了。 造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大(例如使用insert ... values的语句过长, 这种情况可以通过修改max_allowed_packed的配置参数来避免,也可以在程序中将数据分批插入)。 产生这个问题的原因有很多,总结下网上的分析: 原因一. MySQL 服务宕了 判断是否属于这个原因的方法很简单,进入mysql控制台,查看mysql的运行时长 mysql> show global status like 'uptime';...
    阅读全文 →
  • 【分享】linux中关于ls -l命令显示的total的含义解释

    当在linux里使用ll或者ls -l命令查看文件详情时,会在第一行看到如下的字样:  total 20  drwxr-xr-x 8 user rnd 134 Apr 27 04:40 ./  drwxr-xr-x 6 user rnd 59 Apr 27 07:56 ../  drwxr-xr-x 8 user rnd 4096 May 3 08:13 .git/  -rw-r--r-- 1 user rnd 1374 Apr 27 04:40 .gitignore  -rw-r--r-- 1 user rnd 2710 Apr 27 04:40 info  drwxr-xr-x 3 user rnd 18 Apr 27 04:40 platform/  -rw-r--r-- 1 user rnd 163 Apr 27 04:40 project  drwxr-xr-x 4 user rnd 30 Apr 27 04:40 testsupport/  drwxr-xr-x 7 ...
    阅读全文 →
  • 【分享】MySQL (2013, ‘Lost connection to MySQL server during query’)问题详解

    MySQL 在线上的一个新的部署的服务中报: pymysql.err.OperationalError (2013, 'Lost connection to MySQL server during query') 翻阅官方文档解释了这么几种可能性问题,详见:https://dev.mysql.com/doc/refman/5.7/en/error-lost-connection.html 连接 MySQL 服务的网络有问题 网络问题会导致 MySQL 的 connection 无故断掉,会报这个错误,所以首先检查 client 服务到 MySQL 服务是不是延迟很高。 读取或写入很多行数据,导致数据传输超时 MySQL net_read_timeout 和 net_write_timeout 控制一次连接传...
    阅读全文 →
  • 【分享】增强 Nginx 的 SSL 安全性

    本文向你介绍如何在 nginx 服务器上设置健壮的 SSL 安全机制。我们通过禁用 SSL 压缩来降低 CRIME 攻击威胁;禁用协议上存在安全缺陷的 SSLv3 及更低版本,并设置更健壮的加密套件(cipher suite)来尽可能启用前向安全性(Forward Secrecy);此外,我们还启用了 HSTS 和 HPKP。这样我们就拥有了一个健壮而可经受考验的 SSL 配置,并可以在 Qually Labs 的 SSL 测试中得到 A 级评分。 如果不求甚解的话,可以从 https://cipherli.st 上找到 nginx 、Apache 和 Lighttpd 的安全设置,复制粘帖即可。 本教程在 Digi...
    阅读全文 →
  • 【分享】LVS在大规模网络环境中的应用

    9月13日,阿里云课堂第一期在北京准时开课,到场与会人员众多,现场气氛非常热烈。阿里云三位讲师为大家献上了精彩的演讲,参会者也纷纷积极参与现场互动,通过问答交流,收获颇丰。应广大用户要求,我们将云课堂讲师现场分享内容全文整理出来,供大家参考。阿里云课堂会继续在全国各地陆续开课,欢迎大家继续支持! 1、 SLB总体架构 LVS本身是开源的,我们对它进行了多方面的改进,并且也已开源-https://github.com/alibaba/LVS 接下来我们看一下LVS在整个SLB中的位置在哪里,整个图是SLB的架构图。SLB功能比较...
    阅读全文 →
  • 【分享】Nginx防御DDOS攻击的方法总结

    前言 Nginx是一款轻量级的Web服务器,由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引Rambler使用。 其特点是占有内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网站服务器中表现较好。 防御DDOS是一个系统工程,攻击花样多,防御的成本高瓶颈多,防御起来即被动又无奈。DDOS的 特点是分布式,针对带宽和服务攻击,也就是四层流量攻击和七层应用攻击,相应的防御瓶颈四层在带宽,七层的多在架构的吞吐量。 对于七层的应用攻击,我们还 是可以做一些配置来防御的,例如前端是...
    阅读全文 →
  • 【分享】解决服务器配置tcp_tw_recycle和tcp_timestamps导致connect失败问题

    近来线上陆续出现了一些connect失败的问题,经过分析试验,最终确认和proc参tcp_tw_recycle/tcp_timestamps相关; 1. 现象:  第一个现象:模块A通过NAT网关访问服务S成功,而模块B通过NAT网关访问服务S经常性出现connect失败,抓包发现:服务S端已经收到了syn包,但没有回复synack;另外,模块A关闭了tcp timestamp,而模块B开启了tcp timestamp; 第二个现象:不同主机上的模块C(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败; 2. 分析 根据现象上述问...
    阅读全文 →
  • 【分享】Linux文件目录ACL权限管理

    一、ACL 权限简介: 在linux系统中,用户对文件的操作权限有 r-读, w-写, x-可执行三种,我们将访问文件的用户分为三类,user,group,other。如果系统中某个用户想对某个文件有写入的权限,但是该用户是属于other,如果是这样,就只能够开放other的权限。但是一旦开放other的权限,那么所有人就对该文件有写入的权限了。文件的ACL权限就很好的解决了这个问题,它可以设置一个特定文件的特定权限 命令格式: setfacl 参数选项 文件/目录名 参数选项: -m 设定ACL权限 -x 删除指定用户,用户组的ACL权限,针对用户,...
    阅读全文 →
  • 【工作】 解决设置Accept-Encoding为gzip,deflate后返回数据异常乱码问题

    【背景描述】 交付反馈一个客户请求我们的一个业务查询接口,在我们的后台日志观察客户的数据请求都是正常返回的,但是用户反馈,约有50%请求无法正常接收到结果。且对方提供了数据请求时候返回的报文header,如下: 结果返回正常时候的header头信息: 结果返回异常时候的header头信息: 【解决过程】 从两张图片来看,数据返回正常时候并没有“Content-Encoding: gzip“,即当传输的数据采用gzip时候,会造成请求结果异常。 我们前端采用的nginx作为代理转发服务器,检查gzip相关配置参数如下: 可以看到,对于...
    阅读全文 →
  • 【分享】虚拟路由器冗余协议(VRRP)详解

    为什么要使用VRRP技术 我们知道,为了实现不同子网之间的设备通信,需要配置路由。目前常用的指定路由方法有两种:        第一种是通过路由协议 :RIP、OSPF动态学习        第二种是通过静态路由: 对终端PC机配置静态路由。 这两种路由各有各的优缺点: 第一种路由可以自动寻找最优路径,邻居路由也可以通过学习来获得路由表,但是动态路由占用线路带宽和CPU处理时间。 第二种路由是不需要CPU处理时间同样也不占用线路带宽,但是这个路由需要对终端的PC机进行配置网关来实现,工作量是比较大的。 对于以上...
    阅读全文 →
  • 【分享】Mysql 5.7.20 show tables;能看到表,操作表却说表不存在

    状况描述: 早上上班后,mysql服务器遇到点小问题,在排查故障过程查看mysql错误日志过程中发现有几个innodb 表无法打开,使用desc查看有关表的表结构提示表不存在,show tables 可以查到一下五个表,以下是具体的报错信息: 2018-01-12 09:17:41 17235 [Warning] InnoDB: Cannot open table mysql/innodb_index_stats from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve...
    阅读全文 →
  • 【分享】MySQL数据库INNODB表损坏修复处理过程分享

    状况描述: 突然收到MySQL报警,从库的数据库挂了,一直在不停的重启,打开错误日志,发现有张表坏了。innodb表损坏不能通过repair table 等修复myisam的命令操作。现在记录下解决过程,下次遇到就不会这么手忙脚乱了。 处理过程: 一遇到报警之后,直接打开错误日志,里面的信息: InnoDB: Database page corruption on disk or a failed InnoDB: file read of page 30506. InnoDB: You may have to recover from a backup. 130509 20:33:48 InnoDB: Page dump in ascii and hex (16384 bytes): ##很多十六进制的...
    阅读全文 →
  • 【分享】Nginx参数研究:tcp_nopush、tcp_nodelay、sendfile、https、keepalive

    一、nginx之tcp_nopush、tcp_nodelay、sendfile 1、TCP_NODELAY 你怎么可以强制 socket 在它的缓冲区里发送数据? 一个解决方案是 TCP 堆栈的 TCP_NODELAY选项。这样就可以使缓冲区中的数据立即发送出去。 Nginx的 TCP_NODELAY 选项使得在打开一个新的 socket 时增加了TCP_NODELAY选项。但这时会造成一种情况: 终端应用程序每产生一次操作就会发送一个包,而典型情况下一个包会拥有一个字节的数据以及40个字节长的包头,于是产生4000%的过载,很轻易地就能令网络发生拥塞。为了避免这种情况,TCP堆栈实现了等待数...
    阅读全文 →
  • 【分享】TCP/IP和Socket的区别

    要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失。最后,我们还知道,在建立连接前,必须知道对方的IP地址和端口号。除此,普通的程序员就不会知道...
    阅读全文 →
  • 【工作】Linux 实用的端口转发工具:socat安装使用记录

    写在前面: 在实际生产中我们经常会遇到到一个场景就是,用一台机器作为转发服务器,连接AB两个网段,将转发服务器的某个端口上的流量转发到B网段的某台机器的某个端口,这样A网段的服务器就可以通过访问转发服务器上的端口访问到B网段的服务器端口。   这样的场景一般在和客户建立专线的连接时候经常用到,一般也可以采用iptables做转发,但是比较复杂,socat可以很轻松的完成这个功能。   socat可以看做netcat(nc)的替代产品,作用是在两个流之间建立双向的通道,且支持众多协议和链接方式:ip,tcp,udp,ipv6,pip...
    阅读全文 →