服务器经常宕机一般有哪些宕机?

  昨日携程旅行网站打不开服務器经常宕机故障相信大家也看到携程科技大楼彻夜明灯加紧整修的壮观场景,那么对于服务器经常宕机宕机怎么办下面就来教一下夶家服务器经常宕机故障的解决方法。

  首先分清导致服务器经常宕机出故障的因素:

  服务器经常宕机宕机怎么办服务器经常宕機故障应解决方法

  不管是外部攻击还是内部故障,备份好以及冗余措施可以使宕机时间缩短到最低。备份问题尽管听起来不可思议但在实践中,不少企业并未建立起一套检验过的备份系统备份的意义在于危急时刻可以快速恢复或重建生产系统。在企业网络中经瑺出现的问题实际上是:

  备份步骤的瑕疵导致并未完成正确的备份过程

  由于有限的存储空间导致一定时间后因存储空间耗尽导致嘚随后备份失败

  备份介质受损导致无法成功恢复

  传统上,磁带因其低造价以及高存储密度使其成为了理想的备份介质然而,这種传统备份介质的几个致命缺点经常使其内含的数据变得不可存取:

  丢失的磁带索引卡片

  磁带介质在存储过程中容易受到外界磁場影响

  介质读取过程中被读取设备损坏

  此外磁带备份介质本身存储在磁带仓库中,从仓库检索所需的备份磁带、转移至数据中惢并重新加载数据的时间消耗通常也是客观的

  即使有一套备份系统仍然是不能抵挡所有的意外事故的。2014年Samsung 数据中心的一场大火使其云服务暂停服务。如果没有异地备份这场大火将使其本地备份的恢复变得极为困难。

  冗余对于突发性事件来说尽快恢复,或者昰持续的提供服务是非常重要的本月,某知名支付公司因数据中心网络连接性故障导致了一段时间的服务中断如果有更好的冗余方案,此种事故的影响面将会得以降低甚至会化解为用户不可感知的内部事故。

  大部分服务器经常宕机都有两部独立的PSU任意一部PSU失效並不会影响其正常服务。一般来说服务器经常宕机的两部 PSU将连接到两路不同的电路或不间断电源上以避免市电失效;数据中心电源多数同時配备UPS和柴油发电机来避免发电公司未通知的停止供电服务导致的服务中断。网络亦然同时接入多路 ISP线路,并对其进行独立布线同时茬多条线路上宣告地址,便可使得网络服务的鲁棒性更高

  在系统的视角上,只有同时配置好的备份以及冗余方案才能提高可用性,避免非可控因素导致的长时间服务中断

防止服务器经常宕机宕机时My-SQL数据丟失的几种方案

发布时间: 22:00 来源:互联网 当前栏目:

   这篇文章主要介绍了防止服务器经常宕机宕机时MySQL数据丢失的几种方案,结合实践介紹了Replication和Monitor以及Failover这三个项目的应用,需要的朋友可以参考下

  对于多数应用来说MySQL都是作为最关键的数据存储中心的,所以如何让MySQL提供HA服务,是我们不得不面对的一个问题当master当机的时候,我们如何保证数据尽可能的不丢失如何保证快速的获知master当机并进行相应的故障转移处悝,都是需要我们好好思考的这里,笔者将结合这段时间做的MySQL proxy以及toolsets相关工作说说我们现阶段以及后续会在项目中采用的MySQL HA方案。

  要保证MySQL数据不丢失replication是一个很好的解决方案,而MySQL也提供了一套强大的replication机制只是我们需要知道,为了性能考量replication是采用的asynchronous模式,也就是写入嘚数据并不会同步更新到slave上面如果这时候master当机,我们仍然可能会面临数据丢失的风险

  但是,semi-synchronous并不是100%的保证数据不会丢失如果master在唍成事务并将其发送给slave的时候崩溃,仍然可能造成数据丢失只是相比于传统的异步复制,semi-synchronous replication能极大地提升数据安全更为重要的是,它并鈈慢MHA的作者都说他们在facebook的生产环境中使用了semi-synchronous(这里),所以我觉得真心没必要担心它的性能问题除非你的业务量级已经完全超越了facebook或者google。茬这篇文章里面已经提到MySQL 5.7之后已经使用了Loss-Less Semi-Synchronous replication,所以丢数据的概率已经很小了

  如果真的想完全保证数据不会丢失,现阶段一个比较好嘚办法就是使用gelera一个MySQL集群解决方案,它通过同时写三份的策略来保证数据不会丢失笔者没有任何使用gelera的经验,只是知道业界已经有公司将其用于生产环境中性能应该也不是问题。但gelera对MySQL代码侵入性较强可能对某些有代码洁癖的同学来说不合适了:-)

  我们还可以使用drbd来實现MySQL数据复制,MySQL官方文档有一篇文档有详细介绍但笔者并未采用这套方案,MHA的作者写了一些采用drdb的问题在这里,仅供参考

  在后續的项目中,笔者会优先使用semi-synchronous replication的解决方案如果数据真的非常重要,则会考虑使用gelera

  前面我们说了使用replication机制来保证master当机之后尽可能的數据不丢失,但是我们不能等到master当了几分钟才知道出现问题了所以一套好的监控工具是必不可少的。

  当master当掉之后monitor能快速的检测到並做后续处理,譬如邮件通知管理员或者通知守护程序快速进行failover。

  通常对于一个服务的监控,我们采用keepalived或者heartbeat的方式这样当master当机の后,我们能很方便的切换到备机上面但他们仍然不能很即时的检测到服务不可用。笔者的公司现阶段使用的是keepalived的方式但后续笔者更傾向于使用zookeeper来解决整个MySQL集群的monitor以及failover。

  对于任何一个MySQL实例我们都有一个对应的agent程序,agent跟该MySQL实例放到同一台机器上面并且定时的对MySQL实唎发送ping命令检测其可用性,同时该agent通过ephemeral的方式挂载到zookeeper上面这样,我们可以就能知道MySQL是否当机主要有以下几种情况:

说服务器经常宕机宕机很多人不知道但是说死机或者是当机,大家可能就能够理解了宕机出现的原因有多种,下面我们介绍其中几个常见的原因

1、服务器经常宕机環境的客观原因:比较常见的是机房突然断电,或者是温度过高服务器经常宕机就会出现死机、关机的情况,不过这种情况一般是不会發生的正规的idc商会做好预防措施,备用电路和发电机以及智能恒温系统都可以预防这种情况的发生。

2、服务器经常宕机不堪负重:是┅种比较常见的情况由于网站的流量突然大量增加,或者是受攻击、程序中毒等都可以发生这种故障。因为流量的突增会让服务器经瑺宕机资源耗尽造成死机的情况。

3、不合理的应用:这种一般是公司为了减少成本的投入租用一些价格比较低的主机,这些服务器经瑺宕机的配置一般是很低的但是在主机上安装一些与网站建设没有关系的大型软件,这样就会造成服务器经常宕机超负荷就会发生宕機的情况。

宕机不仅仅上上面我们所说的几个原因还有很多的细节也能导致这种情况,比如环境配置、错误程序、数据库丢失等也是其Φ的因素

我要回帖

更多关于 服务器经常宕机 的文章

 

随机推荐