dfc643
V2EX  ›  问与答

Linux 在线系统完整备份方案?

  •  
  •   dfc643 · Dec 30, 2020 · 4602 views
    This topic created in 2147 days ago, the information mentioned may be changed or developed.

    场景

    • 通过 XRDP 远程登录目标计算机执行备份任务
    • 要求备份系统时,当前系统不能断开、关机、重启
    • 要求备份时支持压缩级别
    • 备份完成后通过 SFTP + FreeFileSync 远程传输到近端计算机
    • 远端计算机是 ext4 分区格式不支持快照

    Windows ?

    Windows 中是有这种操作的,得力于卷影服务和 DISM 磁盘镜像,可以在线备份当前系统并生成 wim 或者 esd 镜像文件。

    为什么需要?

    防止 SSD 某一天暴毙。

    找过哪些?

    • backintime
    • timeshift
    • cherry backup
    • deepin clone

    找到了半夜三点多,实在找不到了,在线求解惑 ……
    是不是我的需求比较少见?

    23 replies  •  2021-01-03 18:41:49 +08:00
    xupefei
    xupefei
    Dec 30, 2020 via iPhone❤️1
    1
    ext4 外面套一个 lvm,然后用 lvm snapshot ?
    reus
    reus
    Dec 30, 2020 via Android❤️2
    2
    zfs send
    btrfs send
    ext4 洗洗睡吧
    msg7086
    msg7086
    Dec 30, 2020 via Android
    3
    我司快照 Windows 用的是卷影,快照 linux 因为没找到办法所以没做……
    cheng6563
    cheng6563
    Dec 30, 2020 via Android❤️1
    4
    @msg7086 Linux 要么 zfs 这种原生支持,要么套个 lvm
    loading
    loading
    Dec 30, 2020 via Android❤️1
    5
    实在不行 tar 打包一份,gentoo 古老技术。
    msg7086
    msg7086
    Dec 30, 2020❤️3
    6
    @cheng6563 @loading 卷影有一个很重要的功能是创建一致的快照,也就是数据库之类的会暂停写入然后临时进入一个 snapshot safe 的状态,然后底层再快照。如果只是 tar 或者 lvm snapshot 的话,最终拿到的文件可能是 inconsistent 的。
    loading
    loading
    Dec 30, 2020 via Android
    7
    @msg7086 卷影就能把数据库热备下来?我感觉有点不可信。
    dfc643
    dfc643
    OP
    Dec 30, 2020 via Android
    8
    @xupefei @msg7086 @reus @loading 感谢建议,实在不行就只能想办法转 btrfs 可能会好点
    dfc643
    dfc643
    OP
    Dec 30, 2020 via Android
    9
    @msg7086 卷影用了好几年都很靠谱,不知道是怎么工作的。每次卷影的时候都有文件写入,恢复的时候文件完整性正常
    msg7086
    msg7086
    Dec 30, 2020
    10
    @loading @dfc643
    https://docs.microsoft.com/zh-cn/windows-server/storage/file-server/volume-shadow-copy-service
    里面的 VSS Writer 部分。
    这个是需要多个组件协作完成的。
    巨硬自家实现得最好,其他家的有没有实现就要看脸了。
    cheng6563
    cheng6563
    Dec 30, 2020
    11
    @msg7086 lvm 快照是一致性的
    https://tldp.org/HOWTO/LVM-HOWTO/snapshotintro.html


    @loading 卷影可以热备,但还原时对于数据库来说相当于一次强行关机,需要回滚事务修复数据等操作,各个数据库的解决方案不同。
    cheng6563
    cheng6563
    Dec 30, 2020
    12
    @dfc643 btrfs 稳定性问题很大,慎用。
    dfc643
    dfc643
    OP
    Dec 30, 2020
    13
    @cheng6563 谢谢提醒,我试试套个 lvm
    dfc643
    dfc643
    OP
    Dec 30, 2020
    14
    顺带发现一个事情,我的系统是 UOS v20,自带 AB 分区结构
    系统设置中执行系统更新时 ```相当于 apt upgrade``` 会自动将当前系统备份到 ```RootB 分区```

    好奇用 ps 看了一下命令,居然是用的 rsync
    ```
    root 10253 4508 32 11:36 ? 00:00:01 rsync -x -a --delete-after --exclude-from=/tmp/deepin-recovery-136327457 / /deepin-ab-recovery-backup/
    root 10254 10253 12 11:36 ? 00:00:00 rsync -x -a --delete-after --exclude-from=/tmp/deepin-recovery-136327457 / /deepin-ab-recovery-backup/
    root 10280 10254 0 11:36 ? 00:00:00 rsync -x -a --delete-after --exclude-from=/tmp/deepin-recovery-136327457 / /deepin-ab-recovery-backup/
    ```
    greenskinmonster
    greenskinmonster
    Dec 30, 2020❤️1
    15
    如果不是要求强一致性的话,restic.net 还不错
    jworg
    jworg
    Dec 30, 2020
    16
    loading
    loading
    Dec 30, 2020 via Android
    17
    @cheng6563 知道了,我以为还有什么黑科技能这样把数据库的内存也给整下来。
    dfc643
    dfc643
    OP
    Dec 30, 2020❤️2
    18
    @xupefei @msg7086 @reus @loading @cheng6563
    发现一个 DKMS 模块,快级 COW,自称对标微软的 VSS
    不知道具体怎么样,打算安装试试 https://github.com/datto/dattobd
    loading
    loading
    Dec 30, 2020 via Android
    19
    @dfc643 论坛就需要你这样的楼主,有反馈有感谢。👍
    Leone27
    Leone27
    Dec 30, 2020
    20
    btrfs + snapper 非常好用
    dfc643
    dfc643
    OP
    Dec 31, 2020❤️1
    21
    @xupefei @msg7086 @reus @loading @cheng6563
    顺手造了个轮子: https://gitlab.com/dfc643/datto-backup/
    预览图: https://gitlab.com/dfc643/datto-backup/-/raw/master/sample.gif
    我自己测试了几遍没有问题,有 bug 可以反馈,有空可以修

    @Leone27 btrfs 很多地方都说不稳定,暂时不敢用。
    xupefei
    xupefei
    Jan 1, 2021
    22
    @dfc643 谢谢!我也给我的 NUC 弄了一个,自动传到 B2
    dfc643
    dfc643
    OP
    Jan 3, 2021
    23
    @xupefei 今天把代码更新了,可以试试 git pull 一下,修复了一些问题,添加了 i18n 支持,dattobd 对 5.8 以上内核可能有兼容性问题,5.8 以下没问题
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   881 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 21:40 · PVG 05:40 · LAX 13:40 · JFK 16:40
    ♥ Do have faith in what you're doing.