首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当云服务遭遇中断为什么需要恢复计划

最近一次重大的中断是2016年8月AWS服务中断。虽然Amazon S3是为数据持久性而设计的,但并不等于中断之后具有快速可恢复性。...S3存储服务的设计可以抵御一个可用区域的网站中断,但是最近的中断事件显示,网络问题可能导致整个地区的广泛中断。 •数据仍然需要备份。行业专家对此进行了呼吁,甚至亚马逊公司也建议备份数据。...故障后恢复数据可能需要几个小时或几天的时间,尤其是超大规模应用程序和数据库。 •数据通常放在一个“篮子”中。如果备份数据与主数据存储在相同的云服务中,则在相同的可用区域中,无法在中断期间恢复数据。...企业需要设计一个数据备份,恢复和连续性策略来考虑云计算。为了确保数据中心可以快速恢复,需要注意以下事项: •将备份数据保存在另一个服务或区域中。像这样的中断通常会影响整个地区。...备份和恢复策略需要包括在其他区域,云服务,甚至私有云中恢复的能力。 •快速恢复过程。传统的备份解决方案和基于脚本的方法无法快速恢复数据,特别是应用程序需要恢复到不同的拓扑的时候。

97690

为什么 Linux 需要 Swapping

,然而并不知道它使用的部分虚拟内存其实在磁盘上,因为内存和磁盘的读写速度上的巨大差异,这部分虚拟内存的读写非常缓慢,我们在 为什么 CPU 访问硬盘很慢 曾经介绍过: 在 SSD 中随机访问 4KB 数据所需要的时间是访问主存的...其他的文件不能存储在该区域上,我们可以使用 swapon -s 命令查看当前系统上的交换分区; Swap 文件是文件系统中的特殊文件,它与文件系统中的其他文件也没有太多的区别; Swap 分区的大小是需要系统管理员手动设定的...我们到现在已经对 Linux 上的 Swapping 有了一定的了解,接下来回到这篇文章想要讨论的问题 — 『为什么 Linux 需要 Swapping』,我们将从以下两个方面介绍 Swapping 解决的问题...WMARK_MIN 时会触发上一节提到的内存直接回收,而水位高于 WMARK_HIGH 则意味着空闲内存充足,不需要进行回收。...Linux 中的 Swapping 机制主要是为内存不足和内存闲置两种常见的情况存在的 Swapping 可以直接将进程中使用相对较少的页面换出内存:当系统需要的内存超过了可用的物理内存时,内核会将内存中不常使用的内存页交换到磁盘上为当前进程让出内存

1.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

Linux中断 - IDT

中断描述符项定义 当中断发生,cpu获取到中断向量后,查找IDT中断描述符表得到相应的中断描述符,再根据中断描述符记录的信息来作权限判断,运行级别转换,最终调用相应的中断处理程序; 这里涉及到Linux...因为这种传统系统调用方式需要进入内核后作权限验证,还要切换内核栈后作大量压栈方式,调用结束后清理栈作恢复,两个字太慢,后来CPU从硬件上支持快速系统调用sysenter/sysexit, 再后来又发展到...syscall/sysret, 这两种都不需要通过中断方式进入内核态,而是直接转换到内核态,速度快了很多。...传统系统调用相关 IDT 的设置 Linux系统启动过程中内核压解后最终都调用到start_kernel, 在这里会调用trap_init, 然后又会调用idt_setup_traps: void...硬件中断相关IDT的初始化也是在Linux启动时完成,在start_kernel中通过调用init_IRQ完成,我们来看一下: void __init init_IRQ(void) { int

6.5K10

为什么Synchronized不可中断

为什么Synchronized不可中断?首先中断操作是Thread类调用interrupt方法实现的。...基本上所有人都说Synchronized后线程不可中断,百度后的大部分文章都是这样解释说道: 不可中断的意思是等待获取锁的时候不可中断,拿到锁之后可中断,没获取到锁的情况下,中断操作一直不会生效。...深入分析Synchronized 为什么Synchronized要设计成这样,ReentrantLock都允许马上中断呀,是Synchronized设计者有意为之还是另有苦衷?...感觉如果设计成这样有点蠢吧,为什么要拿到锁才去中断,毫无理由啊。肯定有阴谋!...对比ReentrantLock 那为什么ReentrantLock可中断呢(未获取到锁也可中断),但是必须使用ReentrantLock.lockInterruptibly()来获取锁,使用ReentrantLock.lock

4.5K30

Linux为什么性能工具需要 BPF 技术

了解更多BPF技术内幕,推荐阅读《BPF之巅:洞悉Linux系统和应用性能》一书。 ▼ BPF是近年来Linux 系统技术领域一个巨大的创新。...接下来我们来讨论一下,为什么性能工具需要 BPF 技术。 ▊ 为什么性能工具需要 BPF 技术 性能工具使用扩展版 BPF 来实现可编程性。BPF 程序可以执行自定义的延迟计算和统计摘要等功能。...使用 BPF 之前和之后生成直方图过程的对比 这里的关键变化是,直方图可以在内核上下文中生成,这大大减少了需要复制到用户空间的数据量。...如前面的程序输出截图所示,唯一需要复制到用户空间的数据是“count”列,其是一个数字数组。...如果使用内核模块,则需要先从内核中将其完全卸载,然后再次加载,这可能会导致相关服务中断。 使用内核模块的一个好处是 :在模块中可以使用其他内核函数和内核设施,而不仅限于 BPF 提供的辅助函数。

55340

Linux 中断处理浅析

最近在研究异步消息处理, 突然想起linux内核的中断处理, 里面由始至终都贯穿着”重要的事马上做, 不重要的事推后做”的异步处理思想....然而嵌套发生的中断处理过程也可能会触发软中断,所以第一层中断处理过程在第四阶段需要是一个循环的过程,需要循环处理嵌套发生的所有软中断为什么要这样做呢?...比如: 时钟中断处理过程, 网络发送/接收处理过程. 结尾阶段 CPU接收到中断以后, 以历以上五个阶段, 中断处理完成. 最后需要恢复第一阶段中被保存在栈上的寄存器信息. 中断处理结束....据说在montavista(一种嵌入式实时linux)中, 将内核的中断机制做了修改. (某些中断的)中断处理过程被赋予了task结构, 能够被内核调度. 解决了上述两个问题....工作队列 linux基线版本的内核在解决上述问题上, 提供了workqueue机制.

7.4K80

linux 中断机制《Rice linux 学习笔记》

这篇文章以按键为例子讲解linux中断原理,中断的架构,中断的实现。 在我们的开发中,检测按键是否触发,无非就两种方法—轮询和中断。作者认为两种方法最大的区别就是CPU的利用率。...Linux中断原理: 中断:处理器异常的一种,它是一种特殊的电信号,用硬件发给处理器,处理器接收到中断后,会马上向操作系统反映此信号的到来,然后就由操作系统负责处理这些新到来的数据。...Linux中断的相关函数: 1、注册中断函数: 中断处理函数结构: typedef irqreturn_t (*irq_handler_t)(int, void*); 注册中断函数:int request_irq...dev:与request_irq的参数dev必须一致,将request_irq指定的dev传递给这个参数; Linux中断处理分析: 第一种方式:应用层的读,不管什么情况下,都会返回。...Linux中断实现: 这里例子采用等待队列的方式实现(也就是上述的第二种方法)。

4.7K10

linux内核缺页中断处理

MMU可以做虚拟地址到物理地址的转换,使用MMU我们就可以使用更多的内存空间,因为程序具有局部性原理,我们可以将暂时用不到的数据存放到磁盘,当访问到时会发生缺页中断,从磁盘中将所需要的数据加载到内存。...3.当操作系统发现缺页中断时,尝试发现需要哪个虚拟页面。通常一个硬件寄存器包含了这些信息,如果没有的话操作系统必须检索程序计数器,取出当前指令,分析当前指令正在做什么。...linux内核对缺页异常的处理流程很复杂,但是基本思想和上述流程差不多。...而vmalloc出现异常比较好处理,只需要页表同步就可以了(因为伴随着进程的切换可能用户进程的页表不是最新的,需要将内核的页表更新到用户进程的页表),2.内核引用用户空间地址发生的异常,比如用户态的地址非法...下面看linux的基本处理流程: 内核处理缺页异常的主函数就是do_page_fault: /* * 缺页异常处理函数 * pt_regs 各个寄存器的值 * error_code,由硬件产生:

10.7K21

Linux中断虚拟化(一)

作者简介 王柏生 资深技术专家,先后就职于中科院软件所、红旗Linux和百度,现任百度主任架构师。在操作系统、虚拟化技术、分布式系统、云计算、自动驾驶等相关领域耕耘多年,有着丰富的实践经验。...著有畅销书《深度探索Linux操作系统》(2013年出版)。 谢广军 计算机专业博士,毕业于南开大学计算机系。资深技术专家,多年的IT行业工作经验。...本文内容节选自《深度探索Linux虚拟化技术》,已获得机械工业出版社华章公司授权。...图3 基于APIC的虚拟中断过程 与单处理器情况相比,多处理器的虚拟中断主要有2点不同: 1)在多处理器系统下,不同CPU之间需要收发中断,因此,每个CPU分别需要关联一个独立的中断芯片,这个中断芯片称为...LAPIC不仅需要接收CPU之间核间中断IPI(Inter-Processor Interrupt),还需要接收来自外设的中断

6.3K30

Linux中断虚拟化(二)

2 记录中断到IRR 中断处理需要一个过程,从外设发出请求,一直到ISR处理完成发出EOI。...而且可能中断来了并不能马上处理,或者之前已经累加了一些中断,大家需要排队依次请求CPU处理,等等,因此,需要一些寄存器来记录这些状态。...,当前之前需要滤掉被被屏蔽的中断。...第2部分是获取正在被CPU处理的中断的优先级的中断的优先级,通过这里,读者更能具体的理解了8259A为什么需要这些寄存器记录中断的状态。...在收到CPU发来的中断确认后,8259A需要更新自己的状态,包括,因为中断已经开始得到服务了,所以从IRR中清除等待服务请求。另外,需要设置ISR位,记录正在被服务的中断,但是这里稍微有一点点复杂。

5.8K10

Linux内核硬中断中断的原理和实现

linux为了实现这个特点,当中断发生的时候,硬中断处理那些短时间就可以完成的工作,而将那些处理事件比较长的工作,放到中断之后来完成,也就是软中断(softirq)来完成。...(3)中断嵌套 Linux下硬中断是可以嵌套的,但是没有优先级的概念,也就是说任何一个新的中断都可以打断正在执行的中断,但同种中断除外。软中断不能嵌套,但相同类型的软中断可以在不同CPU上并行执行。...(4)软中断指令 int是软中断指令。 中断向量表是中断号和中断处理函数地址的对应表。 int n -- 触发软中断n。相应的中断处理函数的地址为:中断向量表地址 + 4 * n。...(5)硬中断和软中断的区别 软中断是执行中断指令产生的,而硬中断是由外设引发的。 硬中断中断号是由中断控制器提供的,软中断中断号由指令直接指出,无需使用中断控制器。...等: local_bh_disable(); local_bh_enable(); 需要注意的是,禁止下半部时仍然可以被硬中断抢占。

21.6K21

Linux中断机制分析

中断分析最近工作繁忙,没有时间总结内核相关的一些东西。上次更新博客到了linux内核中断子系统。这次总结一下软中断,也就是softirq。之后还会总结一些tasklet、工作队列机制。...1.为什么要软中断 编写驱动的时候,一个中断产生之后,内核在中断处理函数中可能需要完成很多工作。但是中断处理函数的处理是关闭了中断的。也就是说在响应中断时,系统不能再次响应外部的其它中断。...这样的后果会造成有可能丢失外部中断。于是,linux内核设计出了一种架构,中断函数需要处理的任务分为两部分,一部分在中断处理函数中执行,这时系统关闭中断。...软件中断的处理过程 之前我已经说到,软中断的一个很大的目的就是避免中断处理中,处理的操作过多而丢失中断。同时中断需要考虑到一件事情就是中断处理过程过长就会影响系统响应时间。...Linux内核就中断方面就必须考虑平衡这三个方面的问题。而下面我要分析的__do_softirq函数就恰似在这三者之间打太极,游刃有余,面面俱到!

8.6K91

为什么 Linux 和 macOS 不需要碎片整理

为什么这么设计(Why’s THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。...图 1 - macOS 磁盘工具 我们在 前一篇文章 中曾经分析过为什么早期 Windows 操作系统每隔一段时间可能需要整理磁盘上的碎片[^1],该问题背后有两个原因,其一是 Windows 使用的...Linux 和 macOS 系统不需要碎片整理的原因与 Windows 需要碎片整理的原因正好相反: Linux 和 macOS 使用的文件系统或者降低了碎片发生的概率或者实现自动整理碎片的特性; 固态硬盘与机械硬盘具有不同的特性...如果磁盘上确实出现了碎片,那么 Linux 和 macOS 的文件系统也会尝试移动出现碎片的文件,不需要额外的碎片整理工具,这种设计带来的用户体验会比手动触发耗时较长的碎片整理好很多。...这里简单总结一下 Linux 和 macOS 不需要碎片整理的两个原因: 文件系统基于区块分配的设计使得磁盘上出现碎片的概率很低,延迟分配和自动的整理策略解放了操作系统的使用者,在多数情况下不需要考虑磁盘的碎片化

1.8K10

为什么 Linux 和 macOS 不需要碎片整理

图 1 - macOS 磁盘工具 我们在 前一篇文章 中曾经分析过为什么早期 Windows 操作系统每隔一段时间可能需要整理磁盘上的碎片[^1],该问题背后有两个原因,其一是 Windows 使用的...Linux 和 macOS 系统不需要碎片整理的原因与 Windows 需要碎片整理的原因正好相反: Linux 和 macOS 使用的文件系统或者降低了碎片发生的概率或者实现自动整理碎片的特性; 固态硬盘与机械硬盘具有不同的特性...如果磁盘上确实出现了碎片,那么 Linux 和 macOS 的文件系统也会尝试移动出现碎片的文件,不需要额外的碎片整理工具,这种设计带来的用户体验会比手动触发耗时较长的碎片整理好很多。...这里简单总结一下 Linux 和 macOS 不需要碎片整理的两个原因: 文件系统基于区块分配的设计使得磁盘上出现碎片的概率很低,延迟分配和自动的整理策略解放了操作系统的使用者,在多数情况下不需要考虑磁盘的碎片化...参考资料 [^1]: 为什么早期的 Windows 需要整理碎片 https://draveness.me/whys-the-design-windows-defragmentation/ [^2]:

1.3K30

Linux 中断子系统(二):GIC 中断控制器

比如按键中断、串口中断等等,这些中断所有的 Core 都可以处理,不限定特定 Core。...中断源有很多,为了区分这些不同的中断源肯定要给他们分配一个唯一 ID,这些 ID 就是中断 ID。...分发器收集所有的中断源,可以控制每个中断的优先级,它总是将优先级最高的中断事件发送到 CPU 接口端。分发器端要做的主要 工作如下: ①、全局中断使能控制。 ②、控制每一个中断的使能或者关闭。...④、设置优先级掩码,通过掩码来设置哪些中断需要上报给 CPU Core。 ⑤、定义抢占策略。 ⑥、当多个中断到来的时候,选择优先级最高的中断通知给 CPU Core。...有一点需要说明:不管 GIC 如何对中断进行分类,对 CPU core 来讲,只分为 IRQ、FIQ、VIRQ、VFIQ,一般所有的外部中断对CPU core来讲都属于IRQ: 即便在 GIC 内部分为了

5.6K20

Linux中断机制:硬件处理,初始化和中断处理

来源: CSDN | phenix_lord的专栏 硬件处理 最近解决一个关于Linux中断的问题,把相关机制整理了一遍,记录在此。...概览 中断让外设能够通知CPU他需要获得服务(让CPU执行指定的中断服务例程ISR)。为了达到这个目的,首先要为中断执行做好准备,完成初始化相关的操作。...针对X86中断控制器硬件和linux对这些硬件的初始化,在《interrupt in linux》中有很详细的描述。...每组的最后一个中断入口不需要jmp 2f是因为其pushq_cfi(就是pushq咯)下面就 是2f这个标号的地址了。...(不明白的是:为什么不在jmp 2f的地方直接写上jmp common_interrupt?非要jmp 2f,2f的地方再次jmp common_interrupt?

7.8K30

Linux 中断子系统(三):中断处理知识点大全

Linux 中断相关节点 /proc/interrupts cat 这个节点,会打印系统中所有的中断信息,如果是多核CPU,每个核都会打印出来。...因为在中断处理过程中,CPU处于关中断状态(关闭本CPU),需要等低优先级中断处理完毕,直到发送 EOI 给GIC,然后CPU才会响应pending状态中优先级最高的中断进行处理。...如果低优先级中断处于 active 状态,是不可以被抢占的,这是前后关系。抢占只存在于同时是pending 状态的时候。 Linux 为什么中断不允许休眠?...2、中断上下文处于关中断中,需要发送个 EOI 通知 GIC 中断处理结束,GIC 和CPUinterface 才会进入下一次中断处理。如果中途 schedule,那么整个系统的中断都会被屏蔽掉。...一般进入中断后,需要中断,也会关抢占,同时注意不可以调用schedule。

4.9K20
领券