认识磁盘阵列柜性能

2023-11-10

一个 SCSI 硬盘的平均故障间隔时间〈MTBF, Mean Time Between Failure〉,都在数万
小时以上,在正常使用情况下,要坏掉一个硬盘已经很不容易了;在同一系统内,两个磁
盘驱动器同时坏掉的机率,更是微乎其微。但是,如果把磁盘驱动器放在布满杀手的环境
内,就另当别论了。
  构建一个磁盘阵列储存系统,可靠度远比速度来的重要。因此,不但要选一个高性能
的阵列控制器,更要慎重地挑一个高可靠度的磁盘阵列柜。因为,宝贵的数据不是存在数
组控制器里,而是存放在磁盘驱动器里;而磁盘驱动器又是放在磁盘阵列柜内。所以,要
仔细挑选一个可靠的磁盘阵列柜,来当磁盘驱动器的神盾,千万不要挑一个磁盘驱动器杀
手!   
   磁盘阵列柜的设计挑战
  由于磁盘驱动器的技术以及传输接口的技术不断的发展,磁盘阵列系统的设计随时都
面临新的挑战,以便符合与日俱增的要求。一个优质的磁盘阵列柜,必须在设计阶段,就
要考虑到其规格必须符合更大容量、更高转速磁盘驱动器的需求,提供:   
  稳定、高容量、容错的电源供应系统
  可靠、高性能、容错的冷却系统  
  能够克服震动的机械结构
  支持SCA2 热抽换接头之被动背板  
  一体成型、无主动组件之磁盘载盒  
  数组柜环境监控与警示功能  
  直接热抽换且方便的维护操作功能  
  最佳的空间利用
  以下我们就针对这些规格和功能,提供一些建议。
  稳定、高容量、容错的电源供应系统
  如果各位仔细看看磁盘驱动器的规格书,您会发现磁盘驱动器马达启动时,需要很大
的启动电流〈约2A〉,约为平常读写时〈约0.66A〉的 3 倍;磁盘驱动器在 SEEK 时,需
要很大的瞬间电流〈约2.1A〉,约为读写时〈约0.66A〉之 3 倍。因此,电源供应系统必
须能提供足够、稳定之瞬间电流,否则会造成磁盘驱动器无法启动,甚至造成数据写入错
误〈此为导致 RAID 磁盘驱动器被 RAID 控制器判定为 Down,但磁盘驱动器送回原厂测
试却无故障之原因〉。当磁盘驱动器转速越来越快,SEEK 速度也越来越快时,电源供应器
必须提供足够的容量,以因应将来扩充的需求。
   具备容错,热抽换、负载分享之双电源供应器,是不可或缺的,更重要的是,如果电
源供应器发生故障,要能不必下螺丝就能热抽换电源供应〈使用螺丝起子解螺丝会造成震
动及摇摆,会损害工作中之磁盘驱动器〉。
  有了双电源供应器,更要具备两组电源输入,一个接到市电,一个接到 UPS。如此,
无论突然断电,或 UPS 故障,都不会造成 RAID 当机。
  好的电源供应系统,还须具备交流电压与频率自动选择及调整,以适用不同电压及频
率,更重要的是,要能克服电压及频率不稳之状况。在用电尖峰时段,市电电压可能降到
100伏特以下,而在非用电尖峰时段,市电电压可能升到120伏特以上,因此电源供应系统
必须能够容忍这些电压变化,提供磁盘驱动器稳定的电压和电流,否则可能造成磁盘驱动
器故障,甚至数据写入错误。磁盘阵列柜的电源供应系统,最好能够提供从85到260伏特无
段自动调整,如此,无论插到哪种插座,市电品质如何变化,都不会影响磁盘阵列的功能
   可靠、高性能、容错的冷却系统
   在许多案例中,我们发现冷却系统设计不完善的磁盘阵列柜,只能装设7200转的磁盘
驱动器,若使用10,000 转的磁盘驱动器,系统就会过热。现在,Seagate 已经推出
15,0000转的磁盘驱动器了,如何挑选一个具备可靠、高性能、容错之冷却系统的磁盘阵列
柜,就更显得重要了。
   一般磁盘阵列柜之设计,在每个磁盘驱动器载具上加装小风扇,整个系统再装数个大
风扇,用边吸边吹的方式散热,不但散热效果不好,而且是产生磁盘驱动器故障的潜在因
素:它带来的危害有以下这些:  
  产生大量气流将粉尘吹入系统,污染磁盘驱动器及风扇本身造成故障。
  采用一般PC用小风扇,且数量多〈转动机械零件越多,故障机率越高〉,系统可靠度
