家庭娱乐折腾流水账

2017-05-03 17:03:41 +08:00
 sampeng

不喜欢折腾的程序不是好的程序员 ---- 尼古拉斯.我说的

写在前面

一直认为自己是一个懒人,很久很久以前折腾 linux,折腾 ubuntu,折腾 gento,折腾 vim。最近的几年也变成了 macos,jb 全家福。甚至在去年前 ss 都用别人线程的。越来越不想折腾。至从发生了那件事。

第一件:梯子到期了,我出不去,就续不了钱。整一个死循环。然后结合实际情况,我貌似还是需要一台 vps 做爱做的事情。

第二件:国内云抽风,金山云盘的关闭,百度云盘需要付费,mac 版还不好用,dropbox 和 onedrive 也不好使。翻墙是可以用,但哪有原生的流畅。网盘的使用环境已经恶劣到作为一个程序员不能忍的程度。

终上所述,我有两个核心需求需要解决。梯子 & 云盘。

在折腾解决方案的时候天天爬各种论坛,基本没有一个从头到尾的解决以及对组件的探讨。所以,我做了一个总结

解决梯子的问题

无非是选用一个 vps,以及装梯子。但实际操作起来还是很需要考究一下的。

通道的选择

测试过的方案

最后得出结论,vnet+vultr 是科学上网现阶段比较合适的方案。费用:30+70=100/月

云端方案

云端主要是存储

其实每个人的核心数据并不多,1T 只要不放视频,是绰绰有余的。可能照片吃点空间。但是我这几年的照片也就几十 G。暂且放 dropbox 里没啥问题。icloud 考虑过,有几个问题我无法接受

代码存储

多年代码积累必须存储下来,以前从来不干这个事。现在捡起来。github 直接开一个个人私人账号。所有代码存储存储在 github 中。然后定时任务备份一份到 dropbox 里

照片+自己拍的视频

上面已经说了。dropbox 暂时够用。不行再想办法

下载的视频

这个就简单粗暴了,丢了就丢了,先扔移动盘里。看完删。这个暂时没有特别好的方案,字幕问题太痛苦,家里的网又出不来。联通升级后再也出不来了。简直是蛋疼。

各种文档

主要使用 google 云端硬盘,备份 dropbox。将来备份到本地来。 因为我的邮箱都是 gmail 收取。方便使用。

关于 dropbox 和 google 云端存储还有另一点需要说一下。

其实这两个在国内都需要翻墙才能使用,自己用没毛病。但是想家人用,大概想了个方案。等 vultr 的日本的存储节点有货了把 vultr 换成存储节点,因为我只要一个翻墙功能,实在是浪费的不行。

一个错误的方案,装 owncloud。原来以为这是可行的,实际发现。和 dropbox 比起来差的不是一点半点。

折腾完的总费用 |项目|费用| | :—- | -—:| |github| $7 /月 | |vultr | $10 /月| |vnet | 30/月| |dropbox| $9/月|

总费用 200 一月左右。正好符合我每年 2000 的费用。 这里基本做到多重备份+科学上网。

看视频的需求

因为我在视频行业,所以清楚的知道,世面上所有的视频平台放的都是假 1080.720 都不是,大多数可能才 480.也不能怪人家,成本摆那呢。

所以上网下载机是一定需要的,能够外网控制下载。回家就能看。

在家东翻西找,翻出 pcdroid x 1,1T 移动硬盘 x 2.

ok。撸起。aria2c。做下载机完美。

播放环境

下好片了要播放,这个我折腾了很多很多软件,租的房子,有电视,还是个海尔的智能电视。搞了半天,发现无法从网络播放。装上 kodi,无法硬解。妈蛋。。。

让合适的东西做合适的事吧,上天猫盒子。看了一下芯片,pro3 就可以。正好优惠。299 一台。入之。

再用 kodi 的搜刮器管理。自动下载字幕。o 啦。

等等,手机 pad 怎么搞?

ios 没 kodi。nplayer 是神器。试用了一下就买了正版。

差不多就这样。自我感觉良好

整个环境使用 4 个月后

上面一坨是我之前的过度方案,写了 markdown 好久了,还是有必要阐述一下的。用了 4 个月后我发现还是有问题。

存储问题

播放问题

我家里有猫,pcdroid 对他的诱惑太大了。。已经咬断我 1 根网线,天猫盒子的电源线。kodi/nplayer 播放是很给力。但我是程序员啊。我是一个特别特别懒的程序员。所以面临的管理问题让我觉得有点受不了,而且自动下字幕也不好用,经常对不上。看看美剧还是没差的,但看美剧依然得自己去网上关注着。所以得解决:

NAS

