冗余的价值不是「不会坏」,是「坏一个不影响」——它把串联变成并联。 双电源接同一个插排叫「假冗余」,现场非常常见。
上一节讲架构,这一节讲「可靠性怎么算、怎么配」。 03.06.06 讲的是设备之间的冗余,这一节讲设备内部的冗余。
一、两个定义与一个公式
MTBF:平均无故障时间(多久坏一次)。MTTR:平均修复时间(坏了多久能修好)。
可用度等于 MTBF 除以 MTBF 加 MTTR。 注意 MTTR 在分母里——修得快比不容易坏更有效。
器件 典型 MTBF 折算年数
电源模块 200,000 小时 约 22.8 年 风扇 150,000 小时 约 17.1 年 整机(无冗余) 50,000 小时 约 5.7 年 引擎板 300,000 小时 约 34.2 年
二、串联与并联
串联的可用度是相乘:四个部件各 99.9%, 整体是 0.999 的四次方,等于 99.6%——一年停机 35 小时。
所以「每个部件都很可靠」不等于「整机很可靠」。 部件越多、串联越长,可用度越低。 这就是为什么冗余要从「最弱的那一环」开始做。
并联(冗余)的可用度是「1 减 都坏的概率」:两个 99.998% 的电源并联,可用度接近 99.9999%。 提升的不是一点,是两个数量级。
三、两个「假冗余」
假冗余一:双电源接同一个插排。 插排一跳,两路全断。 正确的做法是接两路不同的市电,最好一路带 UPS。 这一条在现场极其常见——因为双电源的线常常顺手就插在一起了。
假冗余二:双引擎不做状态同步。 切换后邻居要重建、路由要重收敛,中断时间可能几十秒——那还不如单引擎加优雅重启。
判断真假的办法很简单:拔一次。 拔一路电看业务断不断,拔一块板看切换多久。 不实测的冗余都只是「纸面上的冗余」。
四、冗余要按「业务能忍多久」来配
不是所有业务都需要五个 9。 先问「断一分钟损失多少」,再决定花多少钱做冗余。
大致对应关系:办公网三个 9(一年停 8.8 小时)够;语音与视频要四个 9(一年 53 分钟); 金融交易要五个 9(一年 5 分钟)以上。
而每多一个 9,成本大致翻一倍。 所以「按业务定冗余等级」比「一律上最高配」更专业——后者不是负责,是不会算账。
五、动手 Demo:双电源、双引擎,能把可用性提到多少
这段列出四类器件的 MTBF,按 MTTR 4 小时算可用度与年停机时间, 再用串联公式算「四个 99.9% 部件串起来」的整体可用度。
def avail(mtbf, mttr=4):
return mtbf / (mtbf + mttr)
P(u" 整机:%.5f%%" % (avail(50000) * 100))
P(u" 四串:%.4f%%" % (0.999 ** 4 * 100))
实跑输出:
--------------------------------------------------------------------
双电源、双引擎,能把可用性提到多少
--------------------------------------------------------------------
**冗余不是「加一个就更好」,要算可用度。**这一节把 MTBF 与可用度算清。
**先定义**:MTBF 是「平均无故障时间」,MTTR 是「平均修复时间」。
**可用度 = MTBF ÷(MTBF + MTTR)。**
器件 典型 MTBF 说明
--------------------------------------------------
电源模块 200,000 小时 约 22.8 年
风扇 150,000 小时 约 17.1 年
整机(无冗余) 50,000 小时 约 5.7 年
引擎板 300,000 小时 约 34.2 年
**算可用度**(MTTR 按 4 小时算,含到场与更换):
无冗余整机:99.99200%(一年停机 0.7 小时)。
单电源:99.99800%(一年停机 0.2 小时)。
单风扇:99.99733%(一年停机 0.2 小时)。
**「一年停机 0.7 小时」听起来很少**,但这是「整机」的数字。
一台设备里有电源、风扇、板卡、光模块——**串起来算,可用度会明显下降。**
**串联公式**:整体可用度 = 各部件可用度相乘。四个部件各 99.9%:
0.999 的四次方 = 99.6006%(一年停机 35.0 小时)。
**所以「双电源」的价值不是「电源不会坏」,是「坏一个不影响」。**
它把电源这一环从「串联」变成「并联」,**可用度从 99.998% 提到 99.9999%。**
**但要提醒两件事**:
1. **双电源要接两路不同的电**。接同一个插排,插排一跳全断——**这叫「假冗余」,现场非常常见。**
2. **双引擎要配「状态同步」**,否则切换后邻居要重建,**中断时间可能几十秒。**
「99.992% 听起来很高」但一年还是停 0.7 小时——这就是为什么「几个 9」比「百分比」更直观。 谈可用度时要用「一年停多久」来说,业务方一听就懂。
「串联相乘」是本节最有用的一条算式:它解释了「为什么设备越多、链路越长,整体越不可靠」。 所以「多绕几台设备」不是「更保险」,是「更不可靠」——这跟直觉相反,但算一遍就明白。
最后「假冗余」那两条要强调「拔一次」: 冗余配置最容易出的问题不是「没配」,是「配了但共用同一个上游」。 双电源共插排、双上行共用一个光缆、双引擎共用一块背板——这些只有实测能发现。
30 秒实验
- 查一下你设备的电源是不是双路、接的是不是两路市电。
- 算一下你的核心设备按现有配置一年大概停多久。
- 想一想:如果现在拔掉一路电,业务会断吗?
常见误区
- 以为冗余越多越可靠。共用上游的冗余等于没有。
- 以为 MTBF 高就够了。MTTR 在公式分母里,修得快同样重要。
- 以为所有业务都要五个 9。成本翻倍,先算清损失。
自测三问(点开对答案)
1. 可用度的公式是什么? —— MTBF 除以 MTBF 加 MTTR。 2. 串联与并联对可用度的影响有什么不同? —— 串联相乘使可用度下降,并联用 1 减都坏的概率使可用度上升。 3. 什么是「假冗余」?请举一例。 —— 看似有备份但共用同一上游,例如双电源接同一个插排。下一节:硬件讲完,下一节讲新设备怎么第一次开通。
- ☐ (本节完,下一节 03.09.01 初始化)