运行Debian系统的系统镜像?

运行Debian系统的系统镜像?

是否可以将正在运行的 Debian 系统备份到某种映像文件,以便在原始(备份的)Debian 系统出现故障时可以使用 dd 简单地写回另一个硬盘?

我特别寻找在存储库中直接可用的工具,因为我在树莓派上运行 Debian Wheezy,因此,我需要对 ARM 架构的支持,这对于 Debian 存储库的软件包来说是非常可靠的。

答案1

dd如果您不介意生成与原始磁盘大小完全相同的图像文件,那就很好。rsync如果您想要轻松的文件级访问,这是很好的选择。但备份文件系统的标准方法是dumprestore( aptitude install dump)。

对于像 Raspberry Pi 这样的设备,我将按如下方式进行备份,假设有 MS-DOS 分区表并且磁盘为 /dev/sda:

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048获取磁盘引导部分的映像。
  • fdisk -lu /dev/sda >sda-partition-table.txt供后来人参考。
  • dump -0af sda1-root-level0.dump /dev/sda1并对要备份的每个分区重复此操作。

然后您可以压缩该批次并将其放在安全的地方。要恢复,您需要dd恢复分区表和引导扇区,重新加载分区表,创建新的文件系统,然后使用cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dump.

优点:

  • dump获取文件系统的完整副本,包括 ACL、扩展属性、所有权、稀疏文件、特殊文件系统属性 - 一切都按原样转储。
  • 它只会复制您需要的块,忽略未使用的块。
  • 它是标准的 unix 工具,并且可以被许多其他 unix 工具读取。

缺点:

  • 如果在转储期间写入文件系统,它将产生损坏的快照
  • 挂载备份映像(可以使用磁盘映像来实现)或获取单个文件(可以通过rsync备份来获取)会更加困难。
  • 它是特定于文件系统类型的。您可以转储一个ext3文件系统并将其恢复到一个ext4文件系统中,但是您可以转储任何文件系统的类型。大多数成熟的文件系统都有自己的dump版本。标准 Debiandump具有ext2ext3ext4。如果您使用特定于 Flash 的文件系统,您的选项可能会有所不同。

答案2

为了德班,你真的只需要备份你的数据配置文件

备份现有状态:

  • 使用 备份包选择dpkg --get-selections > dpkg_selections
  • 使用 备份 debconf 数据库sudo debconf-get-selections > debconf_selections

要将其应用到新系统:

  • 首先应用 debconf 选择sudo debconf-set-selections < debconf_selections
  • 使用 来应用包选择dpkg --set-selections < dpkg_selections
  • 安装带有apt-get dselect-upgrade.

您的数据应该主要位于/home和中/var(例如,对于/var/lib/mysqlMySQL、/var/wwwApache 等)。您应该能够弄清楚哪些应用程序对您来说很重要。

配置将主要在/etc.再说一遍,找出对您来说重要的事情应该不难。

答案3

用于dd引导扇区和rsync -aHS文件。您必须排除“虚拟”文件系统,例如 /proc /sys 和任何 RAM 磁盘 (tmpfs)。

如果您还想保留分区,可以使用 转储它sfdisk或使用 重新创建它parted

答案4

我不知道当系统运行时这样做是否好,但这就是我所做的。

sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

正如我所说,也许有更好的解决方案,那么我也想知道!

相关内容