最后琢磨来琢磨去,需要解决这么多需求。使用收费项目理论上是可以,但是得花不少钱,但我算一下 nas 的帐。一台 nas。算上硬盘。3000 能打住。硬盘平均寿命 3 年。我选择其他的首付服务一样的 3 年需要 3000 来块钱,甚至更多。那我为何不选择 nas 呢?

开始撸

先解决网络

nas 最佳使用环境是千兆网络环境,否则背不动多台设备高清片得读取。

我先是用极路由 1s+千兆路由+7 类线。暂时顶着用。 用着用着发现,我手机还是 2.4G 啊。。。得类,换 5G 的路由。极路由 4 增强版。

这是个巨坑货,极路由 4 增强版,狂掉线不说。还给我毁了一块硬盘。怒退之。

然后上 ac68.刷小宝梅林。。网上都说刷梅林装 SS。我抓瞎了好久。最后才知道是刷小宝梅林。

刷碗梅林后也就用用 SS。我一直坚信,路由干好你自己的事就好了。下载,smb 什么的。就歇着吧。

再挂上 dnspod 的 shell api。自动更新我 3 个域名解析到家里来。

dnspod 和阿里的对比了一下,选择 dnspod 因为 ttl 时间短,网上搜都说是 1 个小时,其实不是,api 请求是 10s 就会更新。只是 1 个小时内不要频繁请求多次。这个通过 api 可以很好的判断,只有在 ip 发生改变才修改。在用 ac68 的过程中,1 个星期 ip 都没变过。。所以灰常完美。

网络问题折腾到这里,全家千兆网络环境达成。

NAS 的选择

网上有很多 nas 的评测,和选择文章。但实际没解决我多少问题。主要集中在只讨论了优点,完全不说缺点。这就很恼火。

硬件篇

无非两个选择

从性价比而言,其实两个方案一样。攒一台是要花时间的。我所有东西弄完是 3 个星期,每天持续 8 小时都在折腾。换算成工资也很可观了。

但是,自己攒的是有优点的:

所以我选择攒一台。但问题来了,攒一台的硬件组合如何配置?其实我很懒的。。。那就万由吧。主要是我们公司用着,我觉得还不错。j4205 的主板+128Gssd+8G 内存。暂时先这样。

gen8 考虑过,但往着那价格流口水,还是先便宜的吧。。。

硬盘的问题

公司里是紫盘,也是用的万由的。我还以为是硬盘有问题。一开始在淘宝买的。换了一批。还是不行。又换。不行。最后退掉,去京东买。依然如此。查了一下不是 c1 门,c1 值很稳定。

只是家用级的红盘不支持 APM 和 AAM 的。特意查了一下,支持的价位已经无法接受了。。

后来就懒得换了。仔细观察磁盘的读写和声音出现的时候。发现特别大和紧急读写会出现。

然后分析磁盘读写。

最后方案:

把虚拟机和数据库迁移到 ssd 上。每 1 个小时备份一次到 raid 上。

freenas 会把系统状态也给写在 raid 里。。完全无法理解为毛要这样。数据丢了只是不知道前面的状态了啊。。所以专门给放一个 u 盘里面。

现在硬盘灰常安静。。nas 在那我都不知道是不是在工作。

软件选择

系统

系统选择 freenas,因为官网霸气的全球最多人使用的开源系统。其实考虑过 freebsd 自己搭。。但我真不想去配置 smb,ftp,等等等等基础服务。其他的也简单看过,界面不好看,pass。功能不够强大,pass。freenas,确实是现阶段最成熟的解决方案。

说 freenas 必定要说内存的,这是一件政治正确的事情。

freenas 官方一直强调要求 ecc。网上也一直争论不断,我还纠结了好多好多天。ok,我最后的想法是。。内存坏了,第一个坏的应该是系统,而不是数据。就算数据坏了,核心数据我网上还有一份备份呢。无所谓。况且如果一个系统要求内存必须是 ecc,这是极其不合理的。内存本身很便宜,就贵几十块钱。但是主板贵啊。支持的主板都 4 位数的。所以,我就踏踏实实的用好了。

freebsd 那么多,家用的也不少吧。有几个上 ECC 了?话说回来。。我还特意去查了群辉的硬件,只有 12 盘位的才是 ecc 内存。其他都是普通笔记本内存。所以面临的问题是一样一样的。。那我纠结个毛线。

raid 方案

我首先是两个 4T 红盘为一组,两组 mirro 的方案,因为我考虑到视频数据是不重要的,丢了就丢了。虚拟机的系统也是不重要的。没了再来就是,做好备份。没什么问题。但是

硬盘才买 3 天就坏了一块!!!!!!

我瞬间崩溃了,直接组 raid10 吧。是,这个方案确实是浪费硬盘。但数据安全和容量是一个逆命题。经过坏一个硬盘,我明确的知道,坏一块硬盘的可能性是有的。而且不小。坏两块虽然我可以去买彩票了,但是如果我是 4 块组 raid10。坏两块也是无所谓的啊。坏 3 快?那得多衰。。。

