折腾nas ——TimeMachine(修改)

/ 5 Comments / 4587 View

前言

5月 11 日发布的第一个版本经过两天测试已经失败无效:容易备份中断,而且因为权限问题而出现无法再次备份。

本文会不定时更新更稳定的方法,现在您看到是重新试验过后于 5 月 16 日 更新的第二个版本。

还是有个小瑕疵:如果服务器重启,TimeMachine 容器无法正常启动,需要删除后重新部署,但不会影响到之前的备份,继续找解决办法。
暂时解决,在描述文件中增加一项配置 tty: true

TimeMachine

手里的笔记本还是 2015 年的 Macbook Air,多年前通过淘宝购买的转接卡更换成 512G 的硬盘使用至今,前几天因为升级到 Monterey,各种卡顿导致不得不降级回之前使用习惯的 Catalina。

由于之前一直都没备份过,降级后除了存在 iCloud 上的文件和照片,大部分软件都得重新安装、配置。所以觉得平时还是需要做一下备份,免得再出现意外的时候又的重复这痛苦而漫长的过程。

Docker TimeMachine

家里的 NAS 一直都是使用 Windows Server 2016,然后 Hyper-V 安装 RockyLinux(之前安装 Centos 8,用脚本迁移到 Rocky Linux)挂载 Windows 系统上的硬盘来跑各种 Docker 服务,所以这次的 TimeMachine 也是找了 Docker 镜像来运行。

试过多个镜像后,在 reddit 上给我找一个配置最简单的.

准备服务描述文件:

version: "3.7"
services:
  timemachine:
    image: msjpq/time-machine
    container_name: timemachine
    tty: true # 增加解决无法正常启动问题
    network_mode: "host"
    environment:
      - SMB_NAME=TimeMachine
      - SMB_USER=timemachine # 帐户
      - SMB_PASSWORD=timemachine # 密码
      - PGID=0
      - PUID=0
    volumes:
      - /home/TimeMachine:/share # 备份路径
    restart: always

Hyper-V 添加磁盘

新建一个 TimeMaChine 磁盘

Jietu20220513-195910.jpg

虚拟机里添加磁盘

Jietu20220514-114250.jpg

Rocky Linux

挂载磁盘

[root@Rocky /]# fdisk -l
# 新的硬盘 分区是 /dev/vdb
Disk /dev/vdb:320 GiB,343597383680 字节,671088640 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
  
[root@Rocky /]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.32.1)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x0b161e1d 的新 DOS 磁盘标签。
命令(输入 m 获取帮助):n
分区类型
   # 输入p分为主分区
   p   主分区 (0个主分区,0个扩展分区,4空闲)
   # 输入e分为逻辑分区
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):
将使用默认回应 p。
# 输入该主分区为第几个主分区,由于是新盘我们输入1来分第一个主分区
分区号 (1-4, 默认  1): 1
# First sector 是选择该分区的起始扇区,直接回车
第一个扇区 (2048-671088639, 默认 2048): 
# 使用全部可用存储额,直接回车
上个扇区,+sectors 或 +size{K,M,G,T,P} (2048-671088639, 默认 671088639): 
创建了一个新分区 1,类型为“Linux”,大小为 320 GiB。
# 输入 w 保存
命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

格式化并且挂载

# mkfs.xfs命令带-f强制格式化
[root@Rocky /]# mkfs.xfs -f /dev/vdb
Disk /dev/sdb:320 GiB,343597383680 字节,671088640 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x0b161e1d

设备       启动  起点      末尾      扇区  大小 Id 类型
/dev/vdb1        2048 671088639 671086592  320G 83 Linux

# 用命令blkid 查看一下已是xfs格式
[root@Rocky /]# blkid /dev/vdb
/dev/sdb: UUID="905d8713-4f37-411f-936d-42a7b9e4537a" BLOCK_SIZE="4096" TYPE="xfs"

# 创建挂载目录(/home 已经存在 直接挂载)
# mount直接挂载硬盘至data
[root@Rocky /]# mount /dev/vdb /home

# 查看一下挂载的硬盘home
[root@Rocky /]# df -h

devtmpfs             841M     0  841M    0% /dev
tmpfs                870M  4.0K  870M    1% /dev/shm
tmpfs                870M   19M  851M    3% /run
tmpfs                870M     0  870M    0% /sys/fs/cgroup
/dev/mapper/cl-root   57G   36G   21G   63% /
/dev/sda1           1014M  436M  579M   43% /boot
tmpfs                174M   24K  174M    1% /run/user/976
tmpfs                174M     0  174M    0% /run/user/0
/dev/vdb             320G  2.3G  318G    1% /home

# 系统重启自动挂载该分区对fstab进行编辑
[root@Rocky /]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Dec  1 14:33:09 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=c6133267-fb84-4315-829c-a2deaffb00bf /boot                   xfs     defaults        0 0
/dev/mapper/cl-swap     none                    swap    defaults        0 0
UUID=905d8713-4f37-411f-936d-42a7b9e4537a /home                   xfs     defaults        0 0

启动 TimeMachine 容器:

docker-compose up -d

远程访问 :打开 Finder,使用快捷键 ⌘Command+K 来连接到服务器,填入 NAS 对应的 SMB 地址,并输入 TimeMachine 的用户名和密码;

Jietu20220514-130833.jpg

因为之前第一版教程里已经有备份到 Windows 上,在 RockyLinux 将 Windows 上之前的备份过的 TimeMachine 文件夹整个移动到 home 目录下;

打开 TimeMachine 备份磁盘中选择刚刚建立连接的磁盘 TimeMachine,如果之前是加密备份的话,此时会提示包含了一个加密备份,选择使用现在备份,然后验证密码即可。(如果是全新备份则无此提示)

Jietu20220513-194401.jpg

又开始愉快的继续之前的备份了。

Jietu20220515-192950.jpg

已有 5 条评论
  1. 15年的 MBP 13 乞丐版升到了 Monterey 之后一般用途比如处理表格,上网看看视频这些还是没感觉到很卡顿。

    回复
    1. @河石子

      在帮老婆剪辑微课视频的时候发现 下 Monterey 的 CPU 使用率比 Catalina 时要高的多,能听到风扇呼呼作响,所以才说降级回来。

      回复
  2. 术业有专攻,自己没这方面的需求不懂飘过。

    回复
  3. 没用过NAS,家里感觉用不上啊,备份的话我专门用移动硬盘双备份……

    回复
    1. @山野愚人居

      移动储存我就只有一个 U 盘,一直觉得那玩意容易坏,哈哈。

      刚开始我也觉得 nas 用处不大,但现在上面跑了十多个 docker 服务,再加上日常管理、备份照片觉得还算可以。搞这个 timemachine 也只是折腾下,重新理了一遍流程,局域网内备份还是很快的。

      回复
发表新评论 / 取消回复