因而巨幅降低?/li>
  一旦有一个小风扇故障,相关磁盘驱动器便无法获得足够散热而故障。
  一个优质磁盘阵列柜之冷却系统的设计,必须完全符合热力学理论之全方位冷却:热
传导、热对流及热辐射之三相散热方式,才能更有效率、可靠度更高:
磁盘驱动器载盒必须采用黑色、高导热系数之金属〈如铝合金〉,并与载盒紧密接触固定
,如此可以最快最有效地将磁盘驱动器之热能传导至整个载盒,然后以最大辐射面积与最
佳辐射颜色〈黑色〉,将热能辐射至机体内空气中,再以中央系统涡轮抽风机将热空气以
对流方式排出
  磁盘驱动器载盒不能使用风扇,及其它任何主动组件,以免本身故障而损及磁盘驱动

  系统采用中央抽风排热设计,须使用两个以上之工业用涡轮抽风机〈不可用一般PC用
风扇〉,以提高可靠度与排热效率。由于工业用涡轮抽风机本身可以防止轴承被粉尘污染
,且抽气效率极高,可将机体内热空气抽出,并在机体内产生很大的相对低压,冷空气便
可由经过精密设计之对流孔,均匀地进入机体内,达到最佳对流散热效果
  中央系统涡轮抽风机必须具备热抽换功能,且能够自动温控转速,以达到最佳之排热
性能与能源使用效率
  只需一部涡轮抽风机就足以维持系统散热之最低限度。工业用涡轮抽风机之出气口面
积只有一般PC用风扇1/10,因此即使有任何风扇因故停止运转,也不致影响整个系统之热
对流结构.
   防震机械结构
   由于磁盘阵列的特性,当存取阵列中的数据时,阵列中所有的磁盘驱动器的磁头,都
几乎在同时,往同一个方向SEEK,又几乎同时在相同的位置煞车,其惯性动量非常之大。
因此造成很大的震动问题。如果磁盘阵列柜的机械结构不能克服这些震动问题,轻则造成
Re-Seek,严重的话,会导致碟面受损,数据遗失。
  一个好的磁盘阵列柜的机械结构设计,必须克服上述震动问题:  
  磁盘驱动器以刚性方式固定于磁盘驱动器载盒〈不使用任何塑料或其它韧性支柱〉:
塑料或其它韧性支柱会变成震动的放大器,让磁盘驱动器震得更厉害。刚性方式固定,可
以透过经由模态分析〈Model Analysis〉设计之阵列柜,避开自然共振频率〈Natural
Resonance Frequency〉以及强迫共振频率〈Forced Resonance Frequency〉,将系统震
动降至最低,得到最佳性能,不会因震动造成磁头偏移而需重新寻轨定位 (re-seek)。
  磁盘驱动器载盒必须为一体成型之刚性合金制造,且紧密稳固地固定在机箱内。如果
是以卡榫或螺丝方式接合,其防震效果可想而知,非常不理想。
   支持SCA2接口的被动背板
   前面提到,磁盘阵列系统最重要的是可靠度,因此所有具备主动组件〈包含电子组件
和机械组件〉都必须安装在可热抽换的模块上,以便发生故障时可以随时更换。一般来说
,被动组件是不会坏的,除非暴力相向。
   磁盘阵列柜中,除了背板〈Backplane〉之外,其它所有模块都可以是可热抽换的。
因此,背板上不可以有任何主动组件,以免有任一组件发生故障,必须停机更换,而且,
一般来说,使用者是无法自行更换背板的。
  磁盘阵列柜背板的另一个重要规格,是必须使用SCA2 接头,以支持热抽换〈Hot-
Swap〉。我们都知道,把磁盘驱动器从系统中拔出或插入,会造成很大的突波讯号,可能
影响正在工作的Bus,甚至损坏磁盘驱动器接口组件,因此必须要有特殊的设计,来降低并
防止突波可能造成的损害。
  SCA2 接头的设计,是采用长、中、短等不同长度的接脚,将前期电源和地线、主电源
、总线信号线等,依照先后顺序接触〈插入时〉或分离〈拔出时〉,如此可以将磁盘驱动
器线路缓慢充电,将其电位提升以降低其与总线间之电位差,以减低突波讯号,保护电子
接口组件以及避免干扰工作中的总线。
   一体成型,无主动元件的磁盘载盒
   在实际的案例中,我们常发现用户把磁盘载盒送修,因为磁盘载盒蜂鸣器一直叫、风
