精华内容
下载资源
问答
  • 服务器宕机的自动化解决
    2020-07-14 09:53:34

    现在很多公司都是启用了云服务器,虽然绝大多数情况非常可靠,但是如果万一出现宕机情况怎么处理呢?mysql中事务在宕机情况下的处理机制又是怎么样的呢?未雨绸缪,方能百战百胜:

    针对突然宕机的问题
    不会自动继续执行,不会自动直接回滚,但是可以人工手动选择继续执行或者直接回滚,依据是事务日志。
    事务开启时,事务中的操作,都会先写入存储引擎的日志缓冲中,在事务提交之前,这些缓冲的日志都需要提前刷新到磁盘上持久化,这就是人们口中常说的“日志先行”(Write-Ahead Logging)
    日志分为2种
    redo log
    保障的是事务的持久性和一致性
    在系统启动的时候,就已经为redo log分配了一块连续的存储空间,以顺序追加的方式记录redo log,通过顺序io来改善性能
    所有的事务共享redo log的存储空间,它们的redo log按语句的执行顺序,依次交替的记录在一起
    如果数据库崩溃或者宕机,那么当系统重启进行恢复时,就可以根据redo log中记录的日志,把数据库恢复到崩溃前的一个状态。未完成的事务,可以继续提交,也可以选择回滚,这基于恢复的策略而定。
    undo log
    保障了事务的原子性
    主要为事务的回滚服务
    undo log记录了数据在每个操作前的状态,如果事务执行过程中需要回滚,就可以根据undo log进行回滚操作
    redo log和undo log的过程分析
    eg : 假设有2个数值,分别为A和B,值为1,2
    1 start transaction;
    2 记录 A=1 到undo log;
    3 update A = 3;
    4 记录 A=3 到redo log;
    5 记录 B=2 到undo log;
    6 update B = 4;
    7 记录B = 4 到redo log;
    8 将redo log刷新到磁盘
    9 commit
    在1-8的任意一步系统宕机,事务未提交,该事务就不会对磁盘上的数据做任何影响.
    如果在8-9之间宕机,恢复之后可以选择回滚,也可以选择继续完成事务提交,因为此时redo log已经持久化
    若在9之后系统宕机,内存映射中变更的数据还来不及刷回磁盘,那么系统恢复之后,可以根据redo log把数据刷回磁盘

    更多相关内容
  • 之前一段时间,老左在网友圈抽样进行调查,发现80%以上的站长用户希望网站、服务器实现自动化运维。前几天就有网友希望自己的服务器定期重启。 其实老左经常遇到有网友提到服务器需要定时执行某个任务、以及在...
    之前一段时间,老左在网友圈抽样进行调查,发现80%以上的站长用户希望网站、服务器实现自动化运维。前几天就有网友希望自己的服务器定期重启。

    其实老左经常遇到有网友提到服务器需要定时执行某个任务、以及在服务器可能出现问题时候需要自动重启。如果单纯的靠人为的执行效率上肯定不如自动化好。无论我们是个人站长,还是公司企业的专业运维人员,我们在管理和维护网站的时候更为需要实现自动化运维,因为这样不但可以减少我们的工作量和提高工作效率,而且更能快速响应和自动化解决项目服务器的问题。

    这两天,有看到监控宝提供URL回调的功能应用。其实,我们也可以利用监控宝URL回调的功能,检测到宕机报警之后,自动重启Nginx等WEB服务。

    在这篇文章中,老左将会实战演练如何利用监控宝URL回调功能,检测到宕机服务器且进行重新启动Nginx服务,从而恢复网站正常的运转。

    1、准备工作
    A - 我们需要有一个监控宝(jiankongbao.com)账户,如果没有账户则需要新注册一个。

    B - 用户放置URL回调PHP页面的站点目录,我们可以找一个在用/可用的WEB环境站点根目录,也可以自己专门搭建一个,需要当前环境支持SSH2(SSH2安装教程)、以及PHP5.3以上。

    C - 需要监控的站点/服务器,添加到监控宝的监控项目中。

    2、设置URL回调页面和参数获取


    根据上图,我们到自己的监控宝账户中,添加URL回调的页面,这个页面是需要能够访问到的,这里可以根据官方的文档参考制作不同项目的开发脚本。

    3、部署和编辑重启服务器回调脚本
    脚本地址:http://soft.laozuo.org/tools/jiankongbao.zip

    这里老左把脚本也分享出来(感谢P总给予技术支持),这里仅仅是自动重启或者执行SSH命令的范例,对于其他深入的使用则需要我们自己写脚本。


    在文档的jiankongbao.php文件中,参数对应说明,我们需要找到项目的ID、以及当前回调URL的Token,以及我们监控服务器的ROOT信息。
    更为重要的是,在ssh_command是表示在服务器出现问题之后,我们来执行重启Nginx WEB服务,同样的如果我们需要重启数据库也可以这样使用。

    4、监控宝URL回调功能体验
    老左在部署完毕URL回调页面参数之后,针对监控服务器关闭掉Nginx,然后等待监控促发之后手机、邮件告知服务器宕机,然后等待一会可以看到收到恢复且重启Nginx的自动任务。建议购买付费版本,因为从响应速度、监控频率以及功能上会优秀很多。

    总结,通过监控宝URL回调的重新启动WEB服务的功能,我们还可以应用到更为强大的自动运维服务中,这样可以实现无人值守的运维实践。
    展开全文
  • 服务器高并发处理/服务器宕机了怎么处理? 高并发问题是大部分服务器都经历过的,由于资源的有限性,其同时处理请求的能力自然也有限制。当高并发出现时,服务端的处理和响应速度会大幅降低,更严重的会使服务器...

    服务器高并发处理/服务器宕机了怎么处理

    高并发问题是大部分服务器都经历过的,由于资源的有限性,其同时处理请求的能力自然也有限制。当高并发出现时,服务端的处理和响应速度会大幅降低,更严重的会使服务器崩溃

    一、服务器高并发处理

    1、减少请求数量

    高并发的主要原因之一就是请求量过于庞大,以致超出服务器的承受范围,因此想要解决问题就需要在这方面做出处理,一是需要避免重复的请求消耗不必要的资源,二是通过客户端自身的处理能力来响应请求,而不必到达服务端。

    2、配置优化

    如果请求量无法减少,或者有可能更多的情况下,那么增加资源、优化配置是必须要做的。可以增大带宽或对某些配置进行升级,或直接购买更高配置。如果请求量还是过大,可以提供多个服务器来实现任务分摊。

    3、应用优化

    在网页上也需要进行一番处理,例如动态页面静态化,减少不必要的图片和视频等需要占据和消耗大量空间的内容,可以考虑使用压缩传输的功能,来减少流量产生并提高速度。

    4、数据库优化

    数据库有时能起到一个决定性的作用,因此,我们需要选择一个合理的数据库引擎,对其进行配置优化。当请求通常是携带复杂的数据逻辑,那么可以考虑使用存储过程来处理。对数据库的表也可以同时进行降低数据量的处理。

    5、HTML静态化 

    其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。

    但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的

    除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此

    同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储在数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求

    6、图片服务器分离 

    大家知道,对于Web服务器来说,不管是Apache、IIS还是其他容器,图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的图片服 务器,甚至很多台图片服务器

    这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片问题而崩溃,在应用服务器和图片服务器 上,可以进行不同的配置优化,比如apache在配置ContentType的时候可以尽量少支持,尽可能少的LoadModule,保证更高的系统消耗和执行效率

    7、数据库集群和库表散列 

    大型网站都有复杂的应用,这些应用必须使用数据库,那么在面对大量访问的时候,数据库的瓶颈很快就能显现出来,这时一台数据库将很快无法满足应用,于是我们需要使用数据库集群或者库表散列

    在数据库集群方面,很多数据库都有自己的解决方案,Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案来实施即可

    上面提到的数据库集群由于在架构、成本、扩张性方面都会受到所采用DB类型的限制,于是我们需要从应用程序的角度来考虑改善系统架构,库表散列是常用并且最有效的解决方案

    我们在应用程序中安装业务和应用或者功能模块将数据库进行分离,不同的模块对应不同的数据库或者表,再按照一定的策略对某个页面或者功能进行更小的数据库散列,比如用户表,按照用户ID进行表散列,这样就能够低成本的提升系统的性能并且有很好的扩展性。

    sohu的论坛就是采用了这样的架构,将论坛的用户、设置、帖子等信息进行数据库分离,然后对帖子、用户按照板块和ID进行散列数据库和表,最终可以在配置文件中进行简单的配置便能让系统随时增加一台低成本的数据库进来补充系统性能

    8、缓存 

    缓存一词搞技术的都接触过,很多地方用到缓存,网站架构和网站开发中的缓存也是非常重要,这里先讲述最基本的两种缓存,高级和分布式的缓存在后面讲述架构方面的缓存,对Apache比较熟悉的人都能知道Apache提供了自己的缓存模块,也可以使用外加的Squid模块进行缓存,这两种方式均可以有效的提高Apache的访问响应能力网站程序开发方面的缓存,Linux上提供的Memory Cache是常用的缓存接口,可以在web开发中使用,比如用Java开发的时候就可以调用MemoryCache对一些数据进行缓存和通讯共享,一些大型社区使用了这样的架构,另外,在使用web语言开发的时候,各种语言基本都有自己的缓存模块和方法,PHP有Pear的Cache模块,Java就更多了,.net不是很熟悉,相信也肯定有

    9、镜像 

    镜像是大型网站常采用的提高性能和数据安全性的方式,镜像的技术可以解决不同网络接入商和地域带来的用户访问速度差异,比如ChinaNet和EduNet之间的差异就促使了很多网站在教育网内搭建镜像站点,数据进行定时更新或者实时更新,在镜像的细节技术方面,这里不阐述太深,有很多专业的现成的解决架构和产品可选,也有廉价的通过软件实现的思路,比如Linux上的rsync等工具

    10、负载均衡 

    负载均衡将是大型网站解决高负荷访问和大量并发请求采用的终极解决办法 负载均衡技术发展了多年,有很多专业的服务提供商和产品可以选择,我个人接触过一些解决方法,其中有两个架构可以给大家做参考

    硬件四层交换 

    第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理

     第四层交换功能就象是虚拟IP,指向物理服务器,它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议,这些业务在物理服务器基础上,需要复杂的载量平衡算法,在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定在硬件四层交换产品领域,有一些知名的产品可以选择,比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力,Yahoo中国当初接近2000台服务器使用了三四台Alteon就搞定了

    软件四层交换 

    大家知道了硬件四层交换机的原理后,基于OSI模型来实现的软件四层交换也就应运而生,这样的解决方案实现的原理一致,不过性能稍差。但是满足一定量的压力还是游刃有余的,有人说软件实现方式其实更灵活,处理能力完全看你配置的熟悉能力 软件四层交换我们可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满 足多种应用需求,这对于分布式的系统来说必不可少

    一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易

     

    二、服务器宕机处理

     

    您可以通过如下方式进行检查宕机原因:

    a、是否是应用程序导致内存溢出或者泄露,out of memory导致

    b、是否是进程过多或者不断创建,耗尽资源导致

    c、是否是数据库程序死锁,连接数过多导致

    d、是否是应用程序异常导致

    e、是否是流量负载过大导致

    f、是否是遭受黑客入侵攻击导致

    g、是否是误操作导致

     

    解决方法:

    1、最好准备2个网站空间,他们存放的内容相同,而ip不同,并且机房的地理位置不同,这样2个主机,同时宕机的可能性就大大降低了,第一时间发现宕机问题后,可以迅速的通过修改dnspod.com中的域名记录,指向目前正常的网站空间,Dnspod解析生效的时间是实时的,而一般的dns服务器,刷新时间较长,对外声称24小时内生效,按照实际经验看来,差不多30分钟内生效,否则就要检查域名绑定是否正确了

    2、经常进行安全检查,及时发现并修补漏洞

    现在你知道服务器遇到高并发或是宕机情况如何处理了吗?

    展开全文
  • Ubuntu服务器宕机排查记录

    千次阅读 2020-03-10 23:40:17
    环境 :ubuntu 问题症状:服务器内存占用持续增长,性能低下,并发上不去,网络无法ping通,无法登录、无法操作,输入操作无响应。也就是说系统宕机了。 宕机原因 : 先查看线上服务日志,再通过...服务器宕机排查记...

    环境 :ubuntu
    问题症状:服务器内存占用持续增长,性能低下,并发上不去,网络无法ping通,无法登录、无法操作,输入操作无响应。也就是说系统宕机了。
    宕机原因 : 先查看线上服务日志,再通过分析Linux系统日志后,报错perf采样太长,可能是I/O中断或者是网络中断时间太长导致。
    在这里插入图片描述
    排查思路:分析出内存泄露模块,分析出性能瓶颈,调优JVM
    系统日志一般在/var/log/下面

       1.查看messages日志,看看有没有CPU温度过高这样的日志。(ubuntu里面是查看kern.log)
    
       2.查看cron 日志
    
       3.查看last 命令:查看最后执行的命令
    
       4.查看boot.log是否有异常
       5.service 
    展开全文
  • Redis哨兵服务器,检测主服务器宕机

    千次阅读 2019-09-25 19:52:41
    哨兵服务器的作用就是监控主服务器,实时查看主机状态,确认是否宕机,并且在主服务器宕机时将从服务器升级为主服务器 2.哨兵服务器与Redis集群的关系? 如果你做过Redis集群,你会发现并不需要你手动配置哨兵...
  • 一、消息为什么丢失RabbitMQ默认情况下的交换机和队列以及消息是非持久的,也就是说在服务器重启或者宕机恢复后,之前创建的交换机和队列都将不复存在,之前未消费的消息也就消失不见了。原因在于每个队列和交换机...
  • 服务器宕机排查记录

    万次阅读 2016-06-13 09:36:30
    问题症状:服务器内存占用持续增长,性能低下,并发上不去,隔几天宕机 排查思路:分析出内存泄露模块,分析出性能瓶颈,调优JVM 使用工具:jconsole、jprofiler 使用jconsole连接,经过测试得到如下图表,可能...
  • 从春运分析服务器宕机原因

    千次阅读 2015-03-12 08:43:32
    服务器宕机致死一般有几种原因,除了前面引发这次北京铁路售票系统提到的设备(硬件)故障外,还有电源故障、软件故障、流量负载过大,遭受黑客攻击等。 致死原因一:电源故障  停电自然会引起 服务器 宕机,...
  • 高并发处理/服务器宕机处理

    万次阅读 2017-04-05 15:54:21
    3. Web/应用服务器分布式文件系统 4. 分布式数据库(数据库主从分布、数据库分割、数据库缓存) 1、HTML静态  其实大家都知道,效率最高、消耗最小的就是纯静态的html页面,所以
  • 线上事故:在做活动促销的时候,交易中台的商品服务发生了个别节点的宕机而此时间段内QPS并没有超过告警配置的线程数阈值1500。 于是决定做一次压测,当对自己的商品服务做压测20000个请求时,从监控看到客户端...
  • 针对突然宕机的问题不会自动继续执行,不会自动直接回滚,但是可以人工手动选择继续执行或者直接回滚,依据是事务日志。事务开启时,事务中的操作,都会先写入存储引擎的日志缓冲中,在事务提交之前,这些缓冲的日志...
  • 宕机迁移

    千次阅读 2019-08-13 10:20:44
    宕机迁移是阿里云提供的物理机宕机保护用户手段之一,指部署在物理机上云服务器由于底层物理机性能出现异常或者其他原因都会导致物理机宕机时,系统会启动保护性迁移,将其上受影响的云服务器迁移到性能正常的物理机...
  • Redis宕机解决方案

    千次阅读 2019-04-03 16:46:17
    多台reids或者是Redis集群,服务器宕机还有办法。 从的redis宕机怎么解决 配置主从复制的时候才配置从的redis, 从的会从主的redis中读取主的redis的操作日志,来达到主从复制。 只要把从的redis重新启动,再和主的...
  • 为什么要模拟? 主要原因有两个,第一个...有次服务器B宕机了,然后整个服务全都断了。一开始以为是mysql断了,所以只要服务器重启起来,zk重启,应该服务都好了。后来发现就算服务器起来了,mysql能连上,服务还是...
  • 宕机服务器停止服务 如果只有一台redis,肯定会造成数据丢失,无法挽救 多台redis或者是redis集群 ,宕机则需要分为在主从模式下区分来看: slave从redis宕机 配置主从复制的时候才配置从的redis,从的会从...
  • 如何检测一台服务器是否还在正常运行,如果该服务器宕机,如何在第一时间监测到并通知一线运维人员进行维护,最大减少损失。   二. 程序功能 对指定服务器进行宕机监测,如果确实宕机,则发送email到139邮箱...
  • redis宕机处理

    千次阅读 2020-06-13 08:36:08
    宕机服务器停止服务 如果只有一台redis,肯定会造成数据丢失,无法挽救 多台redis或者是redis集群 ,宕机则需要分为在主从模式下区分来看: slave从redis宕机 配置主从复制的时候才配置从的redis,从的会从主的...
  • 谈谈服务器虚拟化解决方案

    万次阅读 2019-06-05 10:45:11
    谈谈服务器虚拟化解决方案 现如今的 x86 服务器的设计存在局限性,每次只能运行一个操作系统和应用,这为 IT 部门带来了挑战。因此,即使是小型数据中心也必须部署大量服务器,而每台服务器的容量利用率只有 5% 到 ...
  • winserver 2012规律性宕机

    千次阅读 2020-06-10 16:08:40
    最近虚拟出来的一台winserver 2012服务器规律性宕机,一开始是每天夜里三点左右宕机,后期变为每二三十分钟宕机宕机后使用vsphere强制关闭电源,得三十分钟左右才能完全关闭。 找了很长时间的原因也没找到到底...
  • Redis宕机后如何实现快速恢复?

    千次阅读 2020-11-27 23:03:13
    这篇文章,我们来看Redis是如何实现故障自动恢复的,它的实现正是要基于之前所讲的数据持久和数据多副本而做的。...单节点部署:只有一个节点提供服务,读写均在此节点,此节点宕机则数据全部丢失
  • 问题:数据库插入百万级数据的时候,还没操作完,但是服务器重启了,数据库会继续执行还是直接回滚? 答:不会自动继续执行也不会自动直接回滚。但可以依据事务日志手动选择继续执行还是回滚。 详解:事务开启时,...
  • 云上用户遭遇云服务宕机、数据被破坏或丢失的事件时有发生,充分说明了云服务厂商提供的三副本与云快照服务还不能完全满足云上用户数据生命周期保护的需求,很有必要借助现代数据保护全面的策略,来更稳妥地实现用户...
  • redis突然宕机数据会丢失吗

    千次阅读 2022-04-10 16:23:21
    文章目录断电为什么数据会丢失redis的持久机制rdb机制RDB 优缺点在生成 RDB 期间,Redis 可以同时处理写请求么?aof机制aof的“写后日志”aof的重写机制混合持久机制总结 之前看到有人面试时问了这个问题,这里...
  • Redis宕机怎么办?哨兵机制?

    千次阅读 2020-02-15 12:40:57
    宕机宕机是计算机术语,口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”/“死机”。简单来说就是服务器停止服务。 redis一般在企业中做分布式缓存,可以大大的减小高并发...
  • rabbitmq持久:持久是为提高rabbitmq消息的可靠性,防止在异常情况(重启,关闭,宕机)下数据的丢失 1.交换器(exchange)的持久 上面阐述了队列的持久和消息的持久,如果不设置exchange的持久对消息的...
  • Redis宕机数据怎样恢复

    千次阅读 2020-02-13 14:34:29
    Redis宕机数据怎样恢复 Redis 数据都放在内存中。如果机器宕机,内存的数据就不存在。 需要做持久,将内存中的数据保存在磁盘,下一次启动的时候就可以恢复数据到内存中。 redis提供两种将内存数据导出到硬盘实现...
  • 什么是nginx? nginx是一款高性能的http服务器,官方测试...1、负载均衡(可以减轻单台服务器的压力) 2、反向代理(隐藏企业真实的ip地址) 3、搭建虚拟服务器 4、用做静态服务器(实现动静分离) 5、nginx性能高、...
  • 面试题-Redis宕机怎么办

    千次阅读 2019-11-19 10:00:16
    持久 使用Redis的持久机制,来保证Redis的数据不会因为故障而丢失。Redis的持久机制有两种,第一种是RDB快照,第二种是AOF日志。快照是一次全量备份,AOF日志是连续...因此服务器故障时候会丢失数据。 AOF...
  • 社区有很多兄弟分享惨痛宕机案例,提醒大家需警惕,以下介绍几起,满满都是血的教训……(以下案例来自社区多位会员分享,主要由社区专家孙伟光、崔增顺编辑整理)01AIX 下 NTP 设置不当导致的多个集群宕机事情发生...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,973
精华内容 31,189
热门标签
关键字:

服务器宕机的自动化解决