宕机

阅读 / 问答 / 标签

如何检测一台机器是否宕机

  检测一台机器是否宕机的应用场景如下:  1, 工作机器宕机,总控节点需要能够检测到并且将原有服务迁移到集群中的其它节点。  2, 总控节点宕机,总控节点的备份节点(一般称为Slave)需要能够检测到并替换成主节点继续对外服务。  检测一台机器是否宕机必须是可靠的。在大规模集群中,机器可能出现各种异常,比如停电,磁盘故障,过于繁忙导致假死等。对于机器假死,如果总控节点认为机器宕机并将服务迁移到其它节点,假死的机器又认为自己还可以提供服务,则会出现多个节点服务同一份数据而导致数据不一致的情况。    首先必须明确,理论上检测另外一台机器是否宕机是无法做到的,有兴趣的同学可以参考Fischer的论文。可以简单理解如下:A机器往B机器发送心跳包,如果B机器不发送响应,A无法确定B机器是宕机了还是过于繁忙,由于A和B两台机器的时钟可能不同步,B机器也无法确定多久没有收到A机器的心跳包可以认为必须停止服务。因此,A机器没有办法确定B机器已经宕机或者采取措施强制B机器停止服务。  当然,工程实践中,由于机器之间会进行时钟同步,我们总是假设A和B两台机器的本地时钟相差不大,比如相差不超过0.5秒。这样,我们可以通过Lease机制进行宕机检测。Lease机制就是带有超时时间的一种授权。假设总控节点需要检测工作节点是否宕机,总控节点可以给工作节点发放Lease授权,工作节点持有有效期内的Lease才允许提供服务,否则主动下线停止服务。工作节点的Lease快要到期的时候向总控节点重新申请Lease(一般称为renewLease),总控节点定时检测所有工作机的Lease授权是否合法,如果发现某台工作机Lease失效,可以将工作机上的服务迁移到集群中的其它机器,这时因为工作机发现自己Lease失效会主动停止服务。当然,这里需要注意,由于总控节点和工作机的时钟可能不一致且有网络延迟,总控节点上的Lease超时时间要长,也就是说,如果工作节点的Lease超时时间是12秒,总控节点可能需要13秒后才能确认工作节点已经停止了服务,从而避免数据不一致问题。  同构节点之间的选主也有一个宕机检测问题。比如总控节点宕机,备份节点需要能够检测并升级为主节点继续对外服务。Mysql数据库经常采用Heartbeat + DRBD (Distributed Replicated Block Device) + Mysql的高可用性方案,据说能够达到3个9的高可用性,主节点和备节点维持Heartbeat心跳,当提供服务的主节点出现故障时,备节点的Heartbeat检测到主节点没有心跳(例如,Ping不通主节点),备节点自动接管虚拟IP,升级为主节点提供Mysql读写服务。由于Heartbeat检测机器主节点宕机不可靠,这个方案存在众所周知的脑裂问题,即集群中可能同时存在多个主节点同时提供服务。解决这个问题本质上还是需要引入仲裁节点,比如Heartbeat + DRBD方案中引入Fence节点使出现问题的节点从集群中脱离,或者引入分布式锁服务,比如Chubby的开源实现Zookeeper服务。分布式锁服务实现主节点选举大致如下:主节点和备节点到Chubby中抢锁,抢到锁的节点在锁的有效期(Lease期)内提供服务,当主节点锁的Lease快要到期时,主节点申请延长锁的超时时间,正常情况下分布式锁服务总是优先满足主节点的请求,当主节点出现故障时,备节点能够抢到锁切换为主节点提供服务。  最后还有一个问题,假设总控节点通过Lease机制检测工作节点是否宕机,这种方案是可靠的,不过当总控节点宕机时,如果不采取任何措施,集群中的所有工作节点都将因为无法重新申请Lease而停止服务,这就是带有总控节点的设计固有的脆弱性,某个设计或者编码的错误都有可能造成严重的影响。解决这个问题一般会有一个叫做Grace Period的机制,工作节点Lease超时时将停止服务,但是工作节点并不一开始就重启或者下线,而是处于一种危险状态(称为Jeopardy),这种状态持续一个Grace Period,比如45秒。如果在Grace Period 内总控节点重启,工作节点和总控节点重新联系上从而可以切换为正常状态继续提供服务。

路由器宕机是什么意思