扇卡住不转了...,当然,磁盘驱动器也可能因此而毁了〈因为风扇不转而造成磁盘驱
动器过热,唉,水能载舟,亦能覆舟〉。这就是磁盘载盒设计不良所造成的。
  一个好的磁盘载盒设计,必须没有使用任何可动机械或主动电子组件,亦即,不要有
小风扇,也不要任何控制线路。如此,磁盘载盒本身就是金刚不坏之身,不会造成故障,
更不会成为磁盘驱动器杀手。
 同时,磁盘驱动器的固定方式,也是一门学问。除了前述要将磁盘驱动器直接且紧密地固
定在磁盘载盒上,以达到热传导散热之外,磁盘驱动器最好是倒挂式固定。如果采取一般
正面式固定,则磁盘驱动器所产生的热,传导至磁盘载盒之后,又辐射出来产生热空气,
再往上升,刚好用来烤磁盘驱动器的线路板和组件〈本是同根生,相煎何太急?〉,会加
速组件的老化。如果采取倒挂式固定,则传导到磁盘载盒的热,会辐射到磁盘驱动器上部
空间,由对流气流带走,不会烘烤到磁盘驱动器线路组件。
  为求达到最佳热辐射散热效果,磁盘驱动器载盒之表面,最好漆上黑色,因为黑色是
最容易吸收热能,也是最容易辐射出热能的颜色。磁盘驱动器载盒的材质,必须具备高导
热系数的特性,如铝合金辨识理想的材料,导热系数高,加工也方便。
  而如前述,磁盘驱动器载盒必须是一体成型的刚性金属合金制造,以达到最佳震动克
服性能。我们非常不建议采用组合式磁盘载盒,一般这些组合式磁盘载盒,都是由一个架
子和一个盒子组成;架子上有风扇和热抽换控制电路,固定在机壳上,再接Cable;磁盘驱
动器则装在盒子,透过转接接头连到架子上。如此,不但造成前述震动问题,而且一旦架
子的风扇或电子组件故障,就必须停机更换。
  阵列柜环境监控与示警功能
  磁盘阵列柜中所有主动组件或机械组件,以及内部环境温度,都必须能够监控且有适
当的警示和通报功能:
  阵列控制器必须能支持S.M.A.R.T.,以便预测可能发生的磁盘驱动器故障。妥善利用
S.M.A.R.T. 功能,能够预先准备好备用磁盘驱动器,以便在第一时间把不稳的磁盘驱动
器更换掉,如此可以把风险系数降至最低。
  环境状态监控器必须能随时监视机柜内部温度,以及控制排设装置转速,以达到最佳
冷却及能源利用效率。同时异常状况必须以两种以上方式通报,至少包含在数组柜本身的
声音与视觉灯光警示,以及远程通报。
  电源供应器的输入与输出,也必须随时监控。同时异常状况必须以两种以上方式通报
,至少包含在数组柜本身的声音与视觉灯光警示,以及远程通报。
  另外,非常重要的一点是,环境监视控制器本身也是主动组件,也可能发生故障,因
此,磁盘阵列柜的环境监控器,必须能够支持热抽换功能。
   直接热拔插且方便的维护操作功能
  在磁盘阵列柜中,所有可能发生故障的组件,包括主动电子组件、可动机械组件,都
必须能够支持热抽换功能。不能抽换的组件,就必须是不会故障的被动组件。
  具备可热抽换功能,大家都知道,但是,要如何才能更方便、更安全地作热抽换,可
是一门学问。一个提供方便维护、安全热抽换的磁盘阵列柜,至少需具备以下功能:  
  所有可热抽换的组件,都必须能由外部直接抽换,而不必先移除其它组件,如此才不
会造成任何风险。试想,如果一个风扇坏了,你得先把一个电源供应器移除,才能抽换坏
的风扇,你必须保证剩下那个电源供应器不会出问题,否则,你就挂了。
  所有的热抽换动作,都不需要将手或工具伸进机体内部,去拆解螺丝或拔接头。把工
具伸进机体内,可能误触线路造成短路,整个系统可能因此损坏或当机;把手伸入机体内
,可能会触电,人一触电,反应是无法预期和控制的,可能会把整个磁盘阵列柜甩到五公
尺远。
  所有的热抽换动作,都不需要使用任何工具。在操作中的系统上使用工具是非常危险
