Chiphell - 分享与交流用户体验

 找回密码
 加入我们
搜索
      
查看: 6006|回复: 7

[NAS] high sierra自建Time Machine

[复制链接]
发表于 2017-9-28 19:45 | 显示全部楼层 |阅读模式
本帖最后由 lrw514 于 2017-9-28 19:47 编辑

所周知,APPLE刚刚悄无声息的发布了10.13 High Sierra,正式引入APFS文件系统。从10.12 升级时,你的文件系统会被强制转换为APFS。
同时TimeMachine正式抛弃了广受欢迎的AFP方式, 强制所有用户转向SMB方式。
作为一个自建NAS的屌丝,本人受到十万点伤害。经过一天奋斗,终于成功的在NAS上搭建成功TM。

1. 在AVAHI中增加TimeMachine能力的通告,局域网中的MAC主机可以在系统设置---TimeMachine---增加  的tab页发现该主机
增加  /etc/avahi/services/timemachine.service 文件,内容如下, 完成后运行 sudo service avahi-daemon restart
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
   <type>_smb._tcp</type>
   <port>445</port>
</service>
<service>
   <type>_device-info._tcp</type>
   <port>0</port>
   <txt-record>model=RackMac</txt-record>
</service>
<service>
   <type>_adisk._tcp</type>
   <txt-record>sys=waMa=0,adVF=0x100</txt-record>
   <txt-record>dk0=adVN=TimeMachine,adVF=0x82</txt-record>
</service>
</service-group>


2. 编译安装Kevin  提供的特别版 samba,正式发布的samba还没有加入对FULLSYNC的支持,会报错no such capability错误

如果没有安装git Python,请先运行apt-get 安装好依赖
git clone -b bz12380-full_fsync --depth 1 https://github.com/kevinanderson1/samba.git
./configure --without-ads --without-ad-dc --without-ldap --enable-fhs  --sysconfdir=/etc --localstatedir=/var --with-sendfile-support --libdir=//usr/lib/x86_64-linux-gnu/ --with-privatelibdir=/usr/lib/x86_64-linux-gnu/samba --prefix=/usr && make && sudo make install
然后运行 smbd --version,检查是否出错
1. 提示
`TEVENT_0.9.30' not found
wget https://www.samba.org/ftp/tevent/tevent-0.9.30.tar.gz
tar xf  
tevent-0.9.30.tar.gz && cd tevent-0.9.30  && ./configure --libdir=//usr/lib/x86_64-linux-gnu/ && make && sudo make install
2.
提示 `TEVENT_0.9.30' not found/`TDB_1.3.11' not found/`LDB_1.1.30' not found
方法同上,将下载目标更换为 not found的目标

3. 检查smbd所有依赖是否正常
[email protected]:/etc/samba/tdb-1.3.11# smbd  --version
Version 4.8.0pre1-GIT-04f475d
代表一切就绪

4. 设置samba配置文件,注意
[TimeMachine]必须和第一步的相同,tdsam方式认证需要通过pdbedit增加一个有效用户。
[global]
server role = standalone server
passdb backend = tdbsam
obey pam restrictions = yes
unix password sync = yes
security = user
fruit:aapl = yes
fruit:time machine = yes
durable handles = yes
fruit:advertise_fullsync = true

[TimeMachine]
fruit:aapl = yes
fruit:time machine = yes
#vfruit:max_disk_space = 10240
path = /home/swae/tm_new
valid users = swae
writable = yes
kernel oplocks = no
kernel share modes = no
posix locking = no
vfs objects = catia fruit streams_xattr

5. 一切就绪,到MAC上尝试,结果如下。


微信图片_20170928194350.jpg
发表于 2017-9-28 19:51 | 显示全部楼层
这个要多大的硬盘?4tb容量够么?

4*4TB中的2块做raid1,然后能在raid上做么?
发表于 2017-9-28 20:59 来自手机 | 显示全部楼层
自己用Apple的time capsule,升级以后time machine完全没问题,和过去备份兼容也不需要改任何设置啊
 楼主| 发表于 2017-9-28 22:30 | 显示全部楼层
风车车 发表于 2017-9-28 19:51
这个要多大的硬盘?4tb容量够么?

4*4TB中的2块做raid1,然后能在raid上做么? ...

对linux来说,都是目录,不区分raid的。
大小只要超过你备份的mac电脑硬盘就可以了,TImemachine会自动删除最老的备份当容量达到上限。
默认上限是你该磁盘大小。 你也可通过plist文件手动指定
 楼主| 发表于 2017-9-28 22:31 | 显示全部楼层
archmagic 发表于 2017-9-28 20:59
自己用Apple的time capsule,升级以后time machine完全没问题,和过去备份兼容也不需要改任何设置啊 ...

有时间胶囊当然是最好的解决办法。

我的这个方法,老的AFP备份不能被识别,另外适用于自己搭建linux服务器的。
发表于 2017-10-28 15:18 | 显示全部楼层
【默认上限是你该磁盘大小。 你也可通过plist文件手动指定】
timeMachine plist 文件在哪?
 楼主| 发表于 2017-10-28 23:50 | 显示全部楼层
指定的备份目录下
发表于 2017-10-29 01:03 | 显示全部楼层
群晖上面也正常,没有更新什么的
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2021-9-18 07:35 , Processed in 0.007482 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2007-2021 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表