本地驱动器上的 Time Machine,然后将该驱动器设为另一台计算机上的网络驱动器(通过 Server.app)

本地驱动器上的 Time Machine,然后将该驱动器设为另一台计算机上的网络驱动器(通过 Server.app)

我有两台运行 OS X 10.10.3 的 Mac。其中一台安装了 Server.app,通过以太网连接到互联网,还通过 USB 连接了一个 2 TB 的磁盘,有两个分区 - “备份”和“存储”。我的另一台 Mac 是用于学习的笔记本电脑。

使用 Server.app 的 Time Machine 功能,我能够使用标准 Time Machine 界面开始通过网络将我的本地 Mac 备份到服务器 Mac 上的“备份”卷上。

但是,我发现通过 AFP 复制 1 GB 的文件需要 7 分钟,因此在我的本地 Mac 上备份 300 GB 的文件至少需要 35 个小时。

因此,我正在尝试找出一种方法,通过 USB 将初始 300GB 备份到“备份”中,然后将该外部硬盘驱动器连接到服务器 mac 并继续通过网络进行备份。这样,增量网络备份将比 300GB 小得多,并且可以在合理的时间内完成,例如一夜之间。

有什么建议吗?我读过 tmutil 的手册页,但目前还不太熟悉。

答案1

迟做总比不做好,这里有一个方法可以实现这一点:

sudo ifconfig lo0 alias 127.0.0.2/32

插入您的 USB 驱动器,然后通过System Preferences/Sharing将 smb 共享添加到time-machine-macbook驱动器中的文件夹time-machine-usb 然后添加目标备份(Time Machine 会将其视为网络共享)

sudo tmutil setdestination -a "smb://user:[email protected]/time-machine-macbook"

你可以通过以下方式查看是否可以:

tmutil  destinationinfo
> ==================================================
Name          : time-machine4
Kind          : Network
URL           : smb://kenji@realserver._smb._tcp.local./time-machine
ID            : D820D053-C74A-4A06-A7E1-E60C8EA7934F
====================================================
Name          : time-machine-macbook
Kind          : Network
URL           : smb://[email protected]/time-machine-macbook
Mount Point   : /Volumes/time-machine-macbook
ID            : F707BD0B-64DF-4DB6-A3B7-824470FB5EB2

tmutil startbackup然后使用并开始备份mount将显示:

/dev/disk3s1 on /Volumes/time-machine-usb (apfs, local, nodev, nosuid, journaled, noowners)
//[email protected]/time-machine-macbook on /Volumes/time-machine-macbook (smbfs, nobrowse)

您可以通过以下方式查看详细进度tmutil status

Backup session status:
{
    BackupPhase = Copying;
    ClientID = "com.apple.backupd";
    DateOfStateChange = "2018-06-28 17:38:21 +0000";
    DestinationID = "F707BD0B-57DC-4DB6-A3B7-824470FB5EB2";
    DestinationMountPoint = "/Volumes/Time Machine Backups";
    FirstBackup = 1;
    Percent = "0.08711567546702646";
    Progress =     {
        TimeRemaining = 32679;
        "_raw_totalBytes" = 355694600192;
        bytes = 34429528173;
        files = 887351;
        totalBytes = 391264060211;
        totalFiles = 2922384;
    };
    Running = 1;
    Stopping = 0;
    "_raw_Percent" = "0.09679519496336274";
}

就我的情况而言,大约两个小时内完成了近 1000000 个文件(USB2 磁盘惩罚,而通过 Wi-Fi 则需要 8 个多小时),我使用一个小脚本计算百分比:

tm-progress.sh
Files : 918702 / 2922384 (31.43%) - Bytes : 32.21 GiB / 364.39 GiB (8.84%)

我们可以在这里看到很多文件可以让Time Machine以字节为单位“缓慢”地前进,但接近1/3的文件已经被复制了。

下一步,备份完成后,将 USB 驱动器插入您的 realserver,并将稀疏包复制到“未完成的”上(或共享文件夹中)。当然,Time Machine 应该是已禁用在此步骤中,以防止安装部分复制的稀疏束(并可能损坏它)

