EDA365电子论坛网

标题: 可靠性测试技术 [打印本页]

作者: rural    时间: 2021-8-31 14:30
标题: 可靠性测试技术
一、Dependability & Security8 |" [7 _) D+ {
(1)Attribute——可用性(Availability)、依赖性(Reliability)、安全性(Safety)、机密性(Confidentiality)、整体性、可维护性: o6 ?8 J8 C8 N  c* u
& Y3 U+ {% i. C0 [
(2)Threats——Faults、Error、Failures! G3 Z5 J9 [" c. W9 E, V

! f, w) E  r% C/ l% ]# J  F. E(3)Means2 {' r! k5 t; e( D- G  I7 m

  v( k6 C# r$ E+ {, J- Z3 |, I9 ^' Z① Fault Prevention
; w3 k4 P. g+ ~& a  C; f  }( y$ w6 V# q! M4 u; v2 V# H
② Fault Tolerance
( X0 K( z8 V% n, E0 J
- K  S! @& Q# k; E5 G③ Fault Remove5 Y9 r8 q; v3 j0 P* Y# \# F3 u' o7 r7 e
4 B0 L7 i9 M. T7 T2 p
④ Fault Forecasting( Y# J- d, H: p" V5 [% X

0 T4 T9 x8 H9 ~7 o- L1 Q二、状态改变
3 k  V& d. @- w% b) i                        Activation              Propagation            Causation/ ?1 u3 |% H" j: ?$ J& ]1 O. C1 X

# R6 I( T; w, j$ s0 ]4 `$ I# I- {.......——Fault——————Errors——————Failures——————Fault.......
( w6 ?' _" p9 Y4 h1 g  Z& z
( u1 U3 d- d; ]0 B2 D1 m  M三、单点故障和多点故障
6 i* A2 I, i0 P$ Y: d1、单点故障(single point of failure)* _: ?/ m1 p7 p; p& h. f
(1)概念
& `4 J) v8 B+ O" @* A( V# l从英文字面上可以看到是单个点发生的故障,通常应用于计算机系统及网络。实际指的是单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪。这也是在设计IT基础设施时应避免的。
; q. m; T4 O) j  U& ~
; s% {4 t; ^% t大脑对与人来说,就是一个单点,大脑损坏,人也完蛋;手是不是单点? 一只没了,另一只还能日常生活,从这个角度来说,不是单点。消除单点的最常见的做法:增加冗余。比如,人有两只手。其次,层次化。当然,分层的目的是便于隔离问题。电影 《2012》 中的这个问题,不知道谁是总架构师,看起来,隔离做得不太够 / S' G" `- B! R8 N" f5 O7 m# Y

7 l4 \3 ?8 F8 ]' T5 l2 \(2)消除单点故障方法
# @3 j0 T) v$ Z大体可以从以下几个方面来消除单点故障:
1 K% e+ u# z2 I, x! G, V3 V& k" ?; g) A) M; m; @
一个网站,从基础的硬件层,到操作系统层,到数据库层,到应用程序层,再到网络层,都有可能产生单点故障。如果要有效地消除单点故障,最重要的一点是设计的时候要尽量避免引入单点,随着架构的变化,定期审查系统潜在的单点也是有必要的。4 @. R9 u, o: ?3 b8 _+ d8 A: t% r
% Z2 t5 X+ D) O1 r" f% m
① 增加硬盘,做镜像。让出错的概率降低  D5 T3 }! C7 \. C
- C8 i$ p+ B4 I7 V3 a
② 网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。
/ P4 t0 r: R+ S0 |  X8 `
9 C. K& p* j$ ?6 B③ SSH 服务器和Telnet 服务器共存。毕竟 SSH 和 Telnet 都不是百分之百靠谱的事。' f5 s( {' _5 p. k* U* A
+ {3 i2 V' a8 N7 x% z
④ IDC 机房的单点。由于中国特色的“南北互通”,所以选择IDC机房的时候,一定要有冗余。
. o6 I/ S1 y  Z& g' Z) [
$ s; ~- p7 X0 u9 h* d- e. s' N% x  n⑤ 靠谱的DNS解析。% j) o  x+ J! }

# V, M1 [/ g0 h. x. I(3)简单单点故障架构
, ~  o0 F* P0 {" q) `9 u  k: s# x5 v6 y
2 T9 ~: f0 w( O0 r$ x) L
若干台云服务器通过负载均衡对外提供服务,在另一台云服务器上安装了MySQL作为应用数据库,为了提高性能,在服务器和数据库之间搭一个Redis缓存服务器。在这样的架构中,缓存服务器和数据库都存在单点隐患,可以考虑主从备份的设计。缓存服务器可以利用Redis对主从的支持特性设计成Master-Slave部署,数据库是在ECS上安装MySQL,虽然也可以在另一台服务器上安装MySQL,配置主从,但是可靠性仍然依赖于云服务器,故建议改用RDS。RDS是内在支持主从的阿里云关系型数据库产品,用户无需操心数据同步、主备切换等细节,使用更为方便。优化后的架构如下图所示:) e' w9 R7 L9 m' Q: g, \

/ p) B9 G3 x  l$ }0 S) M4 c' T/ l& }& Z! f" e( w

