方便快捷 自用 搭建 TimeMachine 方案

终于换了一个相对稳定的工作环境,现在,我的桌面是这样的:

我的办公桌

好了,总之,用移动硬盘定期备份不是长久之计,所以,身为穷逼,我们要给自己寻找一个合适、方便的备份方案了。

俗话说的好:

备份不做,十恶不赦。

那么,我们就来说说我的设计方案。

设计

首先,作为一个穷逼,设计备份方案的第一要素是经济……?‍♂️知乎里流行的什么 J1900 之流太贵了,思前想后还是pass掉了,毕竟,我只做备份,不做那么多共享——用不到。

J1900 成品工控 淘宝基本价格在 999左右,我自备了1T的移动硬盘,这个价格有点难以接受。

最后,我找到了一个不在中国上市的产品:BeeLink 的 z83 II !当然,从淘宝购买还会更便宜一些,很实惠。

简单说下配置:

  • 一个网口——千兆;
  • wifi 5G 2.4G 都支持;
  • 一个 usb 3 两个 usb 2;
  • hdmi 和 sd卡;
  • 双核4线程 1.9GHz。

嗯,捡到宝了。

——别忘了,这是成品机器不是主板!

架构

好了,接下来就是软件了,本来我想用 freenas 的,不过真机到手后确实无法引导,会 gaint lock ,似乎是 freebsd 的什么坑,总之,使用 ubuntu 16.04 完美启动。

所以,用的也就是常见的 ubuntu 系列架构了:

  • 使用 Netatalk 作为 tm 服务器;
  • 使用 Avahi 广播。

动手做

首先,把盒子刷成 Ubuntu 这个就不说了,更新后我们安装 Netatalk 和 Avahi:

创建文件  /etc/avahi/services/afpd.service 来配置 avahi,写入如下内容:

接下来就是挂载硬盘了,这里我用的是移动硬盘,为了方便日后一些活动,另外我硬盘中也放了许多文件也不方便备份重新格式化,所以我准备直接用 HFS+

挂载 HFS+

首先,你要在系统中安装插件  apt install hfsprogs ,然后使用命令来看系统是否支持  modprobe hfsplus ,一般来说,这个命令不会有任何反应的,如果你这样,那就悲剧了,比如我:

这是说你的内核是精简编译的,你需要打官方补丁。使用命令:

如果你的结果是找不到,那说明你用的是定制过的内核,那就需要你自己来找了,使用命令来搜索可用的包: apt search linux-image-extra-

结果有很多,我是 16.04 tls,所以结果都是 xenial ,我自己随手选了一个 linux-image-extra-4.8.0-42-generic ,安装完成之后重新启动下(可能不重启也行吧)这下再执行  modprobe hfsplus 应该就可以了。

使用 sudo fdisk -l 来查看你的硬盘位置,比如我的是这样的:

这里找到那个最大的分区就对了!

使用命令挂载:

记得把 sda2 改成你自己的位置,挂载点的目录要事先存在才行,不存在你要先创建。里边的第一条命令是用来修复 HFS+ 分区的,这个在 mac 里很常见,以后一旦出现什么奇奇怪怪的问题,都可以用它来修复。

权限问题

挂载成功后你的非 root 用户可能是无法写入的,这是由于磁盘内容自有用户造成的,最简单的办法可能就是欺骗文件让它以为你还是原来的用户。mac 中默认用户 UID 是 501,那么我们就把跑 netatalk 的用户id改为 501:

做完之后退出当前用户,然后用这个临时用户进去,如果你用的是 ssh,那么就退出来,用  ssh tempuser@xxx.xxx.xxx.xxx 重新登录。登录之后继续:

这时候你可能会收到提示说还有进程在占用,不能改。这很好办,根据提示的pid,干掉那个进程即可: sudo kill <pid> 然后重复执行上面的命令,没关系,有多少个占用就干多少个……

接下来,你就可以退出然后用你原来的用户登录了,这时候再去挂载的目录看看,已经可写。别忘了删除那个临时用户: sudo userdel -r tempuser

配置 Netatalk

终于,可以配置 netatalk 了,在移动硬盘上创建两个目录,一个用于存放文件,另一个用于备份。然后编辑 /etc/netatalk/AppleVolumes.default ,在文件最末尾写:

重点就是第三行末尾的  options:tm 标记这一句让对应的目录对 TimeMachine 可见。

最后,我们重启对应的服务:

Mac 端设置

搞好了服务器,我们的电脑也要进行一些配置:

在终端中执行这条命令让tm发现网络备份位置:

这下你就应该已经能够在 tm 配置中发现你的网络位置了!

选择它,输入密码连接后,备份开始。

TimeMachine 通过网络设备备份数据

更新

给服务器添加 windows 共享

win 使用的共享协议叫做 samba,协议的名字叫 smb,mac其实能够支持smb,这样的话我们就可以让 tm 走 afp,另外来一个目录专门跑 smb,用来 mac 和 win 共享文件了。 使用如下命令来安装 samba:

编辑配置文件: vim /etc/samba/smb.conf ,在末尾追加如下内容:

然后为 samba 创建一个用户,这个用户必须是已经存在的用户:

创建的密码就是你要登录 samba 的密码,别记错了。最后重启服务:

这样mac 和 win 就都能访问同一个目录了。

结论

整个过程其实挺繁琐,主要是踩了一大堆可能别人一辈子也遇不到的坑……

机器性能很好,网络我的局域网是千兆交换所以速度峰值在 60M/s 上,当然不那么稳定,我没有用过正牌的大胶囊所以也不知道是不少都这样,但至少能用了。

至于温度,z83 摸起来还是一如既往的微微温热,cpu消耗也不大:

cpu 用量不高

整体价格 600 元人民币,移动硬盘盒以及硬盘我自备了。

后续我想的就是把这个机器的 wifi 模块驱动起来(是的默认没有wifi的驱动,因为我自己不用所以就没提起……)然后做个 5 G的ap也不错的说……

然后就是跑个 smb 给室友,这样发送文件什么的就会很方便……

 

如果我做了,会立即更新在这里。

暂时就这么多了吧——大家早安。

 

 

本文由 落格博客 原创撰写:落格博客 » 方便快捷 自用 搭建 TimeMachine 方案

转载请保留出处和原文链接:https://www.logcg.com/archives/2653.html

About the Author

R0uter

如非声明,本人所著文章均为原创手打,转载请注明本页面链接和我的名字。

Comments

    1. 是可以的,但麻烦的地方是mac会在空闲时期休眠磁盘,当下一次备份开始的时候再读,这样启动的时候会有一个等待的时间,最痛苦的地方在于——————会整体卡顿一秒!!!!

    1. 是可以的,但麻烦的地方是mac会在空闲时期休眠磁盘,当下一次备份开始的时候再读,这样启动的时候会有一个等待的时间,最痛苦的地方在于——————会整体卡顿一秒!!!!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注