考虑过 raidz2.。但我就 4 块硬盘,大炮打蚊子的感觉。raid10 是性能,安全和速度的一个平衡点。我试了一下 smb 拷贝。90MB。我能接受了。只要别是 50MB。都在我接受范围内

数据多重备份

同步不代表了安全

我也不知道从哪看到的,但我觉得很有道理。nas 是有可能坏的。无论是系统损坏,文件顺坏还是硬盘损坏。或者因为太阳黑子活动太猛一下摧毁我整个系统也不是不可能。

有些东西是绝对不能丢的,如代码,生活照片,以及文件。我文件还好,但我照片很多,我女朋友照片不多,但文件特别多。都是工作用的。

so,我需要多重备份。

** 同步一份到 dropbox 上 **

pass,因为价格问题。10 刀每个月。那我还整 nas 个毛线啊。。关键是搭梯子用,虽然在家可以 24 小时梯子,但梯子是会抽风的啊。网速会抽风。

** onedrive ** pass,不要钱,同样因为梯子的原因

** 国内各种云 **

数据安全是一方面,想想我要放一个没版权的片,弹出来一个弹窗无法播放,那感觉酸爽。不是我不支持版权,也得给我支持的地方啊。

最后选择。crashplan

简直是量身定做,啥都不敢,只负责备份。并不是当同步用。空间无上限,随便用。无法随用随取。收费版 4.5 刀一个月。还能接受。因为我定位的是,在发生物理损坏的时候,能救我一命。已经稳定运行 1 个星期,每天晚上 3 点同步一次。第一次慢点,后面都是增量。速度可以跑满我家那个小水管。1MB 每秒。一天的时间足够同步完我任何增量的数据进去。就算一天拍单反 50G。10 个小时就完事了。我也不是专业的。。。偶尔拍拍玩。还可以

播放中心

选择 plex,值得信赖。用了 1 个星期。周末在女朋友家,电视上装上 plex,平板上装上 plex。不说完美 4k。转码后的 1080.怎么着也比假 1080 强的不是一点半点。

  1. 中心播放器,一次解码,处处播放。这很重要
  2. 天猫盒子装上 plex for kodi。利用盒子来解码,不用 nas 来解码。4k 什么的都没问题。android 平台威武

当然是有缺点的,nas 的小身板并不行,j4205 是一个 nas 的 u。没风扇,低功耗的东西。一开始我使用的时候 cpu 直接奔 100.吓死我勒。昨天一咬牙,先播个片看看,看了一整部,因为是在外部看的,所以做了转码工作。看 cpu 的整体性能图。稳定在 50%。温度也就 60°,还没有我路由高。。可以在外面看的时候放心大胆的播了。当然,有能力的应该直接上一个 htcp 的。。看上了某款 minipc。i7。。。2000 大洋。没舍得。

解决云存储问题

smb,nfs 在局域网是可以的,就算可以外网用,我也觉得不安全。况且还有我那个 IT 小白女朋友呢.所以要有一个体验好一点的云存储解决方案。对比过

btsync 非常吃内存,况且是收费的,免费的是够用啊。但太吃内存了。跑起来 2 个 G 内存没了。并且,你的数据是要经过他服务器的。。。这是一个悲哀的故事。

syncthing 很好用,很轻量。如果就我一个人用的话,可能就 syncthing 了。但我女朋友不会用啊。而且他更多的是修改 excel 和 world 这样的文件。syncthing 也是采用预分配实际的文件大小,然后再把文件写回去。说实话,我总觉得在频繁修改同一个文件是会有问题的。界面也只是对程序员友好。

onecloud 我是程序员,甚至我是 php 程序员,我 php 已经是 3 年多经验。但我内心里反对 php 做客户端的事。php 就应该做 web,做 cs 的事。合适的东西做合适的事。况且和 seafile 比,同步速度和使用速度上不是一个数量级的

seafile,暂时没发现什么缺点。网上吐槽的文件加密。那是不对的,只是把文件分块存储了。这和预先分配一个大文件,我觉得更可靠一点。做增量的时候更精确一点。女朋友用着觉得很满意,家里同步秒同步

虚拟化的问题

一开始使用 freenas 我是拒绝的,因为缺乏太多东西。而且其自带的虚拟机是 jails。看着确实很轻量级,但还是 freebsd 啊!。然后网上所有中文资料都是装 VMBox。。虚拟机里面装虚拟机,我觉得我是不是有病。

于是换个关键词,freebsd 虚拟化.