的,用力转螺丝会造成机体摇动,磁盘驱动器会受损;金属工具也可能会造成短路。
  所有可热抽换的组件,都不可使用螺丝固定,因为如果不小心,螺丝很可能会掉进机
体内,造成短路。如果一定要用螺丝,也要使用具有卡榫的螺丝,在解下后仍然能够安全
地卡在组件上,不会有脱落的危险。
  最佳的空间利用
  在机架式系统中,空间的利用以及散热气流的需求,是非常重要的因素。同样可容纳
七台磁盘驱动器,一个只要占 3U 空间的磁盘阵列柜,当然比一个要占 6U 空间的磁盘阵
列柜要来得有效率。
要能达到最佳化的空间利用,除了磁盘阵列柜的体积要小之外,散热气流的需求也是决定
性因素。一个只应用到单向对流散热方式的磁盘阵列柜,需要很大的气流需求才能达到散
热效果,因此既使体积小,也不能在一个机架中装设太多磁盘阵列柜,否则散热气流就会
不够。如果磁盘阵列柜采用高效率的三相散热〈热传导、热辐射、热对流〉系统,就只需
要小量的气流,便足以发挥散热效果,因此可以在机架中高密度地装置磁盘阵列柜,大大
地提高空间使用效率,当然也大大地降低了成本。这对大型企业、ISP、以及主机代管业者
来说,是非常有经济效益的规格。   
   保护您的数据,要从保护您的磁盘驱动器开始;要保护您磁盘驱动器,就要挑一个可
靠、稳定的磁盘阵列柜。要知道您的宝贵数据,不是存在 CPU,也不是存在主机板,也不
是存在控制卡,而是存放在磁盘驱动器里。所以,挑选磁盘阵列柜,是件很慎重的事情,
千万不要讨价还价,而是要很挑剔地找一个磁盘驱动器的神盾,可别找一个杀手。

转载于:https://blog.51cto.com/qq163/214753

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

