是否可以将正在运行的Debian系统备份到某种映像文件,如果原始(备份)Debian系统发生故障,可以使用dd将其简单地写回到另一个硬盘上?
我特别想寻找一个可直接在存储库中使用的工具,因为我在树莓派上运行了Debian Wheezy,因此,我需要对ARM体系结构的支持,这对Debian存储库的软件包来说是相当可靠的。
是否可以将正在运行的Debian系统备份到某种映像文件,如果原始(备份)Debian系统发生故障,可以使用dd将其简单地写回到另一个硬盘上?
我特别想寻找一个可直接在存储库中使用的工具,因为我在树莓派上运行了Debian Wheezy,因此,我需要对ARM体系结构的支持,这对Debian存储库的软件包来说是相当可靠的。
Answers:
dd
如果您不介意生成与原始磁盘大小完全相同的映像文件,那就很好了。rsync
如果您想要轻松的文件级访问,则很好。但是,备份文件系统的标准方法是dump
and restore
(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,扩展属性,所有权,稀疏文件,特殊文件系统属性-所有内容均按原样转储。缺点:
rsync
备份获取)更加困难。ext3
文件系统并将其还原到一个文件系统中ext4
,但是您可以转储任何类型的文件系统。大多数成熟的文件系统都有其自己的dump
版本。标准的Debian可以dump
做到ext2
,ext3
并且ext4
。如果使用特定于Flash的文件系统,则选项可能会有所不同。dump
不应写入文件系统。我的意思是,这听起来像是一个明智的限制,但可惜的是它没有在手册页中提到,所以有人可能会
mkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
使用dd
的引导扇区,并rsync -aHS
为这些文件。您必须排除“虚拟”文件系统,例如/ proc / sys和任何RAM磁盘(tmpfs)。
如果还要保留分区,则可以使用进行转储sfdisk
或使用进行重新创建parted
。
对于Debian,您实际上只需要备份数据和配置文件。
备份现有状态:
dpkg --get-selections > dpkg_selections
。sudo debconf-get-selections > debconf_selections
。要将其应用于新系统:
sudo debconf-set-selections < debconf_selections
。dpkg --set-selections < dpkg_selections
。apt-get dselect-upgrade
。您的数据应主要位于/home
和/var
(例如,/var/lib/mysql
对于MySQL,/var/www
对于Apache等)。您应该能够确定哪些应用程序对您很重要。
配置将主要在中/etc
。再次强调,选择对您重要的不难。
debconf-get-selection
跑步apt-get install debconf-utils
我已经尝试了太多的备份和还原软件,但从没有过。现在,我要做的是:在备用计算机(相同的MB,NIC卡等)上安装了第二个Debian。每天晚上,我都会从A机同步到B机。由于我不想两个运行中的系统发生冲突,因此我会保留一些文件(/ etc / network / interfaces,/ etc / hosts,/ etc / hostname)。实际上,我确实在另一个文件夹中有它们的副本。我还禁用了一些我不需要在计算机B上运行的服务(后缀,mysql等)。我在计算机B上编写了一个脚本,该脚本基本上会将其转换为计算机A(替换我保留的文件),重新启动NIC并启用已禁用的服务。当然,当我运行脚本时,机器A需要关闭,否则会造成严重破坏。我每月通过关闭机器A并运行脚本来测试机器B,并进行一些测试以确保它是最新的并且可以正常运行。它就像一个魅力!
查看Clonezilla。我在标准的Debian仓库中看到了它。http://clonezilla.org/
编辑:可能不是,Clonezilla在其首页上列出了要求:“ X86或x86-64处理器”
mount -o remount,ro
,如果您选择或类似名称dd
,则要复制的驱动器dump
。使用rsync
或任何其他方法复制文件系统cp
对于实时系统是安全的。