2021年8月

步骤

  1. 将云服务挂载为本地磁盘
  2. 创建备份磁盘
  3. 指定时间机器的磁盘为备份磁盘

将云服务挂载为本地磁盘

将云服务挂载为本地磁盘的方案有很多,目前有很多的第三方工具都支持,比如Mountain Duck、S3fs、Goofys,这里选择juicefs,uicefs为对象存储的元数据提供了缓存,能极大的优化对挂载磁盘的list,get等操作。

  1. 注册并登陆juicefs

  2. 创建文件系统,因为我有很多其他的云服务都使用的腾讯云,所以我这里选择的是腾讯云的COS,小伙伴们可以根据自己的需求选择对应的服务

iShot2021-08-31 17.03.35.png

  1. 根据指引,挂载到Mac上

这里可以参考juicefs官网的提示,使用两行命令来操作

WechatIMG414.png

但是这里有个前提条件,就是Mac必须先安装osxfuse,非m1的电脑的安装过程我印象中下载之后直接安装就可以了,m1的系统里需要安装4.1以上的版本,这里可以直接去官网下载安装。

安装好之后,在系统的偏好设置=》安全性与隐私这里会有提示要安装一个什么扩展,点左下角的小锁之后点击安装扩展,之后会有个弹窗提示进入恢复系统,然后提示你点击关机。

关机之后,非m1的系统是cmd+R 进入恢复系统,m1是长按开机键进入恢复系统。进入恢复系统后,选取实用工具->启动安全性实用工具。具体流程可以参考在M1 Macbook上使用SSHFS挂载SFTP协议文件系统

安装好之后就可以继续操作挂载磁盘了。

两行命令中的第一行是下载juicefs,并给予juicefs权限,这里我选择直接克隆juicefs的github代码来编译,因为go1.17之后的版本支持arm系统了,所以我选择了直接编译。

自己克隆+编译的方式很简单:

git clone https://github.com/juicedata/juicefs.git ~/juicefs

cd ~/juicefs

make

chmod +x ./juicefs

之后就会在目录里发现一个juicefs的可执行文件,我们在接下来就进行挂载

cd ~/juicefs

sudo ./juicefs mount xxxxxxxxxxx /jfs 

这里的第二行的命令和juicefs文档上的第二行命令保持一致就可以了,如果需要把这个磁盘挂载到其他目录,可以修改/jfs为其他目录的路径

之后根据提示,输入云服务的相关凭证即可。

在访达中按下快捷键cmd+shift+c就能看到挂载的所有磁盘了。

进入到刚刚挂载的磁盘中,继续创建备份磁盘。

创建备份磁盘

cd /jfs
hdiutil create -size 1t -type SPARSEBUNDLE -fs "HFS+J" "Time Machine.sparsebundle"

这里的1t就是备份磁盘的大小,Time Machine.sparsebundle是文件的名称。

执行完成之后就能看到这个镜像文件了,之后双击打开即可。

iShot2021-08-31 17.37.39.png

之后右键上图红圈位置,可以给磁盘改名字,我这里就叫time

指定时间机器的磁盘为备份磁盘

我们可以进入/Volumes/Time中看一下,如果上一步挂载好了,这里会也会显示出来。

之后执行命令

sudo tmutil setdestination /Volumes/Time

搞定,然后打开系统偏好设置的世界机器看一下吧~

iShot2021-08-31 17.41.20.png

至此,在云服务上备份Mac就搞定了,但是相比于直接那个硬盘来备份,还是有些缺陷的

优缺点

优点:

  1. 不需要单独购买硬盘,不用担心硬盘损坏
  2. 不需要随身携带一个硬盘,有网就能用

缺点:

  1. 必须有稳定的网络才可以
  2. 在网络差的情况下,如果挂载了磁盘,会导致访达卡顿
  3. 需要持续为云服务付费
  4. 如果我电脑崩了,我需要在我电脑上再挂载一次之后才能恢复……

所以,基于以上的优缺点,我想了想,还是买了一块移动硬盘……然后移动硬盘和云服务备份同时使用。

参考文章:

https://kane.mx/posts/2019/using-s3-as-device-for-mac-time-machine-backup/

https://www.wannaexpresso.com/2021/03/12/m1-macbook-sshfs/