如果抽出一块正常工作的服务器硬盘,会发生什么?

程序员的成长之路

共 1782字,需浏览 4分钟

 ·

2020-08-09 08:49

程序员的成长之路
互联网/程序员/技术/资料共享 
关注


阅读本文大概需要 3 分钟。

来自:腾讯云

最近小编老是会被问:如果抽出一块正常工作的服务器硬盘,结果会怎样?


  • 数据会不会丢?
  • 业务会不会受影响?


答案是,不会丢!不受影响!


保护“使命重大”的硬盘,分两步走,下面以腾讯云为例:


 

先判断硬盘状态,看看数据丢没丢

如果一块正常工作的硬盘被抽出,服务器首先会做出反应。

服务器在硬盘读写数据时,设有特殊校验节点进行定时检查。
 
校验节点是数据存储的“边界”,节点之间的数据构成了存储的一个单位。服务器通过检查这些节点是否正常、完备,可以判断存储服务是否正常。
 

如果抽出的硬盘重新插入后,服务器发现节点正常,就会判断数据没有缺失,硬盘会进入正常运行状态。
 
但如果被抽出的硬盘正在读写数据,节点丢失,服务器会发起请求,申请替换新硬盘,并在其他硬盘上恢复损失的用户数据。

  
如果数据丢了,怎么找回来?
 
如果被抽出的硬盘正在读写数据,怎么保证用户服务不受影响?
 
分情况。

根据存储需求的不同,腾讯云为用户准备了CBS(云硬盘)、CFS(文件存储)、COS(对象存储)等多种服务来存储数据、运行业务。

这些服务都使用多副本技术保障用户服务。但服务不同,技术也不同:
 
一种是COS使用的腾讯自研存储引擎YottaStore中采用的纠删码冗余技术
 
当用户写入1份数据时,YottaStore技术会将其均匀分成若干份数据块、校验块。每个分组由k个数据块和n个校验块组成,最后打散存储到磁盘中。
 
这些数据块和校验块分组数量可以多达两位数,分别放置在不同园区、不同机架、不同服务器的硬盘中,同一块硬盘上只放一个副本数据


如果检查到硬盘出现掉线或损坏等故障——YottaStore检测到某处数据块或校验块被判断为不可用时,就会立即停用这部分数据。

紧接着,会用纠删码等技术将其他组的数据块、校验块重建丢失数据,并更新到其他硬盘当中。

另一种是是腾讯自研存储产品CBS和CFS采用的「三副本技术」
 
CBS和CFS服务,会把用户存储数据,拆分成若干固定大小的数据块,写入不同机柜不同服务器的不同硬盘中,共有三个副本。
 
如果硬盘被抽出,用户发起的请求,将指向正常工作的副本,用户服务不受影响。


 
CBS和CFS的系统也会进行自检。检查到因硬盘故障(设备只读、节点宕机)或网络故障(如链路异常或断开、网络探测延迟增大等)导致其中一个副本不可用时,系统会将其剔除。
 
三副本技术会自动发起副本恢复,在最短的时间内将用户数据恢复成三副本的工作状态。

当然,如果因为一些其他原因,导致多副本或三副本全部丢失,不在本文讨论范围之内。


其实,服务器和底层存储技术方面的技术只是硬盘、用户数据保护中的冰山一角。

现实中,抽出一块正常运行硬盘几乎不可能






  • 硬盘本身有生命周期,硬盘替换是常规操作。为准确运维,腾讯云的硬盘都给拉手条设计LED指示灯,作为待运维硬盘的位置指示,颜色和闪烁频率代表硬盘的健康状态;


  • 抽出硬盘对服务器整体几乎不会造成影响。硬盘设有独立电子断路器eFuse,可实现插拔电源缓启动、去抖和硬盘故障隔离,避免电压变化影响其它硬盘和服务器工作;


  • 数据中心内外有多重安保措施,实时监控服务器和网络设备开机状态。进入服务器存储区间,要经过生物识别+门禁卡双重识别;异常关网络端口拔插操作会触发告警,运维人员或IDC安保人员在5分钟内就会到场查看。

     

  • 未经用户授权,腾讯云绝不主动触碰用户硬盘中数据。即便用户授权,腾讯云也会通过权限划分确保权限最小化,所有额外权限均需要经过多级评审批准 ......

现在,你知道为了保护一块硬盘和其中的数据,服务商有多努力了吧!

推荐阅读:

毕设有着落了!一套开源的,基于SpringBoot的车牌识别系统

飞天茅台超卖事故:Redis分布式锁请慎用!

5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「2048」,即可免费获取!!

微信扫描二维码,关注我的公众号

写留言

朕已阅 

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报