我与远程服务器有一个活跃的 OpenVPN/OpenSSH 连接。是否可以克隆远程操作系统,将其保存到本地文件(例如,使用dd
)并在 VirtualBox 或类似的东西中本地运行它?
答案1
假设您已经停止了所有像 MySQL 这样不断更新文件的服务/守护进程,您可以执行以下操作:
- 使用最小配置将相同的操作系统安装到虚拟机中
- 在源操作系统上:
sudo tar -cf /image.tar /bin /boot /etc /lib /lib64 /root /usr /var
- 将此 tar 复制到您的 VM
- 将 tar 文件解压到
/new
- 现在这部分有点棘手。安装 mc (午夜指挥官),在 root/sudo 下运行它,创建
/old
,将以上目录移动到它(除了/boot
),然后移动所有目录(再次除了/new/boot
) 从/new
到/
。
至于/boot
。这取决于您的 UEFI/MBR 配置。如果是 UEFI,请替换 中的所有文件/boot/efi/EFI/yourdistro
,然后/new/boot/{initrd*|vmlinuz*}
移至/boot
.
这一切都要求您完全了解自己在做什么,并且知道 EUFI/grub2 是如何工作的。如果您不认为自己是强大的 Linux 用户/IT 专业人员,请忘记这个答案。
答案2
我已经使用嵌入式产品中使用的 Raspberry Pi 完成了此操作。我以只读方式重新安装了主文件系统,并通过网络复制了 SD 卡块设备。我怀疑使用在克隆时主动写入磁盘的系统是否会获得良好的结果 - 只读挂载或文件系统快照可能是必不可少的。
答案3
我从来没有这样做过,但我会通过设置文件系统来攻击它,这样我就可以在它处于活动状态时拍摄它的快照(使用 btrfs 或通过设置 lvm),然后使用实时系统以您想要的方式打包该快照喜欢,并通过网络将其发送到您的计算机。
我希望这有帮助!