宕机是什么意思?宕机意思就是通常说的死机,宕机是计算机术语,口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”/“死机”,虽然不规范但却流行。宕机,指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。它属于电脑运作的一种正常现象,任何电脑都会出现这种情况。宕机原因1、交流电源功率不足外部电源功率不足,造成一些老显示器或一些耗电功率大的显示器不能正常启动,是显示器自身故障引起的黑屏故障原因之一。或者外部电源电压不稳定,过高过低都可能造成显示器不工作。2、电源开关电路损坏显示器开关电路出现故障是引起显示器黑屏故障的主要成因。简单的如电源开关损坏或者内部短路;常见的如开关管损坏或其外围电路元器件出现损坏等等。路由器死机的原因有哪些针对宽带路由器的死机掉线做了一些客观的分析,只是希望大家都于宽带路由器有一个正确的认识,希望所有的用户都能更好的使用这类产品,真正达到高速共享上网的目的。今天,我就对宽带路由器死机掉线问题进行客观分析,看看到底是什么原因造成了这些问题。一、带机数量引起的路由器死机很多厂商在宣传自己的宽带路由器产品时一般都会提到一个可以连接的带机数量,大部分厂商都会说自己的四口宽带路由器可以带机10-20台。可是有些用户在使用过程中,带机10台以后就会出现死机掉线情况,在购买过程中,我们首先就需要分析自己的宽带路由器和自己机器数量和应用是否匹配。有些时候会因为自己的实际环境并不适合使用所购买的产品,就会出现宽带路由器根本就不能承担网络负载的现象,而造成死机掉线的问题出现。从技术角度来看,我们通常都会谈及用NetIQChariot软件测试(smartbit购买成本过高)产品性能,其中有一项session(中文名会话)的评测是可以说明一些问题的。在IT168评测的四口宽带路由器,一般在测试会用到这个session选项,吞吐量及处理性能我们暂且不谈,只来讲讲与带机数量有直接关系的这个选项。通常性能比较好的宽带路由可以同时建立300对会话。而差点的只能达到200对会话。我们假设宽带路由器带机10台(这里所说的都是内网到外网的连接,内网之间的连接是靠宽带路由器的交换端口,基本上都能接近百兆的标称值),当计算机需要访问WEB页面时,在浏览器中输入一个域名后宽带路由器就会发起一个session请求,在网站服务器接收到这个请求后会有一个响应返回给宽带路由器,这时就会建立起一个session。如果这十台机器同时打开10个页面,加上QQ、MSN及下载工具等等,每台机器要建立20pairsession。十台机器是200pairsession。在这个负载之下,一般的宽带路由器应该都可以正常运行,但是20台机器时,相信网络的应用一多,宽带路由器都会当机。从这个例子中我们可以看到,在一些网络应用及机器很多的场景下,家用级4口宽带路由器是根本不适用的。而有些用户把买回家用4口宽带路由器拿去做小型网吧的`共享网关,我看死机掉线也不足为奇。综上所述,我们在购买宽带路由器时一定要根据自己的带机数量及需求综合考虑,别搞个小马拉大车,给自己造成不必要的麻烦和经济损失。二、路由器质量优劣导致的路由器死机问题在网上BBS上经常可以看到有些产品有很多用户在讲使用过程中遇到死机掉线问题,而有些产品却看不到这类的评论。这些评论能不能说明这款产品就真的是最差的?以前我没有用过宽带路由器,所以误以为宽带路由器确实存在很多产品缺陷,有一次无意中和北京一家销售宽带路由器的经销商聊天时谈及这个问题,他说事实情况其实不尽然如此。从客观角度来看,任何厂商都不可能达到百分之零的次品率,所生产品出的每一件产品都是合格的。读者可能会问,这个次品率和宽带路由器死机掉线问题关系大吗?这里我们就为大家举个例子来讲解说明这个问题。这里假设有A产品和B产品,两样产品同样都是万分之一的次品率。A产品在市场上销售了十万台,而B产品只在市场上销售了一万台,按万分之一的比率来分析,A产品就会有十台产品可能出现问题,而B产品只可能会有一台产品出现问题。这时我们就可以发现,使用A产品的这十位用户就会对产品不满,而B产品只会有一位用户对其产品不满。从以上的分析中我们可以看出,市场上很多的宽带路由器在使用过程中遇到死机掉线的问题,这可能是由于个别产品生产过程中存在问题造成的,但是这不足以说明这个型号的产品都会出现死机掉线的问题。从我后来自己使用宽带路由器产品以来,发现其产品还是非常稳定的,并没有出现网友们所提到的死机掉线问题,所以我个人觉的这些网友的评论只是个案,而不代表普遍的问题。当然,从用户的角度来看,我们希望厂商生产出来的宽带路由器都能让用户放心的使用,但有些厂商的产品的确是因为产品质量不合格造成死机掉线,就不在此列当中了。所以,有些产品在网上的评价并不能说明宽带路由器的所有产品都是存在问题,我们不能一杆子打翻一船人。三、设置错误造成路由器死机我们知道,在使用宽带路由器产品的用户当中,技术水平都参差不齐,很多用户对于宽带路由器产品及技术只是略知一二,对于大部分宽带路由器的设置都不是非常了解。那位经销商还告诉我,很多用户将宽带路由器买回去以后,不会设置,而他过去就几分钟搞定的事情。所以有时会遇到设置不当造成宽带路由器掉线死机的问题。当遇到这类问题时,我们希望用户也能以正确的态度面对,仔细查看产品使用说明书,与售后服务人员进行及时的沟通,以便准确的判断死机掉线问题的原因所在。如果确是产品的质量问题,厂商也会给用户很好的解决问题的。如果厂商对现象置之不理的话,我们再通过一些媒体来反映问题,唤起厂商的重视,来采取积极的态度对待。在网上的谩骂,笔者认为是一种不理智的表现,最终也不会解决实际问题。四、接入线路质量差、病毒造成路由器死机除了用户使用设置不当的问题会引起宽带路由器运行不正常以外,接入线路质量差、病毒等问题也是造成宽带路由器掉线死机现象存在的重要因素.就从我自己经历的几次宽带安装过程就发现,中国的互联网接入线路存在很大问题。比如ADSL线路,其技术本身对于电话线路质量要求非常高,而在一些老住宅楼,使用较为陈旧的电话线路,线路质量本身对于基本的通话功能都只是勉强应付,在这种环境下,如何能保证ADSL线路的正常运行呢?再比如长城宽带,我自己家里安装的是长城宽带,为了节省成本,长宽在楼内的布线采用一根双绞线分出两对线路分别接入两户,这种布线是一种劣质的布线工程,线中的八对线缆都同时在使用,大大增加了产生信号干扰的可能性。就这样的宽带线路,有时也是会造成经常掉线,掉线以后,用户找不到原因,就有可能不明就里的说是宽带路由器的问题.稍微有点网络知识的用户可能都知道,在网络中如果有机器出现病毒有时会造成整个网络的瘫痪,有些网络病毒会专门攻击宽带路由器的特定端口或者在网络中不断发送广播包。当遇到这样的情况时,宽带路由器会因为负载过重而引起死机掉线等问题.经过上面的分析,我们建议用户在出现这类问题应该仔细检查一下是不是计算机存在病毒之类的问题。;宕机是什么意思宕机是死机的意思。宕机,是台湾计算机术语,在大陆就叫当机,就是通常说的死机。之所以叫宕机,应该是从英文音译过来的,即英文:down,就直接叫宕机了。通常这个时候网站是不能访问的,也就是说服务器出了问题。服务器为什么会宕机:1、由操作员意向操作的重启。用于维护或更新服务器、部署机房或特殊情况等等。2、非操作员本身意愿造成的重启。如供电(欠压,过载,波动)、震动、硬件质量(热稳定性和抗干扰能力)、资源冲突、DirectX文件的损坏、系统不完善或瓶颈问题、病毒、灰尘、散热不良等等原因而造成重启。3、由于用户访问量过大,造成资源耗尽,或者你网站的数据超出你的空间限制范围大小也会出现宕机。路由器突然死机,是什么原因造成的,原因有很多,内部:路由器本身质量有问题,或者是通风不佳,就会引起路由器死机。外部:可以先不使用路由器,看网络是否正常,也不正常,就和路由器无关了。解决路由器设置异常的方法:①按(保持5秒)路由器的重置(RESET)按钮之后,等到所有的指示灯一起亮,重置成功。②重置成功之后,还需要再对路由器设置一下(有向导),因为此时已还原到出厂默认值。参考资料:路由器死机。解决方法如下:1.查放置的环境是否通风,如果散热不及时,会引起死机的情况。2.查是否感染病毒,如ARP病毒。3.在192.168.0.1的配置界面,“进阶设定”→“高级网络设置”激活“忽略来自WANPING回复”。4.复位,重新设置路由器。路由器经常出现断线现象解决办法:1.确认外线有无问题,不接路由器直接连接调制解调器会不会掉线;2.检查是PC是否有感染病毒的情况,如有,请尽快处理;3.检查是否有人在使用BT,或者是迅雷,电驴等P2P的软件在下载,如有,建议先试下不做下载是否就能稳定。在P2P软件里的限制下载流量与连接数。4.在路由管理界面工具-其它项目。启用忽略来自WAN端PING及开启DOS保护,把设备做复位,或者软件做升级。

Seata-TM执行时突然宕机了会造成什么问题

上一篇 <<< Seata原理实现/执行流程/生命周期 下一篇 >>> Seata-核心源码分析 推荐阅读: <<< 分布式事务产生的背景 <<< 解决分布式事务的核心思路 <<< 柔性事务和刚性事务(ACID) <<< CAP理论简单概况 <<< Base理论核心思想 <<< 一致性协议--XA接口 <<< 一致性协议--Jta规范 <<< 一致性协议--2PC提交协议 <<< 一致性协议--3PC提交协议 <<< 2PC与3PC协议的提交区别 <<< 主流的分布式事务解决框架 <<< LCN-框架介绍 <<< LCN-实现原理剖析 <<< LCN-事务协调者(TM)安装启动 <<< SpringBoot整合LCN <<< LCN-核心源码分析 <<< LCN-集群模式介绍 <<< Seata-框架介绍 <<< Seata原理实现/执行流程/生命周期 <<< Seata-核心源码分析 <<< SpringBoot整合Seata <<< Seata与Lcn的区别

宕机怎么读

宕机读dàng jī。宕机,是台湾计算机术语,在大陆就叫当机,就是通常说的死机,之所以叫宕机,应该是从英文音译过来的,即英文:down,就直接叫宕机了。口语里面我们简单地把停掉机器叫作down机,转换为汉字是“宕机”,但很多人都叫作“当机”/“死机”,虽然不规范但却流行。宕机是一种非常常见的现象,一般是指网站服务器出现故障,导致服务中断。由于服务器通常都是365天不间断的工作,因此很多网站都会出现宕机故障。由于大网站,通常会配备多台服务器,因此宕机出现的概率极少。down就是计算机不能正常工作,包括一切原因而导致出现的死机:1、一般情况下指的就是计算机主机出现意外故障而死机。2、一些服务器故障,包括服务器主机,数据库死锁或者DNS故障都可以称为宕机,一切服务器的某些服务挂掉了,都可以这么说。

tms系统宕机

tms系统宕机,指操作系统无法从一个严重系统错误中恢复过来,或系统硬件层面出问题,以致系统长时间无响应,而不得不重新启动计算机的现象。服务器宕机属于电脑运作的一种正常现象,任何电脑都会出现这种情况。可能是由于外部电源功率不足,造成一些老显示器或一些耗电功率大的显示器不能正常启动。宕机也可以称为“Down机”,“当机”或“死机”,一般是指网站、游戏和一些网络应用的服务器非正常运行的一种状态。

谁能帮我解决这个宕机问题

先把正在的运行的软件都退出去,比如金山卫士、杀毒软件、网络防火墙等,再打开IE试试。如果还不行按以下操作试试吧:解决方案1:重置InternetExplorer默认选项1.在InternetExplorer浏览器中,打开“工具”选项,打开“Inetnet选项”对话框。单击“高级”选项卡。在“重置InternetExplorer设置”下,单击“重置”。2.然后再次单击“重置”。(您也可以勾选“删除个性化设置”,以将相应的个性化信息重置为默认设置。)3.InternetExplorer完成重置设置后,单击“重置InternetExplorer设置”对话框中的“关闭”。关闭所有的浏览器窗口,再次启动InternetExplorer。在欢迎使用界面,点击下一步完成即可。解决方案2:卸载InternetExplorer浏览器后重新安装浏览器1.请关闭所有的InternetExplore浏览器窗口;打开“控制面板”;2.打开“程序”3.打开“打开或关闭Windows功能”4.关闭InternetExplorer,即在InternetExplorer前去掉打勾,卸载InternetExplorer。在弹出的对话框中选择“是”。5.关闭完成之后,在重新打开“InternetExplorer功能”,即在InternetExplorer前去重新打勾,安装InternetExplorer。确定之后,等到完成即可。重启IE后,会出现欢迎使用界面,点击下一步完成即可。

深信服老宕机怎么办?

这个原因跟你说,深信服的这个型号只能抗住10M的网络,20M的实际负荷太大。另外这个型号太老了,硬件平台用的也久了,建议和深信服或者渠道谈下,换一个新的合适型号或是以旧换新。

centos怎样编写tomcat宕机自动重新启动

一、设置tomcat定时启动1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。set SERVICE_NAME=Tomcat7 set PR_DISPLAYNAME=Apache Tomcat【然后修改jvm大小,搜索到--JvmMs 128 --JvmMx 256 进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)然后运行cmd命令窗口,cd 到tomcat的bin目录下,运行下面的命令 service.bat install 运行成功过后,会提示服务已经安装成功。2,制作重启脚本restart.bat,文件内容如下 net stop Tomcat7 net start Tomcat73,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。 sc delete Tomcat7需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。二、监听tomcat 只要运行start.bat即可,相关配置在config.properties文件中,默认即可, 如果服务名不对应就修改关闭和启动命令的服务名即可:net start 【Tomcat7】括号中服务名,然后运行start.bat下面是具体的监听代码:首先是监听类TomcatMonitor .java:[java] view plain copyimport java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.Properties; /** * @describe:TomcatMonitor.java * * @date 2016-7-4 * @author liuweilong */ public class TomcatMonitor implements Runnable{ String start=""; //系统命令 启动 String stop=""; //系统命令 关闭 String testHttp=""; //测试连接地址 int testIntervalTime=1;//测试连接间隔时间,单位为秒 int waitIntervalTime=2; //等待测试间隔时间,单位为秒 int testTotalCount=5; //测试连接总次数 Thread thread=null; public TomcatMonitor(){ InputStream in = TomcatMonitor.class.getResourceAsStream("config.properties"); Properties p = new Properties(); try { p.load(in); stop=p.getProperty("stop"); start=p.getProperty("start"); testHttp=p.getProperty("testHttp"); testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime")); waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime")); testTotalCount=Integer.parseInt(p.getProperty("testTotalCount")); } catch (Exception e) { e.printStackTrace(); } System.out.println("*******************初始化成功!*******************"); thread=new Thread(this); thread.start(); } public void run() { System.out.println("正在监控中..."); int testCount=0; while(true){ testCount=0; testCount++; boolean isrun=test(); System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!")); while(!isrun){ if(testCount>=testTotalCount)break; try { thread.sleep(testIntervalTime*1000); } catch (InterruptedException e) { e.printStackTrace(); } testCount++; System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!")); isrun=test(); } if(!isrun){ try{ //关闭tomcat服务 Process proc = Runtime.getRuntime().exec(stop); thread.sleep(5000); //启动tomcat服务 System.out.println("测试连接失败,正在重启tomcat"); Process p=Runtime.getRuntime().exec(start); System.out.println("重启tomcat成功"); }catch(Exception e){ e.printStackTrace(); System.out.println("重启tomcat异常,请查看先关错误信息。。。。。"); } } try { thread.sleep(waitIntervalTime*1000); } catch (InterruptedException e) { e.printStackTrace(); } isrun=test(); } } public boolean test(){ URL url=null; try { url = new URL(testHttp); } catch (MalformedURLException e) { e.printStackTrace(); } try { URLConnection urlConn=url.openConnection(); urlConn.setReadTimeout(15000); BufferedReader reader = new BufferedReader(new InputStreamReader( urlConn.getInputStream())); //实例化输入流,并获取网页代码 String s; while ((s = reader.readLine()) != null) { return true; } } catch (Exception e) { return false; } return false; } public static void main(String[] args) throws Exception{ TomcatMonitor tm=new TomcatMonitor(); } } 然后是对应的配置文件config.properties:[plain] view plain copy#系统命令 启动 start=net start Tomcat7 #关闭 stop = net stop Tomcat7 #测试连接总次数 testTotalCount=3 #连接失败时,再次检测时间间隔,单位为秒 testIntervalTime=3 #连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒 connectionTimeout=15 #tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒 tomcatStartTime=600 #测试连接地址 testHttp=http://127.0.0.1:8080 #正常情况下,每次检测间隔时间,单位为秒 waitIntervalTime=30 最后是启动的start.bat:[plain] view plain copyjava -cp . TomcatMonitor