我的谷歌必须吮吸。 我还没能find一个很好的解决scheme如下:
基本上,寻找一种方法来使用内部运行的Linux服务器内部的重影解决scheme,而不是启动一个光盘等rsync / cpio解决scheme,我看着不使用GRUB / dev / proc等伟大的工作。
我明白,由于系统不离线,它不会是文件更改的“镜像”图像,但那没关系。
有没有任何免费/商业产品可以工作?
要自己做到这一点,你会在初始设置后看2步过程。
这个初始设置是在目标磁盘上创build一个文件系统。 你不能复制文件系统本身,因为它的格式化为磁盘的大小,而且你必须复制整个分区,包括包含已删除文件的空间。
所以做一些像
mkfs.ext3 / dev / sdb1
现在,每次要备份驱动器时,请执行以下操作
复制bootloader
dd if = / dev / sda of = / dev / sdb bs = 446 count = 1
复制文件系统
mount / dev / sdb1 / mnt / backup; rsync -HaxX –delete / / mnt / backup /; umount / dev / sdb1
这种方法将涉及最less的IO,但会给你一个可启动的驱动器。
你想创build一个在线Linux服务器的备份映像?
我的build议是使用dd通过ssh或netcat隧道:
如何使用dd,netcat和ssh隧道设置磁盘克隆?
你可能有磁盘一致性问题,所以我build议尝试后续的数据。
编辑:
我想我只是想到,当你说“服务器是远程的,所以手的访问是一个痛苦”,你也说外部硬盘连接到远程服务器,而不是本地计算机。 我正在改变我的答案,以反映我的新理解。
我将分区外部驱动器以紧密匹配源磁盘的分区结构(注意,由于目标磁盘较小,因此保留大部分数据的分区将需要更小),请标记适当的分区活动,格式分区(交换等),并使用rsync将每个源服务器的文件系统的内容同步到每个分区。 在rsync上使用“archive”模式参数将确保符号链接,设备,所有权,权限等被保留。
完成后,将引导加载程序安装到外部磁盘上。 对于GRUB,你所说的是为外部驱动器和分区获取适当的“hd”号和分区号,运行grub
,并执行root (hdX,Y)
和“setup(hdX)”(代替驱动器和X和Y的分区号)。
实际上,远程testing启动会很痛苦,除非你有远程控制台访问。