有了。可以用 iohyve 来做虚拟化。具体的就不在这展开了。有兴趣可以自行 google。简单说就是可以做到 VM 一样的效果,虚拟其他的 linux 系统。现在在上面跑 crashplan、huginn 和 seafile。前者需要 inotify,后者因为我在这虚拟机上已经装了 mysql 了。懒得再装了

进阶

接下来需要 nas 做什么呢。。玩自动化啊!

自己写爬虫懒得搞,无意中在简书发现神器 Huginn.神器在手,天下我有。

配合 aria2 的自动追美剧

配合 rss 自动订阅各种信息

配合爬虫,给我去扫描自住房的信息

等等等等。生活瞬间惬意了。可惜还没买房。。等买了房。全上智能设备,再配合一下。想想就很美好

剩下的

下了电影依然要自己去找对应的字幕。。这点很蛋疼。但这样是平衡时间和心情的一个点。自动化不是不可以,但准确度不能达到 100%就会导致自己心情非常糟糕。。。看到一半突然发现字幕不对。我想摔电视好吗。

gitlab 装过,发现不行,io 狂高,不知道在干什么。查了半天日志也没查出来。还是算了。还是继续使用 github 吧。

1934 次点击
所在节点    分享发现
41 条回复
qq1064392665
2017-05-03 18:56:40 +08:00
看完第一眼感觉楼主是闲的蛋疼,一个 115vip+我现在出售的 100/年的梯子完美解决,成本一共 400/年,无敌,楼主 2000 的成本预算我能用 5 年
ooxxcc
2017-05-03 18:58:04 +08:00
@xenme 哦对,我默认 lz 和我一样是 btrfs raid10 了
sampeng
2017-05-03 19:04:48 +08:00
@qq1064392665 网盘问题是仁者见仁智者见智。。。我不希望有任何人在不经过我允许,就随意查看我的数字档案。仅此而已。
fcj558
2017-05-03 19:15:29 +08:00
白群晖,不折腾。
standin000
2017-05-03 19:35:17 +08:00
@sampeng 谢谢,pcdroid 没有搜到,vnet 好不容易找到,你用的是 vxtrans ?
kokomo
2017-05-03 21:13:03 +08:00
感谢有这么详细的折腾方案,虽然可能对于一些人来说不适合,可对于很多后来者,指明一点方向!
welsmann
2017-05-04 03:22:55 +08:00
装修时内置千兆布线 + Ubnt with SS + 低配白群晖 + 万由跑 Docker(Plex+DNS+XWare+Git+Maven+CI) 全解决了
welsmann
2017-05-04 03:25:35 +08:00
#27 哦,还要搭配广西电信( 200M 下载+50M 上传)

白群晖用 Cloud Sync 自动备份不同类型的数据到各大云服务商(比如照片-> Google Photos、门禁监控视频等数据加密后 -> 百度云、工作资料 -> Dropbox )

简直不要太方便
Livid
2017-05-04 04:33:45 +08:00
@sampeng 这个问题是昨天部署的一个新功能导致的,修复方案刚刚已经部署。现在 @ 别人不会再有问题了。抱歉。谢谢反馈。
xspoco
2017-05-04 06:09:51 +08:00
感谢分享。有点长。 收藏了再看。。
sampeng
2017-05-04 08:57:21 +08:00
@welsmann 土豪级配置…两台 nas …确实完美。不过万由虚拟机跑 plex …什么芯片?拉的得高清?
sampeng
2017-05-04 08:59:50 +08:00
@welsmann #28
不要太羡慕。50M 上传。灰常完美。我这小巫见大巫了…我是低配版
@Livid 已试…好使了。昨天憋屈死了
Livid
2017-05-04 09:01:46 +08:00
@sampeng 嗯嗯,谢谢理解 🙏
sampeng
2017-05-04 10:54:57 +08:00
@standin000 不好意思,搞错了。。是 pcDuino。。。
恩。。是 vxtrans。不过最近大姨妈,好像 dns 不行。准备在家自己组 dns。。。
welsmann
2017-05-04 14:00:56 +08:00
@sampeng #31


配套 Plex for ChromeCast 在电视上看剧好像还没有卡过,当然没有试过 4K 分辨率
sampeng
2017-05-04 14:35:12 +08:00
@welsmann 居然还有 ChromeCast。。。我看了一下网评就放弃了。。那玩意还要插电。。我原来以为就一个 u 盘大小,usb 直接供电
tkisme
2017-05-04 16:55:26 +08:00
gitlab 为何不用 gogs 替换
standin000
2017-05-04 22:07:25 +08:00
@sampeng 谢谢了,另外 syncthing 是没有 iOS 客户端,是这点你女朋友不能用吗?
cuit4017
2017-05-05 09:34:13 +08:00
mark 一下 准备折腾
Jasmine2016
2017-05-05 11:33:41 +08:00
膜拜折腾界的前辈。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/358857

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX