存储产品可靠性测试简介

可靠性(reliability)是指在规格时间间隔内和规定条件下,系统或部件执行所要求功能的能力,可靠性强调一个持续状态,是一个产品得以持续发展的生命线。

由于在实际生产环境中场景复杂,会存在很多意外情况,我们通常会在后端进行模拟某些极端场景下的可靠性测试

一、进程可靠性

1、进程:就是正在进行中的程序

         1、用户角度: 进程是程序的一次动态执行过程

         2、操作系统: 进程是操作系统分配资源的基本单位,也是最小单位

2、中断处理:

CPU一次只能处理一个程序,CPU速度很快,而内存很慢,所以CPU会有大量的时间都是空闲的。而CPU又是很昂贵的,为了解决浪费CPU的情况,就出现了中断处理,将程序分成一小片一小片的,这个进程执行一点,那个进程执行一点。虽然在内部进程的执行是一段一段的,但是CPU的速度很快的(速度都是纳秒级别的),所以我们是感受不到进程执行过程中的停顿的。

  • 进程常见的状态:

运行状态(R)
正在运行或在运行队列中等待
睡眠状态(S)
休眠中, 进程在等待事件的完成
不可中断睡眠状态(D)
指的并不是CPU不影响外部硬件中断,而是指进程不影响异步信号。进程通常会等 待IO的结束
僵尸状态(Z)
进程已经终止,但进程的描述符存在,直到父进程调用wait或waitpid系统调用后释放
停止状态(T)
进程收到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信号停止运行

  • 进程查看:

ps提供了很多的选项参数,常用的有以下几个:
l:长格式输出
u:按用户名和启动时间的顺序来显示进程
j:用任务格式显示进程
f:用树形格式显示进程
a:显示所有用户的所有进程
x:显示无控制终端的进程
r:显示运行中的进程
ww:避免详细参数被截断

  • 常用的kill信号量:

“信号”是指那些被异步发送到一个程序的事件。默认情况下,它们通常会终止一个程序的运行。常用的一些信号量:1 6 9 15

释义:

SIGHUP      终止进程      终端线路挂断
SIGINT    终止进程      中断进程
SIGQUIT   建立CORE文件  终止进程,并且生成core文件
SIGILL    建立CORE文件        非法指令
SIGTRAP   建立CORE文件        跟踪自陷
SIGBUS    建立CORE文件        总线错误
SIGSEGV   建立CORE文件        段非法错误
SIGFPE    建立CORE文件        浮点异常
SIGIOT    建立CORE文件        执行I/O自陷
SIGKILL   终止进程      杀死进程
SIGPIPE   终止进程      向一个没有读进程的管道写数据
SIGALARM  终止进程      计时器到时
SIGTERM   终止进程      软件终止信号
SIGSTOP   停止进程      非终端来的停止信号
SIGTSTP   停止进程      终端来的停止信号
SIGCONT   忽略信号      继续执行一个停止的进程
SIGURG    忽略信号      I/O紧急信号
SIGIO     忽略信号      描述符上可以进行I/O
SIGCHLD   忽略信号      当子进程停止或退出时通知父进程
SIGTTOU   停止进程      后台进程写终端
SIGTTIN   停止进程      后台进程读终端
SIGXGPU   终止进程      CPU时限超时
SIGXFSZ   终止进程      文件长度过长
SIGWINCH  忽略信号      窗口大小发生变化
SIGPROF   终止进程      统计分布图用计时器到时
SIGUSR1   终止进程      用户定义信号1
SIGUSR2   终止进程      用户定义信号2
SIGVTALRM 终止进程      虚拟计时器到时

  • 服务:是无界面的可靠的一个组件

服务端会运行很多服务,我们常用的一些模拟服务故障的途径有:

(1)封装的启停脚本:start|stop|restart|reload|force-reload|bootstrap

(2)systemctl [OPTIONS...] {COMMAND} ...

二、节点可靠性

  • 节点:就是单个服务器,多个服务器通过网络连接组成集群

常见的一些模拟节点故障命令:

关机:shutdown

shutdown -a 取消关机   

     shutdown -s 关机

  shutdown -f 强行关闭应用程序
  shutdown -m \\计算机名 控制远程计算机
  shutdown -i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数  
  shutdown -l 注销当前用户
  shutdown -r 关机并重启
  shutdown -s -t 时间 设置关机倒计时
  shutdown -h 休眠

重启:reboot

-n : 在重开机前不做将记忆体资料写回硬盘的动作

-w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里

-d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)

-f : 强迫重开机,不呼叫 shutdown 这个指令

-i : 在重开机之前先把所有网络相关的装置先停止

下电:poweroff、poweron

-n:关闭操作系统时不执行sync操作;

-w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中;

-d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录;

-f:强制关闭操作系统;

-i:关闭操作系统之前关闭所有的网络接口;

-h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

halt:关闭系统
-d:不要在wtmp中记录;

-f:不论目前的runlevel为何,不调用shutdown即强制关闭系统;

-i:在halt之前,关闭全部的网络界面;

-n:halt前,不用先执行sync;

-p:halt之后,执行poweroff;

-w:仅在wtmp中记录,而不实际结束系统。

奔溃:echo c > /proc/sysrq-trigger

三、网络可靠性

  • 硬件故障

连接器件、线路故障(损坏、脱落等)

  • 软件故障

网络风暴,IP冲突,网口闪断,交换机配置丢失,网卡故障,时延丢包等

一些常用命令:ifdown/up  systemctl restart network.service 域名重定向(修改hosts)

Tc命令:

Linux 下 TC 命令详解与事例_eydwyz的博客-CSDN博客_linux tc命令

四、系统可靠性

系统可靠性测试主要验证四个指标

成熟性:指系统避免因错误的发生而导致失效的能力

容错性:在系统发生故障或违反指定接口的情况下,系统维持规定的性能级别的能力

易恢复性:系统发生失效情况下,重建规定的性能级别并恢复受直接影响的数据的能力

依从性:系统依附于可靠性相关的标准、约定和规约的能力。

  • 内存

内存泄漏保护机制(cgroup)、高压下内存泄漏问题、高内存占用率下系统运行稳态

  • Cpu

高cpu下系统运行稳态

  • Linux压测工具stress

stress是一款压力测试工具,可以用它来对系统CPU,内存,以及磁盘IO生成负载

五、时间可靠性

  • 时间跳变故障
  • 时钟源同步故障
  • 节点间时间同步故障

六、盘级可靠性(服务器)

1、盘级故障

一般分为缓存盘、主存盘、系统盘

故障场景:插拔、高温、smart信息超标等

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每天读点书学堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值