群晖(Synology)更换硬盘时间和精神双重折磨的教训

2023-12-14 07:36

本文主要是介绍群晖(Synology)更换硬盘时间和精神双重折磨的教训,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

话说玩磁盘阵列的最后结果就是时间上负担不起,并且还被嫌弃。

在磁盘都到位后下一步就是要选择冗余类型了,对大部分人来说使用群晖自己提供的就好了,通常是 SHR。

什么是 SHR

Synology Hybrid RAID(SHR)是 Synology 的自动 RAID 管理系统。 SHR 可让用户创建具有优化容量和性能的灵活存储解决方案。

SHR 基于 Linux RAID 管理系统,旨在使存储部署比传统 RAID 系统更快,更轻松。这使得它特别适合 RAID 技术的新用户。

SHR的优点:在于方便不熟悉磁盘阵列的玩家,傻瓜简单式的帮你组好磁盘阵列,而且还能合理利用容量大小不一的硬盘,减少浪费,Raid是按照最小的硬盘算,而SHR则可以合理利用减少浪费,智能 Raid 推荐使用。

SHR 1 还是 SHR 2

简单来说就是 SHR 1 能够对比 SHR 2 提供更多的容量,但是只能允许 1 块硬盘出现问题。

SHR-2:SHR-2的原理和SHR的原理是一致的,唯一的区别就是SHR-2只能有2 块硬盘冗余,而SHR只能有1 块硬盘冗余。

这次我们更换硬盘出现的问题就在这里,因为我们的 NAS 是 8 盘位的,但是我们选择了 SHR-1,那么在更换硬盘的时候只能允许 1 块硬盘出现问题。

但是好坏不好坏,在换掉第一块硬盘的时候还没啥问题的。在第一块硬盘更换扩容完成后,我们开始尝试更换第二块硬盘。

这个时候出现了郁闷的事情了,第一块硬盘提示出现坏道,甚至 I/O 错误,但是第二块硬盘已经开始进行扩容和校验了。

结果我们等了 2 周时间,整个 NAS 没有任何进展和动静。

最后我们的解决方案还是重做整列,把出现问题的新硬盘给换下来。

这个时候出现了数据丢失,好在我们对重要数据有了 2 次云备份,同时磁带也备份了一次,丢的数据大部分是一些电影数据,只能说是丢了就丢了吧。

有点遗憾,但最重要的照片和文件都没有丢。

同时 2 周 NAS 用不了,还跑来跑去的被嫌弃说这网盘咋了。

总结

如果你的群晖 NAS 超过了 4 个盘位,并且你的硬盘大小都不一样,无脑选 SHR-2,不要为了多出来的那几个 T 而放弃安全性。

在更换硬盘的时候,是最容易出问题的时候,如果出现了 2 块硬盘出了问题,但你选择的阵列又是 SHR-1,这恢复和折腾的时间遥遥无期。

选择 SHR-2 给了更好的冗余度,哪怕是我们这种极端情况也能够比较好的恢复数据。

我们是好在有 2 次云备份和磁带,才没有丢失太多重要的东西,但还是丢了不少电影等。

2023-12-13_16-45-25

上面的图片是我们在重做整列后还在从磁带和云平台上拷贝数据回来。

在扩容之前,把重要数据备份一次,这真的很重要,不要偷懒,要不然哭都没得哭。

UPS 真的需要,如果在修复存储池的时候掉电,整个修复过程重来算轻的,搞不好重做阵列。

群晖(Synology)更换硬盘时间和精神双重折磨的教训 - 系统容器 - iSharkFly

这篇关于群晖(Synology)更换硬盘时间和精神双重折磨的教训的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/491688

相关文章

java时区时间转为UTC的代码示例和详细解释

《java时区时间转为UTC的代码示例和详细解释》作为一名经验丰富的开发者,我经常被问到如何将Java中的时间转换为UTC时间,:本文主要介绍java时区时间转为UTC的代码示例和详细解释,文中通... 目录前言步骤一:导入必要的Java包步骤二:获取指定时区的时间步骤三:将指定时区的时间转换为UTC时间步

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

C++统计函数执行时间的最佳实践

《C++统计函数执行时间的最佳实践》在软件开发过程中,性能分析是优化程序的重要环节,了解函数的执行时间分布对于识别性能瓶颈至关重要,本文将分享一个C++函数执行时间统计工具,希望对大家有所帮助... 目录前言工具特性核心设计1. 数据结构设计2. 单例模式管理器3. RAII自动计时使用方法基本用法高级用法

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL中DATE_FORMAT时间函数的使用小结

《MySQL中DATE_FORMAT时间函数的使用小结》本文主要介绍了MySQL中DATE_FORMAT时间函数的使用小结,用于格式化日期/时间字段,可提取年月、统计月份数据、精确到天,对大家的学习或... 目录前言DATE_FORMAT时间函数总结前言mysql可以使用DATE_FORMAT获取日期字段

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库