前言
Linux+Netatalk 是很多家用路由器提供 Mac TimeMainche云备份的实现方案。本次楼主用的是树莓派4的官方系统也是基于 Debian 的 Linux 系统。树莓派4的强大地方在于,全新Typce C供电(意味着更大的输入电流(官方的是5V 2.5A)意味着不需要额外供电即可挂载移动硬盘成为可能);USB 3.0接口 + 千兆网口,意味着传输数据带宽不再成为瓶颈。经过测试,搭建Nas完成后,传输大文件基本能达到80M+速度,这个速度已经基本能跑满普通移动机械硬盘的写入速度了;另外由于楼主使用的是2.5英寸的2.0T移动硬盘,如果需要使用3.5英寸的移动硬盘,那可能就需要额外的DC 12伏供电了;
参考文献
一、搭建树莓派操作系统raspbian lite (不带桌面)
1. 通过官方连接下载 Raspbian Buster Lite
https://www.raspberrypi.org/downloads/raspbian/
2. 使用刻录软件刻录镜像到tf卡,mac 下推荐使用Etcher
如图选中你的tf卡 点击Flash即可
3. 开启ssh,并通过路由找到树莓派系统的ip,通过ssh连接树莓派
在mac 随便生成一个ssh文件,开启777权限 并复制到刚刚刻录完的tf卡的boot目录
sudo mkdir ssh
sudo chmod 777 ssh
tf卡插入树莓派,连接网线,电源,通过路由器找到树莓派ip,通过ssh 连接,初始官方系统账号是pi,密码默认是raspberry,登录完成后记得修改密码。
ssh pi@xxx.xxx.x.xx (输入树莓派的ip)
如图通过ssh连接树莓派成功。
二、安装搭建TimeMachine所需包,netatalk,avahi-daemon
1. 先更新一下apt-get
sudo apt-get update
2. 安装所需工具
netatalk 拿来搭建TimeMachine Server,avahi可以让macBook 自动发现树莓派
sudo apt-get install netatalk avahi-daemon
安装hfsprogs和hfsplus, 让树莓派能够读取Mac格式化的驱动器,如果需要nsfs,ext3等格式请自行查询所需包。
sudo apt-get install hfsprogs hfsplus
3. 创建用户,自启动挂载硬盘
先创建一个用户,用来挂载TimeMachine硬盘,不用默认账户
useradd -c "Time machine" -m -s /bin/bash tm
给用户设定密码
sudo passwd tm
准备挂载硬盘的文件夹,我分了两个区一个用来做常规Nas
mkdir /home/tm/TimeMachine
sudo chown -R tm /home/tm/TimeMachine
mkdir /home/tm/MacData
sudo chown -R tm /home/tm/MacData
配置fstab,启动自动挂载硬盘
sudo nano /etc/fstab
在文件底部加入以下内容,具体多个分区因人而定
UUID=7fc30fac-660e-303d-9778-6326602ff216 /home/tm/TimeMachine hfsplus force,rw,user,auto 0 0
UUID=ecb5d47d-f906-302b-8723-e840938d25e8 /home/tm/MacData hfsplus force,rw,user,auto 0 0
分区UUID可以通过以下命令查询
ls -l /dev/disk/by-uuid
如图中sda2,sda3就是分别的uuid,也可分别用/dev/sda2 ,/dev/sda3 代替.
启动挂载硬盘,以后不需要再挂载。
sudo mount -a
如图,两个分区已挂载成功(具体个数因人而定)
4. 配置Avahi,Netatalk
让mac自动发现linux AFP服务,需要安装avahi软件,并启动avahi-daemon服务
配置avahi config
sudo nano /etc/avahi/services/afpd.service
复制以下内容,并保存
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_afpovertcp._tcp</type>
<port>548</port>
</service>
<service>
<type>_device-info._tcp</type>
<port>0</port>
<txt-record>model=TimeCapsule</txt-record>
</service>
</service-group>
配置netatalk
sudo nano /etc/netatalk/afp.conf
;
; Netatalk 3.x configuration file
;
[Global]
; Global server settings
mimic model = TimeCapsule6,106
hosts allow = xxx.xxx.x.xxx //输入你树莓派的ip
[MacData]
path = /home/tm/MacData
valid users = tm
[TimeMachine]
path = /home/tm/TimeMachine
time machine = yes
valid users = tm
;下面的参数可选,限制time machine最大可用容量,单位是mb,我已经分了区所以不做限制
;vol size limit = 1400000
启动avahi,netatalk,并设置开机自启动
sudo service avahi-daemon start
sudo service netatalk start
systemctl enable avahi-daemon
systemctl enable netatalk
5. 连接afp服务器做nas,以及连接TimeMachine
连接Afp服务器
注意连接之前检查好,移动硬盘是否设置好用户权限,允许所有人读写,否则有可能映射出来的服务器不可写,只可读,也会影响到 TimeMachine连接失败
确认每个分区如上图所示,everyone 需要改成read & write ,默认是read only;
打开finder,此时Network栏应该已经出现了一个树莓派服务器
双击raspberrypi,点击Connect As 或者 Command + K
输入 afp://xxx.xx.xx.x 树莓派的ip
输入上面设置的账号和密码 即可连接服务器
连接成功,到此一个家用Nas服务器就成功了。
连接TimeMachine
系统偏好设置->Time Machine,然后将驱动器选择为Time Machine备份,如无硬盘点击Select Disk里面已经有你网络中的硬盘,点击选中即可开启备份
Time Machine将运行第一次备份,之后每小时如果macbook插着电源都会进行备份。(温馨提示,macbook最好连网线 以及 和树莓派使用同一个千兆交换机,否则使用wifi或者网线经过路由器,路由器太渣的话有可能拖垮家里的网速)