我曾使用过 apfs 驱动器来利用快照(以便在 sparsebundle 损坏的情况下能够恢复到以前的“backupdb”,尚未测试

编辑:更快的模式:


一旦备份达到BackupPhase = Copying使其更快,您可以通过取消备份、重命名My-Computer.backupbundle为类似的东西1My-Computer.backupbundle并创建符号链接来直接挂载备份包(而不通过 smb 发送每个操作):

ln -s /Volumes/time-machine-usb/1My-Computer.backupbundle /Volumes/time-machine-macbook/My-Computer.backupbundle

这会让 timemachine 跟踪本地备份包的链接,而不是通过 smb 挂载它,从而加快备份速度。完成本地备份后,请确保将备份包移回。


答案2

请先查看我的其他答案,它简单得多!!

这是 Kenji 的答案(上面的“ıɾuǝʞ”),经过痛苦的修改,并由一个完全的菜鸟(我自己)向其他完全的菜鸟进行了解释。我还在最后一步添加了一个重要的解决方法:

迟做总比不做好,这里有一个方法可以实现这一点:

  1. 打开 Terminal.app 并输入以下命令:

    sudo ifconfig lo0 alias 127.0.0.2/32
    
  2. 插入你的 USB 驱动器

  3. System Preferences/Sharing
  4. 打开左下角的锁

    (当系统要求输入密码时,请输入)

  5. 在左侧窗格中勾选“文件共享”。

  6. 勾选Options按钮并激活 SMB 和 AFP
  7. 单击+中间窗格中的标志(标题为“共享文件夹”)并找到您的 USB 驱动器。创建一个文件夹(例如“time-machine-macbook”)并选择它以创建共享文件夹。
  8. 然后,在 Terminal.app 中使用以下命令添加目标备份(Time Machine 会将其视为网络共享):

    sudo tmutil setdestination -a "smb://user:[email protected]/time-machine-macbook"
    

    (如果您收到错误,提示终端需要更多磁盘访问权限,请继续按照错误消息的说明授予此类权限并重复此步骤。)

    您可以使用以下终端命令检查是否正常:

    tmutil  destinationinfo
    

    您将在终端窗口收到以下回复:

    ==================================================
    Name          : time-machine4
    Kind          : Network
    URL           : smb://kenji@realserver._smb._tcp.local./time-machine
    ID            : D820D053-C74A-4A06-A7E1-E60C8EA7934F
    ====================================================
    Name          : time-machine-macbook
    Kind          : Network
    URL           : smb://[email protected]/time-machine-macbook
    Mount Point   : /Volumes/time-machine-macbook
    ID            : F707BD0B-64DF-4DB6-A3B7-824470FB5EB2
    
  9. 然后使用终端命令开始备份:

    tmutil startbackup
    
  10. 终端命令mount将显示(除其他外)类似以下内容:

    /dev/disk3s1 on /Volumes/time-machine-usb (apfs, local, nodev, nosuid, journaled, noowners)
    //[email protected]/time-machine-macbook on /Volumes/time-machine-macbook (smbfs, nobrowse)`
    
  11. 您可以使用终端命令查看详细进度:

    tmutil status
    

    你会得到类似这样的信息:

    Backup session status:
    {
        BackupPhase = Copying;
        ClientID = "com.apple.backupd";
        DateOfStateChange = "2018-06-28 17:38:21 +0000";
        DestinationID = "F707BD0B-57DC-4DB6-A3B7-824470FB5EB2";
        DestinationMountPoint = "/Volumes/Time Machine Backups";
        FirstBackup = 1;
        Percent = "0.08711567546702646";
        Progress =     {
            TimeRemaining = 32679;
            "_raw_totalBytes" = 355694600192;
            bytes = 34429528173;
            files = 887351;
            totalBytes = 391264060211;
            totalFiles = 2922384;
        };
        Running = 1;
        Stopping = 0;
        "_raw_Percent" = "0.09679519496336274";
    }
    

    当然,您也可以通过打开 Time Machine 来大致了解进度,您将获得复制的总 MB 数以及剩余时间的计算。

    Kenji 的案例中,大约两小时备份了近 1000000 个文件(USB2 磁盘),而使用 Wi-Fi 则需要 8 个多小时。使用 USB3 磁盘时,备份速度更快。2 小时内,我备份了超过 500MB 的文件。

  12. 下一步,备份完成后,将 USB 驱动器插入您的 realserver,并将稀疏包复制到“未完成的”上(或共享文件夹中)。当然,Time Machine 应该是已禁用在此步骤中,以防止安装部分复制的稀疏包(并可能损坏它)。我使用了 apfs 驱动器来利用快照(以便在稀疏包损坏的情况下能够恢复到以前的“backupdb”,尚未测试

  13. 如果上面的 #12 不起作用,并且 Time Machine 无法备份到真正联网的驱动器(但可能能够读取它),那么解决方法是将备份包复制到新的稀疏包中!尴尬的是,Time Machine 可以使用联网的稀疏包作为备份目标(但不能使用它自己的备份包!)。

  14. 通过 USB 连接您的驱动器(以提高速度),并使用磁盘实用程序在其中创建一个稀疏包,其大小足以容纳您的所有备份。这可能需要几个小时,具体取决于大小和速度,因此请选择在晚上完成。如果您没有足够的驱动器空间,那么很遗憾,您应该删除之前创建的备份,然后从头开始在新的稀疏包中重新创建它。

  15. 要创建新的 spasebundle,请打开磁盘实用程序,单击文件/新映像/空白映像,然后在弹出窗口中添加文件名(例如 BackupBundle.dmg),不添加标签,选择位于 USB 驱动器根目录内,选择卷名(例如 BackupBundle),大小大于您的 HD 大小,格式肯定为 Mac OS Extended(日志式),不加密,单分区 - Apple 分区图,最后是稀疏捆绑磁盘映像。再次检查您选择的大小(有时会恢复为默认值)并点击保存。

  16. 几个小时后,当一切结束后,您可以通过网络测试新的 sparsebundle。将您的驱动器连接到路由器,打开 Finder,然后双击您的 BackupBundle.sparsebundle。您应该在侧边栏和桌面上看到一个名为 BackupBundle 的新磁盘。然后打开 Terminal,看看是否可以将 sparsebundle 添加为备份目标。如果不能,那么您可以通过 Terminal.app 手动设置它:

    sudo tmutil setdestination -a  "/Volumes/BackupBundle"
    
  17. 完成所有这些后,您可以将 Time Machine 的备份包复制到 BackupBundle.sparsebundle 中。这也需要几个小时,所以您可能希望在第二天晚上完成。或者,如果您在步骤 14-15 中没有空间并且必须删除它,您可以将 Time Machine 设置为在通过 USB 连接时将其用作备份目标,然后在第一次完整备份完成后再次通过网络选择相同的目标。

祝你好运!

答案3

将 Time Machine 备份从本地硬盘移动到远程服务器(或反之亦然)的棘手之处在于,Time Machine 直接使用原生 HFS+ 分区进行本地备份,但通过 AFP 备份到服务器时,它会创建“稀疏束”磁盘映像。

您可以使用磁盘实用程序制作 HFS+ 分区的稀疏包映像,然后将该映像放入服务器的共享卷之一,但我不确定是否需要对稀疏包进行其他操作才能使 Time Machine 识别并自动使用它。例如,您可能必须将其命名为完全正确,并且它可能会在稀疏包中寻找某种隐藏文件或类似的东西。

答案4

在做任何事情之前,请确保您的 USB 磁盘卷可以被 Time Machine 用作备份目标,同时该磁盘可以被路由器读取和共享!大多数路由器仅支持 FAT32(卷太小)和 NTFS 格式的大卷,而 Time Machine 不支持这种格式!

您的磁盘可能完全可以通过网络读取和写入,但 Time Machine 不会备份到该磁盘,除非您在 USB 磁盘上创建一个稀疏束(= 类似于虚拟磁盘的东西)并将其用作备份目标!!尴尬的是,Time Machine 可以使用网络稀疏束作为备份目标,但不能使用它自己的备份束,而它实际上也是一个稀疏束!!

但问题是,如果您通过 USB 将 NTFS 磁盘连接到 Mac,它将无法写入(Mac 不完全支持 NTFS),如果您通过网络连接,第一次备份会太慢!我采取的解决方案是使用 Paragon 的 NTFS for Mac。这使得 NTFS 磁盘即使通过 USB 也可以写入。第一周试用免费,如果您需要保留更长时间,则需要花费 19.95 欧元。虽然不多,但我们只需要使用一天左右的时间,所以如果您愿意,可以选择稍后购买。

  1. 从以下链接下载 NTFS for Mac 并安装:

https://www.paragon-software.com/home/ntfs-mac/

如果您的路由器支持 Apple 格式(这种情况很少见),则无需执行下面的步骤 2,而是直接跳至步骤 3。要检查路由器支持的磁盘格式,请参阅其文档(或谷歌搜索)。

  1. 如果您的 USB 驱动器尚未格式化为 NTFS,请继续创建一个足够大的 NTFS 分区以容纳您的备份。磁盘将丢失所有数据,因此如果需要,请小心将其备份到其他地方!我选择将整个磁盘格式化为 NTFS。为此,请打开 Disk Utility.app,从左侧选择整个 USB 磁盘,然后单击顶部的“擦除”按钮。然后选择:

    • 磁盘名称
    • Microsoft NTFS 格式(仅当您正确安装了 Mac 的 NTFS 时才会出现)和
    • GUID 分区图,以便路由器可读取

点击“擦除”按钮,只需几秒钟即可完成。

关闭“磁盘工具”并重新打开以进行后续步骤。

  1. 当您的驱动器仍通过 USB 连接到 Mac(为了提高速度)时,打开“磁盘工具”并使用它来创建一个稀疏包(同样具有适合整个备份所需的大小)。这可能需要几个小时,具体取决于大小和速度,因此请选择在晚上完成。为此,请在“磁盘工具”中单击“文件/新映像/空白映像”,然后在弹出窗口中填写以下内容:

    • 文件名(例如 BackupBundle.dmg),
    • 无需标签
    • 在“位置”中选择您的 USB 驱动器根目录
    • 选择卷名(例如,与 dmg 相同,即“BackupBundle”)
    • 大小:大于您的硬盘大小 - 或者如果您的 USB 磁盘仅用于备份,则使用完整磁盘容量(您可以像人类一样写出大小,例如“2TB”)
    • 格式:Mac OS 扩展(日志式)
    • 没有加密(除非你知道如何加密)
    • 单个分区 - Apple 分区图
    • 最后是“稀疏束磁盘映像”。

再次检查您选择的尺寸(有时会恢复为默认值),然后点击保存。

  1. 几个小时后,当一切结束后,当驱动器仍通过 USB 连接时,打开 Finder,双击您新创建的“BackupBundle.sparsebundle”。侧边栏和桌面上应出现一个名为“BackupBundle”的新磁盘!

  2. 现在打开 Terminal.app 并输入以下命令:

    sudo tmutil setdestination -a  "/Volumes/BackupBundle"
    

这会将我们的新 sparsebundle 添加(“-a”)为 Time Machine 的备份目标。因此,请打开 Time Machine 偏好设置以检查它是否存在!

  1. 现在,当磁盘仍通过 USB 连接时(为了提高速度),您可以通过单击屏幕顶部的 Time Machine 小图标来选择“立即备份”。或者,您可以在 Time Machine 偏好设置左侧勾选“自动备份”,您的备份将在两分钟内开始。通常需要几个小时才能完成(但不会像通过网络那样需要几天时间!),因此您也可以选择在一夜之间完成。

  2. 现在,Time Machine 的第一个备份包就嵌套在 USB 磁盘上的 BackupBundle.sparsebundle 中了!右键单击这两个磁盘并选择“弹出”,然后从 Mac 上拔下它们,确保正常“弹出”这两个磁盘。然后将磁盘连接到路由器,通过 Finder 打开它,双击“BackupBundle.sparsebundle”。同样,侧边栏和桌面上应该会出现一个名为“BackupBundle”的新磁盘,Time Machine 完全可以将其用作备份目标!选择立即备份以确保它可用!如果没有,请再次运行步骤 5 的终端命令。

现在,您的增量备份比第一次备份小很多,并且可以通过网络在几分钟内自动完成!

相关内容