hakushin digital librarian guide.21.01.05

ooooOOOOOOOO

digital librarian是我目前迫真身份认同的一部分,所以我突然想借这个机会讲点digital librarian心法(大嘘🤔

hdd data storage hierarchy

对于每一个迫真digital librarian来说,确立合适的数据存储层级是非常重要的事情,它能够确保以最少的投入建立和维护最大的数字图书馆,而且还能确保它的可靠性🤔而建立数据存储层级需要准确地对数据和其存储媒介(主要是机械硬盘,固态作为数据存储大概应该是个笑话)进行分类🤔

我目前使用的数据分类有三种类型:

  • 第一类数据,又称不可再生数据,字面意思,比如相机照片就很明显属于这种,另外属于不可再生数据的有游戏存档、自己做的mod、写的代码、pr和ae工程文件等🤔
  • 第二类数据,又称半不可再生数据,和上者的区别在于它也许可以再生,但再生起来极其困难,比如固态盘的备份,pr和ae生成的视频,游戏打包等(这部分通常包括了游戏mod,尤其以rts游戏和某以i打头的厂家做的萌妹游戏(大嘘)为甚,很明显打包存自己硬盘上比从sbeam上下然后再打mod方便得多)🤔游戏截图理论上来说算第一类,但它又没那么重要,所以从实践上来说我将其降级到第二类🤔
  • 第三类数据,又称完全可再生数据,当然是指完全可以非常简单地从互联网上获取的数据,最明显的例子就是discord drive的本地副本了,如果哪天需要重新下下来就是一句命令行的事(迫真,通常来说音乐、porn和bdmv属于此类🤔

相应地也有三种类型的存储,而且每种存储我设立了相应的标准:

  • 主存储(Master Data Storage)只用来存储第一类数据,它必须是当下能买到的最好到次好的全新国行五年保CMR机械硬盘,当然我没有那么土豪,但我也划了一条2500块钱的线,在这个线里买容量最大的,就像我之前说的,至少希捷是需要买某系列里容量最大的🤔1⑨年是exos x10,20年是exos x12,而今年可能是exos x16甚至exos x18🤔这些硬盘都是氦气盘,拥有当下最快或者次快的连续读写速度🤔用萌妹来做卷标的话,目前只有futaba,毕竟geek之神(大嘘🤔
  • 副存储(Secondary Data Storage)用来存储第二类数据,和第一类数据的备份,它可以降级,但也需要保证是二手的服务器CMR硬盘,通电时间需要在一年以内🤔由于需要保存第一类数据的备份,出于迫真冗余的需要,最好是空气盘🤔我经常使用希捷的6TB硬盘做副存储,但最近我在尝试10TB,而且那个盘都可以满足主存储的标准了,速度甚至都比我所有的主存储快🤔用萌妹来做卷标的话,它可以是任何萌妹(错乱🤔
  • 第三类存储(Tertiary Data Storage)是我目前存储层级里最垃圾的存储,基本上只要求没有坏道即可,在此基础上越便宜越好,如果蓝光25G比机械硬盘便宜的话都可以用蓝光(而且我好像以前就是这么做的,我有大约1.5TB数据是以蓝光的形式存储的),但现在看来机械硬盘都跌到50块钱每TB了,傻逼才用蓝光25G🤔很明显它只适合存储第三类数据,但第二类数据的备份在上传完网络存储之后也会存到这些垃圾盘上,毕竟本地就是比从网上下载快🤔这系列是不会有萌妹卷标的,而且以后我会直接挂载到目录上,这样就更不需要卷标了🤔

这三个存储层级都可以通过网络存储来进一步容灾(迫真🤔度盘是非常理想的选项,因为它只有下载时才收费,存储是不收费的(大嘘🤔再就是discord drive了,但discord drive其实用起来不是那么方便🤔由于除了第三类数据外别的东西都需要加密后才能上传,而加密后的8MB包可不是什么好玩意🤔所以discord drive很少用于容灾,倒是服务器那边的备份经常会用到discord drive,这样它能够很快变成本地的第三类数据🤔discord drive甚至可以说是最第三类的第三类数据,真的就是一句命令行的事🤔

其实我当时开发discord drive甚至它的前身,音乐递归上传脚本,是为了解决分享问题的,我自己萌妹聊天室里有个音乐鉴赏(大嘘)频道是靠上传flac做音乐鉴赏的🤔而discord drive也被经常用于快速分享元首视频的原始高码率格式🤔但我后来意识到像Panfuricus这样的把discord当野爹而非肉便器的discord奴才越来越多,吓得我只能把discord当数据存储了(bruh

对于图片来说上传度盘已经是标准处理流程的一部分了,所以我只需要对图片文件夹外的其他东西一次性打包上传即可🤔这部分是以年为单位,每年的最初几天我都会对去年的除图片外的主存储和除图片和游戏截图外的副存储进行打包上传,并在上传完后将其转移到垃圾盘上🤔其实游戏截图我也想备份,但这部分东西太™多了,我暂时没啥好办法🤔

old hdd backups

在这个层级确立之前我有一堆旧硬盘需要备份,其实我将原始盘里的数据作为第一类数据处理,那么它们的备份当然是第二类数据了,需要副存储来保存它们🤔比如我的笔记本硬盘就买了个12TB的氦气盘来存储,尽管同一个卖家也在卖坏道盘,而且我的确扫出了坏道,但在确认测试中又没重现坏道,所以我可以认为这硬盘大概应该可以做副存储用🤔另外一个例子是蓝光盘,我最后应该是用一个6TB的sas盘备份起来了🤔旧的四块2TB台式硬盘最后其中三块备份到了另外一块6TB的sas盘里🤔最后一块由于使用过于频繁,已经便乘主存储(大嘘🤔

habit

另外良好的硬盘使用习惯也能保证数据存储有尽可能长的寿命,当然它不会无限长,毕竟据说机械硬盘的寿命只有十年,氦气盘可能还得减个半,但至少能持续到将其备份到另外一块盘上的时候🤔

首先最基本的是机械硬盘通电时一定不能移动,一定要固定好,使其不受震动等影响🤔不然它肯定要坏🤔不通电时基本上只要不剧烈磕碰就没事,但像我上次那样直接摔到地上,它肯定也会坏🤔

另外机械硬盘对电源也有要求,劣质电源也会像通电时移动一样损坏硬盘,而且我听说希捷的硬盘缺乏滤波电路,更容易因为电源问题损坏🤔像我台式机用的p1000电源就是那种质量非常好的电源,上面接的机械硬盘没一个坏的,而且我基本上只用希捷🤔我不清楚机械硬盘用的滤波组件有没有,但如果有的话可以考虑在电源输入上加装一个🤔

其实服务器用的硬盘背板上面就有这种滤波电路,比如某个15块钱的4盘位背板,每个盘位上面都有两个滤波电容,而且这种东西还有额外的好处,一条8087转8087就能接4块硬盘,乱七八糟的硬盘线顿时少了三条🤔

3.5'机械硬盘需要5V和12V,12V通常用来旋转盘片,特点是刚启动时需要消耗掉大量电流,比如像最新的服务器硬盘需要3A这么大的电流,所以移动电源大概是没法用来做12V输入了(悲🤔但在启动完成、盘片定速旋转时,需要的电流就非常少了,所以如果电源不够给力的话多机械硬盘需要设置延时启动🤔5V用来供应旋转盘片外的其他任何电源需求,包括寻道和读写数据🤔而对于2.5'机械硬盘来说,至少笔记本用的型号只需要5V,那么这5V需要供应所有方面,包括旋转盘片,所以易驱线的供电质量是非常重要的,插的USB接口的供电质量也是非常重要的,不够的时候一定要想办法外接供电🤔
至少希捷的任何型号机械硬盘,用电量是可以在product manual里查到的,搜stxxxxxxxxxx product manual pdf应该就可以了🤔

除此之外,我还有一些个人化的使用机械硬盘的习惯,不太适合所有人:

  • 众所周知机械硬盘的寿命和其通电时长有关,以至于通电时长基本上算是判断二手硬盘寿命的唯一标准🤔smart也是可以刷的,但这就是后话了🤔外加上我有时候需要不加机箱使用它们,所以至少我目前来说只有使用的时候才会给它们通电,不使用时是不插上去的🤔用这种方式我目前的主盘用了一年了才不到100天的通电,这基本上接近于“数据存储”了🤔
  • 而经常使用的数据我更倾向于转移到固态上,而当固态容量不够用时,我倾向于用笔记本盘存储它们,因为笔记本盘尽管速度非常慢,但对慢速数据来说它容量管够,而且噪音和发热可以忽略不计,对恶劣供电和使用环境的容忍度高,而且如果阵列卡真的没盘位了(大嘘),可以直接接usb上🤔
  • 为进一步减少第一和第二类存储的使用量,使用第三类存储对其上的部分数据进行迫真索引也是个好主意,比如我这几天搞的游戏打包的副本,和以后做的图像副本,后者只存储jpeg格式,当需要raw格式时可以很容易从主存储里索引出来,然后接主存储或者直接从度盘上下(大嘘🤔
  • 尽可能使用和使用数据最常用的操作系统匹配的文件系统,比如最常用这些数据的系统是win的话就用ntfs,别用ext4和exfat等玩意,而如果最常用的是linux的话就别折腾ntfs了,用ext4🤔这可以确保到时候数据恢复(当然我说的是分区表损坏这种类型的故障,而不是物理损坏,后者还是不如像之前说的做好冗余和容灾靠谱)时轻松很多🤔

到此我需要强调一个更加重要的点,如果你是个人为单位的迫真digital librarian的话,千万不要用raid,千万不要用raid,千万不要用raid🤔raid0大概就是个笑话,raid1也是多此一举(因为上述的分层已经确保了重要数据的冗余度),而最常用的raid5,一旦坏掉一个盘就得重建阵列,而在此过程中只要有一个bit错误,重建阵列就会失败🤔并且在重建阵列的过程中其他硬盘也有几率刚好损坏🤔

再说了raid需要硬盘一直上线,如果没有服务器机房那种五年淘汰一次硬盘的财力,还是不要尝试了,还是用上述的冷热存储法好了🤔但如果你是规模大一点的多人digital librarians集合的话,可以尝试做backblaze风格的文件阵列,然后将一个文件分散在17+3台不同服务器的17+3块硬盘上,然后也许就可以让所有数据都一直在线了🤔在这种情况下甚至存储分级都不用做了,所有数据都用垃圾盘存,损坏了直接换新+硬盘对拷机强行复制,重建阵列分分钟搞定🤔按照backblaze的实践,他们压根就没有遇到过三份冗余同时坏掉的情况,两份冗余同时坏掉的情况都很少见🤔

但我肯定不会尝试这种激进的数字图书馆方案,毕竟我只有一个人,而且20台服务器的电费还是非常吓人的🤔但这玩意能搞起来的话还是非常爽的,20块3TB垃圾盘能提供51TB的空间和最大1360MB/s的连续读取速度,能跑满10GbE甚至20GbE🤔8k unterganger估计会狂喜(话说我上次做元首视频是几年前的事情了?),但这玩意装游戏应该不怎么样🤔

更不要依赖nas来组建数字图书馆🤔nas违背上述的每一个数字图书馆原则,它的文件系统不透明,违背文件系统匹配原则(尤其是绝大多数买nas的都常用的是win系统,是怎么容忍nas上文件系统都是linux系的),喜欢自作主张地对多块硬盘建立鬼知道是什么形状的阵列,只有1Gbps的小水管,目测供电也不怎么样,本来应该只在本地或者内部网络存储的数据随时都能被外网访问,整个系统都24*7连接到鬼知道有没有漏洞的nas厂商的服务器,甚至更容易受到勒索软件的威胁,因为你都不能下线你的不常用硬盘🤔已经有人因为使用nas而被勒索软件橄榄了数据仓库🤔想成为迫真digital librarian还是不要偷懒为好,自己去装机子,自己去装系统,自己去确立存储层级并想办法做最佳实践,nas也自己去搞🤔

群晖dsm从数据存储的角度来说基本上一无是处,我自己的nas也只跑一个winserver201⑨,况且我常用它的时候大概也是两年前了,现在基本上只有用到上面硬盘的时候才开个机🤔再加上我现在存储彻底转sas和迫真冷存储,nas更没机会开机了🤔现在唯一在跑的群晖dsm在数据存储方面的效果连笔记本盘直接插电脑上都不如,已沦为docker机器,而且还是没有命令行的那种🤔当然你可以搞个开ssh server的docker镜像然后连ssh当迫真bash环境跑,但那样就没啥意思了🤔

发表评论