认识磁盘阵列柜性能 的相关文章

  • springboot mysql链接语句字段分析

    jdbc mysql localhost 3306 xxxx useUnicode true characterEncoding utf8 zeroDateTimeBehavior convertToNull useSSL true ser
  • 几个简单的system(const char* _Command)函数命令

    几个简单的system const char Command 函数命令 呼出终端 Windows键 r 然后输入cmd system const char Command 函数常用命令 如 system cls 1 shutdown常用命令
  • JS 实现全屏切换,移动端适用

    JS 实现全屏切换 移动端适用 直接看代码吧 简单 只是有些人不知道这个 api 我之前就不知道
  • tensorflow搭建自己的残差网络(ResNet)

    废话不说 直接上代码 首先 pip install tflearn 训练代码 coding utf 8 from future import division print function absolute import import tf
  • python HTTP Server 文件上传与下载

    实现在局域网 同一WIFI下 文件上传与下载 该模块通过实现标准GET在BaseHTTPServer上构建 和HEAD请求 将所有代码粘贴到同一个py文件中 即可使用 所需包 基于python3版本实现 python2版本无涉猎 impor
  • LeetCode-1606. 找到处理最多请求的服务器、C++中优先队列的使用

    你有 k 个服务器 编号为 0 到 k 1 它们可以同时处理多个请求组 每个服务器有无穷的计算能力但是 不能同时处理超过一个请求 请求分配到服务器的规则如下 第 i 序号从 0 开始 个请求到达 如果所有服务器都已被占据 那么该请求被舍弃
  • 如何构建用户画像

    从1991年Tim Berners Lee发明了万维网 World Wide Web 开始 到20年后2011年 互联网真正走向了一个新的里程碑 进入了 大数据时代 经历了12 13两年热炒之后 人们逐渐冷静下来 更加聚焦于如何利用大数据挖
  • vue3的hooks和vue2的mixins有什么区别

    接上一篇文章继续解释 语法和用法 Hooks 是在 Vue 3 的 Composition API 中引入的一种函数式编程的方式 而 Mixins 是在 Vue 2 中的一种对象混入机制 Hooks 使用函数的方式定义和使用 而 Mixin
  • Android9自动更新,详解Android app自动更新总结(已适配9.0)

    1 配置 1 1 AndroidManifest xml中添加权限和FileProvider android name androidx core content FileProvider android authorities com f
  • Oracle 数据库密码文件的使用和维护

    Oracle 数据库密码文件的使用和维护 最近在做dataguard测试时 遇到个关于oracle的密码文件的问题 现在就把有关密码文件做下简单的总结 方便以后应对类似的问题 概要 Oracle 关系数据库系统以其卓越的性能获得了广泛的应用
  • 对话MVP

    本期 对话MVP 清华大学软件学院在读博士马福辰将为大家分享他参与社区共建4年以来的成长与蜕变 在这期间 他冲破迷茫 与团队协力开发了面向Solidity合约的安全分析工具SCStudio 并以开源形式贡献给社区 该工具帮助不少开发者检测安
  • 在R语言中,我们经常使用可视化图像来展示数据的分布、关系和趋势

    在R语言中 我们经常使用可视化图像来展示数据的分布 关系和趋势 图像的标题是非常重要的 它能够提供关键信息并帮助读者理解图像的含义 在R中 我们可以使用cex main参数来指定可视化图像标题文本的字体大小 在本文中 我将详细介绍如何使用c
  • springcloud 总 架构图

    版权所有 转载 请表明出处 相关代码地址 欢迎到我的网站寻找更多的知识
  • img图片加载失败?

    问题场景 在工作中经常会使用 lt img gt 标签进行图片展示 但是经常有图片加载失败的情况发生 图片地址不存在 图片已经删除等 场景再现 图片加载失败时的用户体验是很不好的 虽然 lt img gt 标签有alt属性可以展示文本 但是
  • UE4_UnrealBuildTool : error : UBT ERROR: Failed to produce item

    C 编译报错 可能原因 路径太长 包含中文
  • Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}

    flink部署 前置准备 1 CentOS7 5 2 java8 3 配置三台机器时间同步和免密登陆 关闭防火墙 ip地址 主机名 192 168 10 128 master 192 168 10 129 slave1 192 168 10
  • Qt信号和槽的连接方法

    官方文档 查看手册 可以看出 如果想要把信号和槽函数联系起来 通过connect 方法即可 connect 的参数 sender 产生信号的对象 signal 信号的名字 method 槽函数 示例 UdpReceiver UdpRecei
  • spring中Service类中调用this导致@Transaction使用失效的情况

    发现一个有趣的地方 以前在开发中经常遇到的情况 现象 关于expose proxy的解释 this指向目标对象 因此调用this b 将不会执行b事务切面 即不会执行事务增强 spring Transaction 在refresh过程中 通
  • 常见的标识符

    关键字 abstract assert boolean break byte case catch char class const continue default do double else enum extends final fi
  • java后端向前端发送blob类型、arraybuffer类型数据流

    java后端向前端发送blob类型 arraybuffer类型数据流 项目需求概述 前端请求图片时遇到跨域问题 思考解决方案时 考虑前端请求本地javaweb接口时带上图片url 由后端请求到图片后再发送到前端 后端代码 package c

