前言
事情的起因是上一个合作的运维小伙伴告诉我不要过分依赖Raid5,他每周要从机房更换10几块坏掉的Dell服务器硬盘,最好准备几块大容量硬盘做额外的数据备份,一般是1主2备,刚开始接触这块准备先搞一个备份盘,毕竟有Raid5可以在前面顶一顶,主要还是因为穷,哈哈。
采购
一开始从某多上看了一些成品移动硬盘,大品牌太贵,小品牌价格可以但是不知道是否靠谱,最后搜到了Seagate Exos系列,作为希捷的银河系列,专为数据中心、企业级存储和高负载环境设计的,具有高容量、高性能和高可靠性,品牌应该值得信赖,但是全新的还是太贵,一块12T的全新盘大概要2100大洋,最后我转向了二手拆机盘。
购买的过程就是比价,差评哪里都有,找一个销量多又便宜的就下手了,大概600块拿下,价格还是真香的,但是二手盘水太深了,盘买回来以后还是需要检测一下。
检测
使用希捷专门的工具Sea Tools可以查序列号,通电时间等,打开软件检查通电时间为0,看来硬盘数据被刷过了,序列号也对不上了,然后在希捷的官网,输入硬盘标签上的序列号,提示硬盘作为系统一部分出售的,不提供单独的保修,那么基本可以断定是希捷官方的OEM盘,也就是从品牌机上拆下来,刷掉了硬盘使用数据,勉强可以接受吧。
接着使用 HD Tune Pro 5.75 查看硬盘信息,序列号是对的,Error Scan
用了将近18个小时,也没发现坏道,读取速度200M/s左右,姑且就这么认为安全的下车了,但是一直也没看到这款硬盘的生产日期,通电时间还被刷成了0,拆机盘不单独保修所以通过序列号也查不出生产日期。
后来通过HD Tune Pro给出的信息 Frimware G006
来推断固件版本 6.0 在 2018 年左右可能开始发布,这块盘大概率是18年以后的,要问我为什么不直接看硬盘标签上的生产日期,因为商家用一个保修贴着故意把那个位置帖死了,撕毁无效,你说气不气人。
可是看不到生产日期总觉得心里不踏实,所以第二天我找了把小刀悄悄把贴纸取下了,后面内容写着 DOM: 08JUN2019 Product of Thailand
,好吧,2019年6月,这硬盘还不是太老,电子设备上的 DOM
通常代表 Date of Manufacture(制造日期),它标识了设备的生产日期,我们姑且认为他是真的。
使用
说到数据备份,我那几台服务器都是Linux,硬盘文件系统为 ext4
,而之前我问了一些成品移动硬盘根本就不支持,我也没有额外的Linux系统的机器,适应windows系统备份linux的数据把文件属性不兼容,所以想了一招折中的法子,找一台一直开机的windows机器,安装WSL2,在WSL2安装Ubuntu来执行rsync命令完成数据的备份
在硬盘收到之前我已经用NTFS格式的U盘测试过了,有些符号链接同步到NTFS格式的U盘上虽然打不开,但是再同步回Linux系统下的ext4硬盘上就可正常使用了,所以通过WSL2将Linux系统ext4硬盘上的数据备份到NTFS系统上是可行的,所以我用USB连接了新买的硬盘,开始同步数据,下面直接给出操作命令
- 创建目录
/mnt/e
,原因是新插入的硬盘不会自动挂载,需要手动创建目录挂载
1 | sudo mkdir -p /mnt/e |
- 修改目录权限,默认为root,设置为正常使用的用户
1 | sudo chown -R albert:albert /mnt/e |
- 挂载E盘到
/mnt/e
并尽可能保留归属和权限,这个命令比较长,后面详细介绍每个参数,主要目的就是保留源文件的所有信息,比如归属、属性、时间戳等
1 | sudo mount -t drvfs E: /mnt/e -o metadata -o uid=$(id -u),gid=$(id -g) |
sudo
用于以超级用户(root)的权限执行命令。这是因为挂载文件系统通常需要管理员权限。mount
是一个用于挂载文件系统的命令,将存储设备(如磁盘分区)或文件系统挂载到目录中,使其能够被访问。-t
参数指定挂载文件系统的类型。drvfs
是 WSL 中用于挂载 Windows 文件系统的驱动器的文件系统类型。这是 WSL 特有的文件系统类型,允许在 Linux 子系统中访问 Windows 驱动器。E:
指定要挂载的 Windows 驱动器。Windows 驱动器用字母(如C:
、D:
、E:
等)来标识,这里E:
代表 E 盘。/mnt/e
这是挂载点目录,即你希望将 Windows 驱动器挂载到 Linux 文件系统中的位置。在 WSL 中,通常将 Windows 驱动器挂载到/mnt
下的相应目录,例如/mnt/e
。-o metadata
选项使得挂载的 Windows 文件系统能够支持 POSIX 文件权限和元数据。这对于 Linux 应用程序处理文件权限和所有权等元数据是必需的,否则属性都是777。-o
参数指定挂载选项。uid=$(id -u)
:设置挂载文件系统中的文件和目录的用户 ID(UID),$(id -u)
会被替换为当前用户的 UID,否则都是root。gid=$(id -g)
:设置挂载文件系统中的文件和目录的组 ID(GID),$(id -g)
会被替换为当前用户的 GID,否则都是root。
- 从服务器同步数据到本地
1 | albert@qyg-pc:/mnt/e$ sudo rsync -av --delete root@10.0.10.10:/tmp/test ./new-backup |
- 其他常用cmd命令
wsl --terminate Ubuntu
: 关闭子系统实例wsl -d Ubuntu
:启动子系统实例
突变
事情进行到这里本来可以完美的结束了,但是我手贱的打开了软件 CrystalDiskInfo
,发现新买的这块盘报警告了,而原装的两块跑了6年的盘一点问题也没有,警告信息为【警告[05] 重新分配扇区计数:8】,我用其他的几个软件比如 SeaTools、Victoria等查看都是这个数据,意思就是这个盘有8个扇区坏了,但是通过硬件的磁盘映射功能,已经将坏的位置指向了硬盘保留区,所以这种情况下没有检测出坏道。
其实我倒是不担心坏了这8个点,我担心的是这块硬盘的状态,已经坏了8个马上到临界值了,后面会不会马上突然坏一大片呢?我主要怕它突然寿终正寝啊,思来想去还是联系商家换一块吧,虽然新换的可能还不如这一块,但现在毕竟已经查出问题了,这么用下去心里很担心啊。干脆联系了售后,明天退回去再换一块好了,虽然商家的回复有点不情愿。
关键参数
因为一个参数我决定换货,顺便说几个其他比较重要的参数吧:
(05/005)重新分配扇区计数:显示当前有多少瑕疵的扇区被发现并重映射到了备用扇区。数据显示的就是成功被重映射的扇区数。如果数据不为0,状态一般显示为警告。大概率出现了坏道,但可能被修复了,建议退货。
(C4/196)重新分配事件计数:计算重映射操作数。这个数字记录了重映瑕疵射扇区到备用扇区的总数,包括了成功和未成功的总数。如果数据不为0,状态一般显示为警告。大概率出现了坏道,建议退货。
(C5/197)当前待映射扇区计数:显示当前有多少被怀疑瑕疵的扇区被发现等待重新验证,如果验证不通过就会进入重映射扇区。如果数据不为0,状态一般显示为警告。大概率出现了坏道,建议退货。
(C6/198)离线无法校正:显示无法修复的错误扇区总数,说明硬盘碟片或机械结构有问题。建议退货。
在论坛里已网友的回复听中肯,05和C5值不是0,闲鱼二手都卖不上价了,但凡你认为数据重要,就抓紧更换硬盘,不要赌;如果不在乎数据,那就继续用。
反正05值不是0就说明硬盘的存在坏点并且被映射解决了,可以正常用,性能下降一点点,但是当保留区域用完无法再未新坏点完成映射时,丢数据就是家常便饭了
我们怕的不是现在这几个坏点,而是担心硬盘使用到了一个极限值,后面快速垮掉了,但是也有可能继续使用个3年5年的还是这8个坏点,这也是有可能的。
总结
Raid5
对于数据安全并不完全保险,有精力和财力还是把重要数据多备几份- Seagate Exos系列,专为数据中心、企业级存储和高负载环境设计的,具有高容量、高性能和高可靠性,还不知道是不是真的靠谱
- 常用的硬盘检测工具有
SeaTools
、HD Tune Pro
、CrystalDiskInfo
和Victoria
等 - 硬盘中的
SMART
信息中重点关注05
、C4
、C5
、C6
这几项,值不为0的话就有丢失数据的前兆了 sudo mount -t drvfs E: /mnt/e -o metadata -o uid=$(id -u),gid=$(id -g)
注意挂载硬盘的参数- 我就静静地等着我换回来的盘了,到手后再备份数据
走在路的右边,望着左边的风景是那样的默认,虽然昨晚才刚刚从那边走过,人生呢?是不是也这样,未必经历过就会熟悉~
2024-8-14 20:44:22