终于想明白一些事,关于NAS
一直以来想搞好一部NAS存储小孩的视频和照片,一直纠结用什么硬件,硬件解决后虽然不甚满意,不过无论怎么样都算投入巨资(超过7千……)组装完毕,然后就一直纠结用什么NAS系统,终于下定决心使用了OMV,拖拖拉拉勉强用了一年多,最近想弄好ownclound,结果发现OMV始终太小众,ownclound扩展已经停止更新维护了,这是第一个问题;第二个就是通过RDM挂了4块ntfs硬盘到OMV使用,ESXI虚拟windows始终有个别块硬盘无法识别到,联系到之前断电导致硬盘数据校验出错(用CHKDSK命令检查过几次,虽然硬盘没有坏道,但是部分数据丢失,少数无法校验恢复,要命的是就怕不知道什么文件丢失了),这是其二。
昨天查找NAS相关材料,看到一论坛网友观点,那就是,无论什么NAS,用自己最熟悉的操作系统。一想,确实是,与其发大量的时间精力捣鼓自己不熟悉的技术,不如留多点时间做其他有意义的事,比如赚更多的钱买白群晖 :-) 我最熟悉的就是windows,确实对于非Windows,一旦硬盘出故障,要修复数据又是麻烦事一件,万一不熟悉操作失误,数据丢失就痛苦无用了。但是有个疑问,windows 下有两个需求,一个是文件共享,一个是视频服务器。发现视频服务器可以用PLEX server,之前PLEX必须重编码输出,对于喜欢看高清视频的我来说,不能接受二次编码后的画质损失,所以之前安装过但是放弃了,现在新版支持原码率输出。至于文件共享,PLEX也可以看照片。是的,突然想明白第二件事,小孩的照片和视频拍了那么多,不是拿出来看的吗?以前胶片时代,拍照是要洗照片出来看的,现在数码照片了,大家是不是都很少翻照片出来看呢?而且PLEX最大的好处就是,解决了多硬件终端看视频和图片的需求,包括PC和电视、手机;用户也是家里老少都可以。
既然需要保存珍贵文件,那就要考虑数据安全。使用电脑十几年,包括早期调整硬盘分区容量导致不小心格式化硬盘(不小心暴露年龄了),到最近OMV数据丢失,始终需要对数据备份保持高度重视。所以很早就打算弄RAID,大学的时候就学过RAID0-6等的优缺点,那时候非常看不起RAID0-4这些,觉得要么硬盘使用率不高,要么数据不安全。第一想法就是组RAID 5。但曾经工作经验见识过,RAID5一旦有一块硬盘损坏,重建数据花费的时间……只能安慰自己,数据能找回来就不错了。但是如果两块硬盘同时挂掉呢?这种可能性再RAID5上也不是没可能,呃……这两天突然想明白一件事,我有那么多文件需要备份或者冗余吗?不需要的。一直以来我都没搞清楚自己的真实需求,比如高清影音文件,其实我只需要知道目录,如果文件丢失了,直接网上下载回来就好了。我最重要的,就是家人的照片和视频,还有一些个人文档。那我只需要找两块小点容量(原来1T硬盘因为经常挂硬盘盒,很容易就有坏道了,剩下2块3T硬盘)做RAID 1,直接镜像就好了,虽然损失了一半的硬盘容量,这样影音文件直接扔到两块8T硬盘上,根本不用冗余,只需要定期用everything软件导出检索数据库就好了。实际上,需要冗余的文件大概100G,哪怕以后拍摄单反照片,3T容量也足够用了。有个小问题,看了知乎的文章,RAID 1直接用软raid就好了,原本我还纠结要不要淘宝一百多块钱的raid卡上硬件raid。最后,对于5G以内非常重要的文件,为了避免同一部主机两块硬盘同时挂掉,可以通过微软或者Google或者亚马逊的网盘同步。
想清楚上面几件事后,豁然开阔了。人生有时候就需要拨开迷雾,认清楚自己的最根本需求,这样才能活得轻松。化繁为简。
终于想明白一些事,关于NAS的更多相关文章
- 今天终于想明白为什么java包要倒着写
比如 com.baidu.video,因为java内部实际上是以文件夹形式存在的,是按com,baidu,video依次生成文件夹的具体功能的是子文件夹,所以要倒着写.
- vue-router 路由元信息 终于搞明白了路由元信息是个啥了
vue-router 路由元信息:https://blog.csdn.net/wenyun_kang/article/details/70987840 终于搞明白了路由元信息是个啥了:https:// ...
- 10682 deathgod想知道的事(数论)
10682 deathgod想知道的事 该题有题解 时间限制:1000MS 内存限制:65535K提交次数:265 通过次数:14 题型: 编程题 语言: G++;GCC Description ...
- 任何国家都无法限制数字货币。为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用 c.分布式算法的实现 d.数据存储技术 e.拜占庭算法 f.权益证明POW,POS,DPOS 原因一: 点对点网络设计 其中点对点的P2P网络是bittorent ,由于是点对点的网络,没有中心化,因此在全球分布式的网
任何国家都无法限制数字货币.为什么呢? 要想明白这个问题需要具备一点区块链的基础知识: 区块链使用的大致技术包括以下几种: a.点对点网络设计 b.加密技术应用 c.分布式算法的实现 d.数据存储技 ...
- 终于搞明白Unicode,ASCII,UTF8,UCS2编码是啥了
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 前言 本文起因于 ...
- 何为“Secure Contexts”安全内容? 终于说明白了!
何为"Secure Contexts"安全内容? 终于说明白了! 看图说话 [途径1]:地址栏输入: edge://flags/ 按需设置选项后,重启浏览器即可. Allow ...
- Reddit: 只有独生子女才明白的事
duhvorced: 对我来说,恋爱成了件异常艰难的事. 我一直很羡慕有兄弟姐妹的人,特别是有异性兄弟姐妹的.他们能够在成长过程中明白异性对身体.友情的看法,知道他们如何处理不安全感,如何应对同龄人之 ...
- 终于弄明白了 Singleton,Transient,Scoped 的作用域是如何实现的
一:背景 1. 讲故事 前几天有位朋友让我有时间分析一下 aspnetcore 中为什么向 ServiceCollection 中注入的 Class 可以做到 Singleton,Transient, ...
- PID算法终于弄明白原理了,原来就这么简单
看起来PID高大尚,实则我们都是被他的外表所震撼住了.先被别人唬住,后被公式唬住,由于大多数人高数一点都不会或者遗忘,所以再一看公式,简直吓死.了解了很浅的原理后,结果公式看不懂,不懂含义,所以最终没 ...
随机推荐
- DBA_实践指南系列6_Oracle Erp R12工作流通知邮件配置Email(案例)
2013-12-06 Created By BaoXinjian
- 支持向量机(SVM):应用实例
SVM 应用实例(人脸识别): from __future__ import print_function from time import time import logging import m ...
- django1.8读书笔记模版高级进阶
一.概述 想要定制或者扩展模版引擎,模版系统工作原理,自动转移特征 名词解析:模板 渲染 就是是通过从context获取值来替换模板中变量并执行所有的模板标签. 二.Context处理器 如果在模版中 ...
- mysql-5.7 innodb_file_per_table 详解
一.innodb_file_per_table 的简要说明: 在很久很久以前也就是说还没有innodb_file_per_table 的那个年代,所有的innodb表的数据都是保存在innodb系统表 ...
- RUBY Error: Please update your PATH to include build tools or download the DevKit
出错的原因是安装XXXXX的时候,需要build tools,但系统中没有.出错信息中同时也给出了解决的法案: 1. 到 http://rubyinstaller.org/downloads/ 去下载 ...
- JS正则表达式获取分组内容实例
JS正则表达式获取分组内容. 支持多次匹配的方式: var testStr = "now test001 test002"; var re = /test(\d+)/ig; var ...
- mongoose中的versionKey
通过mongoose中的save方法保存记录时document文档默认最后会有一个字段"__v",这个字段表示该文档是否是刚刚创建的,如果是则字段"__v"的值 ...
- 用C++画光(一)——优化
写在前面 在先前的画光系列中,实现实体几何.反射.折射等效果,但是最大的一个缺陷是复杂度太高.当采样是1024时,渲染时间直线上升(用4线程),以至好几个小时才能完成一副作品,实现太慢.然而,当我看到 ...
- vue实现前端导出excel表格
1.在src目录下创建一个文件(vendor)进入Blob.js和Export2Excel.js 2.npm install -S file-saver 用来生成文件的web应用程序 3.npm in ...
- Python2 获取两日期之间的每一天
import datetime def getEveryDay(begin_date,end_date): date_list = [] begin_date = datetime.datetime. ...