随机推荐

  • Webpack 和 Vite 的区别

    Webpack 和 Vite 都是前端构建工具 但它们在设计哲学和执行方式上有所不同 以下是两者之间的主要区别 基本原理 Webpack 它是一个模块打包工具 它的主要目标是打包 JavaScript 模块 为了处理 ES modules
  • Linux下多线程编程互斥锁和条件变量的简单使用

    Linux下的多线程遵循POSIX线程接口 称为pthread 编写Linux下的多线程程序 需要使用头文件pthread h 链接时需要使用库libpthread a 线程是进程的一个实体 是CPU调度和分派的基本单位 它是比进程更小的能
  • 自己写一个简单的弹窗页面

    最终效果 我使用的vue的js做绑定处理 虽然现在各种 弹窗插件到处都是 但是本着造轮子的本心还是写了一点 这段内容是17年的时候写的 时间跨度稍微有点大 表在意了 基本思路 1 为需要添加遮罩的页面添加一个组件 这个组件绑定在isShow
  • angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天 我们要讲的是angualr2的pipe这个知识点 例子 这个例子包含两个pipe 一个是stateful 一个是stateless 是直接复制官方的例子 最新的官网文档已经将其改为了pure和impure 并移除了面向对象的比喻 个人
  • 基于SSM实现校园互助论坛平台

    作者简介 Java 前端 Python开发多年 做过高程 项目经理 架构师 主要内容 Java项目开发 Python项目开发 大学数据和AI项目开发 单片机项目设计 面试技术整理 最新技术分享 收藏点赞不迷路 关注作者有好处 文末获得源码
  • JAVA 使用web3j接入以太坊(一)

    第一步先创建maven项目 在项目的pom文件依赖中添加web3j
  • JWT简介及使用

    JWT简介及使用 JWT JWT能做什么 认证流程 为什么需要JWT jwt结构 JWT使用 java jwt jjwt JWT工具类编写 JWT整合springboot JWT整合Springboot优化 JWT jwt json web
  • 机器学习实战python版第二章示例:手写识别系统

    手写识别系统和前面的例子差不多 我们所需要做的就是把图数据转换成一维数组数据 数据准备 def img2vector filename returnVect zeros 1 1024 创建一行1024列的数组 fr open filenam
  • tcpdump 移植

    一 环境介绍 1 1 宿主机 1 2 嵌入式平台 1 3 交叉工具链 二 交叉编译 2 1 先编译 tcpdump 4 8 1 依赖的模块 2 2 编译 tcpdump 4 8 1 三 使用测试 一 环境介绍 1 1 宿主机 Ubuntu
  • 如何用IDEA配置数据库链接

    版本 idea 2021 2 MySQL5 7 很多小伙伴在idea中写SQL语句会爆红 可能就是因为idea没有与数据库进行连接 导致不识别数据库中的关键字 下面讲解一下如何配置idea与数据库的连接 步骤如下 第一步 打开idea 找到
  • Excel:如何实现分组内的升序和降序?

    一 POWER 1 构建辅助列D列 在D2单元格输入公式 POWER 10 COUNTA A 2 A2 3 C2 2 选中B1 D10 注意不能宣导A列的合并单元格 进行以下操作 3 删除辅助列即可 二 COUNTA 第一步 D2建立辅助列
  • SQL Server期末复习要点(一)

    1 SQL Server所提供的服务中 MSSQLServer是最核心的一部分 2 SERVER2005常规标识符是哪些 算术运算符 逻辑运算符 赋值运算符 字符串串联运算符 按位运算符 一元运算符及比较运算符等 3 聚合函数的使用 max
  • DirectX教程(8):全屏显示

    使游戏全屏显示很容易 但是需要更改程序的一些细节 并添加几行代码 在本节中 我们将介绍两件事 首先 我们将介绍如何全球化你的屏幕分辨率以及为什么要这样做 其次 我们将介绍如何使窗口进行全屏模式并再次返回的机制 设置屏幕尺寸 在你的Direc
  • 刷脸智慧化经营助商家高效运营店铺新方式

    迈入5G后 网速在变 生活方式在变 商家的运营模式也应该做出改变 智慧数字经营 助力商家高效运营店铺的新方式 时代的发展速度之快 越来越出乎意料 从2G到3G 再从3G到4G 乃至现在的5G 发展从未停滞 一直在快步向前 快到我们还在对4G
  • leetcode——189.轮转数组(C语言2种思路)

    文章目录 1 题目 2 解法1 开辟新数组 2 1 思路 2 2 代码实现 3 解法2 翻转法 3 1 思路 3 2 代码实现 1 题目 给定一个整数数组 nums 将数组中的元素向右轮转 k 个位置 其中 k 是非负数 示例1 输入 nu
  • maven 打包时后缀加时间

    规范的包名对开发及运维人员的记录及备份是有益的 如何在maven 打包时后缀加时间 在原有打包plugin后面加如下代码
  • 数据结构:面试题目-专项练习-栈-习题练习

    1 下列关于栈叙述正确的是 正确答案 D 你的答案 D 正确 算法就是程序 设计算法时只需要考虑数据结构的设计 设计算法时只需要考虑结果的可靠性 以上三种说法都不对 解析 A 程序是数据结构 算法 错 B C 设计一个算法时 考虑的因素很多
  • 迅为i.MX6ULL开发板Platform设备驱动运行测试

    文章目录 1 编译驱动和设备程序 2 编译应用测试程序 3 运行测试 1 编译驱动和设备程序 和前面章节中驱动测试程序一样需要一个Makefile文件 只是将obj m的值改为led device o led driver o Makefi
  • vue项目初始化出现tar ENOENT: no such file or directory错误的解决办法。

    在npm install时 出现了tar ENOENT no such file or directory报错 原因 node的版本问题 解决办法 全局环境下更新node版本 或者使用公司内部包装过后的的 node 按照顺序运行下面的语句
  • 认识磁盘阵列柜性能

    一个 SCSI 硬盘的平均故障间隔时间 MTBF Mean Time Between Failure 都在数万 小时以上 在正常使用情况下 要坏掉一个硬盘已经很不容易了 在同一系统内 两个磁 盘驱动器同时坏掉的机率 更是微乎其微 但是 如果