* ]* m- G* f; A, c# |+ q4 ]2、多点故障
. f) E7 o" z6 [' w; M多个单点故障同时发生或者依次发生。# V, D1 j- R) D9 E  o
! D+ J) y* n9 R, z# v9 R0 e
$ M" w6 h1 {' [# b$ q; D8 X
3 ?) z% `3 |% W1 x/ j3 M6 `
四、存储高可用' n9 V! r2 T( r  R) t
存储高可用解决方案采用存储设备与管理设备冗余架构,任何设备出现设备故障。都不会影响整个存储系统的正常适用。故障切换完全自动完成,保证业务系统的连续性。( [! h* b/ ?  S( \7 L" ^' L
  X' v* [9 r/ }; w' X
8 k+ I  O; v8 T, {+ g

5 Q& W+ [/ \4 s! x; h五、故障注入
- c6 C- ?% H* k( o产品代码:故障处理代码——产品功能代码
, E& R  J9 Z5 E% o! |. g6 z% {
/ h) f4 c/ O3 x. _  L1 K) x* [Chaos Monkey: @6 z4 [) K- v; U

2 A. q1 T( p+ M  \& sLinux Fault-Injection
9 E  w% x+ |, X+ ]* I- ^( u5 p' l2 P* i" n8 T  |
将故障注入内置于产品是最有效的做法,使得产品具有可测性$ A1 g! |( d! z/ d, c% l  k; a2 w

" b9 h  \) o, X+ a0 U2 }
# {3 b& E9 T$ H2 V' `
6 I# O2 C3 M( G% T, D- d六、测试实战7 i: o+ O) d+ `( a) e" ?
未知故障、已知场景(压力、稳定性、流控测试)
% M2 _9 H2 p1 `- s9 |. x: O已知故障、已知场景(故障注入)
( A! t2 k5 K+ _8 B8 b已知故障、未知场景(故障注入); T5 d+ E+ d. V; f" W
未知故障、未知场景(可靠性预计于建模), L9 x) C: w4 K! e/ W0 V2 A
5 K! x7 d4 Y( [4 V. f/ P: h0 ]
; Q3 Y; K2 z; H) }
1、故障模式库——为可靠性测试提供测试输入,定义了测试范围$ j- S+ f$ b; H; U$ D; f- ?
1 p* D+ b6 M! {4 J1 U! R- C
2、可靠性测试评估基线
" X. c3 `  O4 E0 d. y4 c# `9 I9 M( S. ^+ o
3、可靠性测试指导书- a* q5 ?" ]: q3 ~7 W8 M, U

: i" ]# H' ?0 P. P5 z0 u  C4、评估产品的可靠性能力
* [# L  X8 t# K
! Z5 }, A- [9 [5、长稳测试" M4 q! W& E/ s

& e7 d6 T6 }+ N. w
  m3 R3 e  m7 O. ?
0 U" k# u8 a% Z$ r; R七、“几个9”5 V' k" h& `& L
产品的可靠性是指:产品在规定的条件下、在规定的时间内完成规定的功能的能力。$ N4 E- D, G# |2 C2 S3 \5 W1 a
5 z8 _) ?& j. _: u
对电子产品而言,产品宣传经常用可用度 n 个 9 来描述产品可靠性水平。n 个 9 表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,通过下面的计算来感受下 n 个 9 在不同级别的可靠性差异。
. F3 Z, k0 |; d$ W% k8 P
$ s: q7 D) {+ ]; q* C; `3 L/ `4个9:2 F% I  K3 D3 E$ R8 c# V6 H
2 }9 _- ^/ D% Q0 y7 u) v+ j, R
(1-99.99%)*365*24=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
6 M) v- ^; B# ^4 l6 y9 ]* V0 q/ H% _+ v) V1 b6 J5 J! c' h" Y7 ~0 {; k
5个9:
; D$ T' U0 v0 o( o  g( J  |0 }6 R# d) m7 _0 X2 n4 }+ d
(1-99.999%)*365*24*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。  y, v. N1 W$ r

5 D" [" {) l6 T( e. J) H3 h6 o3 B) L0 @, P$ E" s5 x

作者: wushy    时间: 2021-8-31 16:30
网卡与网线的单点问题。系统里面最容易物理损坏的就是网线。网卡绑定(NIC bonding)一个很简单很通用的办法。配置多个网卡。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2