AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 569796
Accepted
intika
intika
Asked: 2020-02-27 03:07:43 +0800 CST2020-02-27 03:07:43 +0800 CST 2020-02-27 03:07:43 +0800 CST

linux磁盘(dmcrypt,luks,ext4,ext3,btrfs)正常和加密系统的严重备份选项

  • 772

磁盘/分区备份

进行可靠且易于使用的完整系统备份的备份选项和良好做法是什么?

有以下要求:

  • 实时备份
  • 图像备份
  • 加密备份
  • 增量备份
  • 轻松挂载/访问备份磁盘/文件
  • 全系统备份,一键还原
  • 可以自动安排(使用 cron 或其他)
  • 加密或经典备份源(luks、dm-crypt、ext3/ext4/btrfs)。
backup ext4
  • 1 1 个回答
  • 12425 Views

1 个回答

  • Voted
  1. Best Answer
    intika
    2020-02-27T03:07:43+08:002020-02-27T03:07:43+08:00

    Linux系统备份

    当以真正的完整系统备份为目标时,与基于文件的备份相比,磁盘映像备份(如所要求的)提供了巨大的优势(详细如下)。

    不保存基于文件的备份磁盘/分区结构;大多数情况下,完全恢复的过程非常耗时,实际上需要许多耗时的步骤(如系统重新安装);最后备份已安装的应用程序可能会很棘手;映像磁盘备份避免了所有这些缺点,恢复过程是一步到位。

    clonezilla、fsarchiver等工具不适合这个问题,因为它们缺少一个或多个请求的功能。

    提醒一下,luks加密分区不依赖于使用的文件系统(ext3/ext4/etc)。请记住,性能因所选文件系统(详细信息)而异,另请注意btrfs(视频- 1 , video-2 ) 可能是一个非常好的选择,因为它具有快照功能和数据结构。这只是一个额外的保护层,因为 btrfs 快照不是真正的备份!(经典快照驻留在同一分区上)。

    附带说明一下,除了磁盘映像备份之外,我们可能希望对某些特定位置进行简单的文件同步备份,为此,可以组合使用rsync / grsync(或btrfs-send,如果是 btrfs)之类的工具使用 cron(如果需要)和加密的备份目标(如 luks-partition/vault/truecrypt)。基于文件的备份工具可以是:rsync / grsync、rsnapshot、cronopete、dump / restore、timeshift、deja-dup、systemback、freefilesync、实时同步,幸运备份,vembu。


    注释

    lsblk --fs输出:

    • sda是主盘
    • sda1/sda2是加密分区
    • crypt_sda1/crypt_sda2虚拟(映射)未加密分区
        sda
        ├─sda1           crypto_LUKS        f3df6579-UUID... 
        │ └─crypt_sda1   ext4               bc324232-UUID... /mount-location-1
        └─sda2           crypto_LUKS        c3423434-UUID...
          └─crypt_sda2   ext4               a6546765-UUID... /mount-location-2
    

    方法#1

    将原始 luks 磁盘/分区(sda或sda1)按原样加密备份到任何位置

    • bdsync / bdsync-manager是一个了不起的工具,可以通过快速块设备同步来进行映像备份(完整/增量);这可以与 luks 一起直接在加密分区上使用,增量备份在这种情况下也很有效。该工具支持挂载/压缩/网络/等。
    • dd:磁盘映像的经典方法,可以与类似的命令一起使用,dd if=/dev/sda1 of=/backup/location/crypted.img bs=128K status=progress但请注意,使用 dd 对已挂载的分区进行映像可能会导致备份完成时已使用文件的数据损坏,例如 sql 数据库、x 配置文件或正在编辑的文档,为了保证数据的完整性,建议关闭所有正在运行的应用程序和数据库,我们还可以在创建映像后挂载映像并检查其完整性fsck。

    #1 的缺点:备份大小、压缩和增量备份可能很棘手

    方法#2

    此方法适用于未加密的磁盘或备份映射的 luks 未加密分区crypt_sda1/crypt_sda2...建议使用加密的备份目标位置(如 luks-partition/vault/truecrypt)或加密的存档/映像(如果备份工具支持此类功能) .

    • Veeam:免费/付费专业备份解决方案(仅在linux命令行和TUI上),内核模块是开源的,该工具不能用于第一种方法,备份可以加密,支持增量和挂载备份。
    • bdsync / bdsync-manager与第一种方法相同,但备份是从未加密的映射分区(crypt_sda1/crypt_sda2)进行的。
    • dd:磁盘映像的经典方法,可以与类似的命令一起使用,dd if=/dev/mapper/crypt_sda1 of=/backup/location/un-encrypted-sda1.img bs=128K status=progress但请注意,使用 dd 对已挂载的分区进行映像可能会导致备份完成时已使用文件的数据损坏,例如 sql 数据库、x 配置文件或正在编辑的文档,为了保证数据的完整性,建议关闭所有正在运行的应用程序和数据库,我们还可以在创建映像后挂载映像并检查其完整性fsck。

    #2 的缺点:磁盘头、mbr、分区结构、uid 等未保存完整备份需要额外的备份步骤(详细如下)

    • 备份 luks 标头:cryptsetup luksHeaderBackup /dev/sda1 --header-backup-file /backup/location/sda1_luks_heanders_backup
    • 备份 mbr:dd if=/dev/sda of=/backup/location/backup-sda.mbr bs=512 count=1
    • 备份分区结构:sfdisk -d /dev/sda > /location/backup-sda.sfdisk
    • 备份磁盘 uuid

    笔记:

    • 完成的图像dd可以使用类似于以下的命令挂载: fdisk -l -u /location/image.img kpartx -l -v /location/image.img kpartx -a -v /location/image.img cryptsetup luksOpen /dev/mapper/loop0p1 imgroot mount /dev/mapper/imgroot /mnt/backup/

    备择方案:

    • Bareos:开源备份解决方案(演示视频)
    • Bacula:开源备份解决方案(演示视频)
    • Weresync:具有增量功能的磁盘映像解决方案。
    • 其他工具可在此处、此处、此处或此处找到
    • 有一个维基百科页面比较磁盘克隆软件
    • Gartner 对一些专业备份解决方案的分析可在此处获得

    其他工具

    • Acronis备份可用于这两种方法,但它们的内核模块总是在最近更新(不适用于当前/最近的内核版本),而且自 2020 年 2 月起挂载备份无法正常工作。
    • Partclone:clonezilla 使用,此工具仅备份磁盘使用过的块,支持镜像挂载但不支持实时/热备份,也不支持加密/luks。
    • Partimage : dd 与 TUI 的替代方案,它支持实时/热备份,但无法挂载图像并且不支持 luks(但 ext4/btrfs)。
    • Doclone:非常好的实时/热备份映像解决方案,支持许多系统(但不是运气......) ext4 等支持网络,无法安装。
    • Rsnapshot:使用 rsync 的快照文件备份系统。在许多发行版(如 mageia)中使用的备份作业是使用 cron 安排的,当在后台运行时,备份状态不会自动可见。
    • Rsync / Grsync : 使用 rsync 命令同步文件夹,grsync 是 gui...
    • Cronopete:rsync 的文件备份替代方案(与现代解决方案相比,该应用程序的工作方式受到限制)
    • 简单备份:带有托盘图标和增量功能的文件备份解决方案,备份到 tars 档案
    • Backintime:用于基于文件的备份的python备份应用程序(该应用程序有许多未解决的问题)
    • Shadowprotect:具有安装功能的 acronis 替代方案... luks 支持不明显。
    • Datto:专业的备份解决方案,luks 支持不明显,linux 代理需要联网到备份服务器...内核模块在 github 上是开源的...界面是基于 Web 的,没有使用现代设计。
    • FSArchiver:live/hot 镜像备份解决方案,备份无法挂载。
    • Dump:镜像备份系统,不支持挂载。
    • 10

相关问题

  • 移动数百万个小文件会导致“空间不足”错误

  • ZFS 磁盘上的“VFS:找不到 ext4 文件系统”

  • 用于增量备份的 pax 命令,带有类似于 rsync 的硬链接

  • 如何为多个项目组织您的系统?[关闭]

  • 我可以将时移快照保存到保管箱吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve