群晖(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获取当前时间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. 环境准备与依赖库

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增