如何将物理系统迁移到只有网络访问权限的 KVM 虚拟服务器?

mr-*_*uro 4 virtualization linux migration physical-to-virtual kvm-virtualization

我有一个过时的 linux 应用服务器正在运行,我想将其迁移到具有更高规格的 KVM 虚拟服务器。

我无法物理访问机器本身或其硬盘。

我只能通过网络访问服务器。

如果它可以用于任何事情,我已经在服务器中安装了一个空的备用硬盘。这第二个 HD 大约是数据所在的 HD 的三倍。

请询问您可能需要的任何其他详细信息。

Mic*_*ton 5

假设您没有远程控制台访问权限,或者是通过一些蹩脚可怕的无用 Java 小程序访问:

  1. ssh 到远程系统并关闭尽可能多的服务。基本上除了 ssh 服务器本身之外的所有内容。
  2. 从您的本地系统,将正在运行的磁盘映像的副本捕获回您的本地系统:

    ssh root@remote.example.com "dd if=/dev/sda bs=1024k" > p2v.img
    
    Run Code Online (Sandbox Code Playgroud)

    等待几个小时。根据硬盘的大小和可用带宽,这可能需要很长时间。

  3. 你最终会得到一个文件p2v.img。将此作为原始磁盘映像挂载到 KVM 虚拟机fsck,因为会出现错误。


由于您确实可以远程控制台访问服务器,因此我会执行以下操作:

  1. 从远程控制台,使系统进入单用户模式(init 1以 root 身份,或重新启动并1添加到引导命令行)。
  2. 手动启动网络,例如使用适当的ifconfigroute命令。
  3. P2V 到远程管理程序(或存储服务器):

    dd if=/dev/sda bs=1024k | ssh root@kvmhost.example.com "cat > /path/to/p2v.img"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 创建一个新的 KVM 虚拟机p2v.img用作磁盘,启动它并进行任何必要的更改。


VIRT-V2V工具还可以P2V Linux服务器到KVM虚拟机。