GoGPT Best VPN GoSearch

OnWorks 网站图标

virt-p2v - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 virt-p2v

这是 virt-p2v 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


virt-p2v - 将物理机转换为使用 KVM

概要


虚拟-p2v

virt-p2v.iso

商品描述


virt-p2v 将物理机转换为虚拟化运行在 KVM 上,由 libvirt 管理,
OpenStack、oVirt、Red Hat Enterprise Virtualization (RHEV) 或其他目标之一
通过支持 virt-v2v(1)。

通常你不会直接运行 virt-p2v 程序。 相反,您必须启动
使用可引导 CD-ROM、ISO 或 PXE 映像的物理机。 这个可启动映像
包含 virt-p2v 二进制文件并自动运行它。 从 CD-ROM/etc 引导是
需要,因为正在转换的磁盘必须是静止的。 不安全
尝试转换正在运行的物理机,其他程序可能正在修改磁盘
同时内容。

本手册页记录了运行 virt-p2v 程序的内容。 要创建可启动映像,您
应该看 virt-p2v-制作磁盘(1)或 virt-p2v-make-kickstart(1)。

网络 设置


Virt-p2v 在您要转换的物理机上运行。 它必须与
另一台名为“转换服务器”的服务器必须具有 virt-v2v(1) 安装在其上。
它总是通过 SSH 与转换服务器通信:

┌────────────────┐ ┌──────────────────┐
│ virt-p2v │ │ virt-v2v │
│(物理│ssh连接│(转换│
│ 服务器)╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶服务器)│
└────────────────┘ └───────────────────┘

转换服务器上的 virt-v2v 程序进行实际的转换(物理到
虚拟和虚拟到虚拟的转换非常相似,我们使用相同的
程序同时执行)。

SSH 连接始终从物理服务器发起。 所有数据都被传输
通过 SSH 连接。 在防火墙和网络配置方面,您只需要
确保物理服务器可以访问端口(通常是 TCP 端口 22)
转换服务器。 请注意,物理机在此期间可能会重新连接数次
转换过程。

virt-p2v 需要 ssh 的反向端口转发功能(即“ssh -R”),并且它
如果在转换服务器上禁用此功能,则将不起作用。 (“AllowTcpForwarding”必须是
“是”在 sshd_配置(5) 转换服务器上的文件)。

转换服务器不需要是物理机。 它可能是一个虚拟
机器,只要它有足够的内存和磁盘空间来进行转换,并且
只要物理机可以直接连接到它的SSH端口。 (另见“资源
要求”中 virt-v2v(1))。

因为物理服务器硬盘上的所有数据都必须复制到
网络,转换的速度很大程度上取决于网络之间的网络速度
两台机器。

GUI 互动 配置


当你启动 virt-p2v 时,你会看到一个图形化的配置对话框,它会引导你
通过连接到转换服务器,询问密码,本地硬盘
您要转换,以及其他信息,例如要创建的客人的姓名和号码
虚拟 CPU 给它。

SSH的 配置 对话
当 virt-p2v 在 GUI 模式下启动时,第一个对话框如下所示:

┌──────────────────────────────────────────────────── ────────┐
│ virt-p2v │
│ │
│ 转换服务器:[_________________________________] │
│ │
│ SSH 端口:[22_______________________________] │
│ │
│ 用户名:[root_____________________________] │
│ │
│ 密码:[_________________________________] │
│ │
│ SSH 身份网址:[_________________________________] │
│ │

在上面的字段中,您必须输入转换服务器的详细信息:主机名、
SSH 端口号、远程用户名以及密码或 SSH 身份(私钥)
网址。 转换服务器必须有最新版本的 virt-v2v。

通常您必须以 root 身份登录到转换服务器,但如果您检查以下内容
箱:

│ │
│ [ ] 运行 virt-v2v 时使用 sudo │
│ │

然后你可以作为另一个用户登录,virt-p2v 将使用 须藤(8)命令提升
root 权限。 请注意, sudo 必须不需要密码。

也可以完全以非 root 身份在转换服务器上运行 virt-v2v,但是
输出模式可能会受到限制。 咨询 virt-v2v(1) 手册页的详细信息。

对话框底部是这些按钮:

│ │
│ [测试连接] │
│ │
│ 【配置网络】【关于virt-p2v】【下一个】│
│ │
└──────────────────────────────────────────────────── ────────┘

您必须先按“测试连接”按钮来测试与主机的 SSH 连接
转换服务器。 如果成功(即您提供了正确的服务器名称,
用户名、密码等,并且远程提供合适版本的 virt-v2v)然后
按“下一步”按钮移动到下一个对话框。

如果需要分配静态 IP 地址,可以使用“配置网络”按钮
物理机,或使用 Wifi、绑定或其他网络功能。

DISK AND 网络 配置 对话
第二个配置对话框让您配置转换的详细信息,包括
转换什么以及把客人送到哪里。

在左列中,从顶部开始,目标属性让您选择
来宾的名称(即转换后)以及虚拟 CPU 的数量和 RAM 的数量
给它。 默认值来自物理机,您通常可以保留它们
不变:

┌──────────────────────────────────────────────────
│ 目标属性:

│ 姓名:[主机名______________]

│ # vCPU:[4_______]

│ 内存(MB):[16384_________________]


左侧的第二个面板控制 virt-v2v 输出选项。 要了解这些
选项 阅读 virt-v2v(1) 手册页。 你可以离开
默认选项以创建来宾作为磁盘映像和位于以下位置的 libvirt XML 文件
/ var / tmp 在转换主机上。 如果您是第一次使用 virt-p2v,这是个好主意
用户。


│ Virt-v2v 输出选项:

│ 输出到 (-o): [local ▼]

│ 输出连接(-oc): [___________________]

│ 输出存储(-os):[/var/tmp___________]

│ 输出格式(-of):[___________________]

│ 输出分配(-oa):【稀疏▼】


所有输出选项和路径都相对于转换服务器(而不去 对身体
服务器)。

此面板中的最后一个选项启用服务器端调试。 这产生了很多
输出,但如果您正在追踪 virt-p2v 或 virt-v2v 问题,这是必不可少的,并且可以
通常保持启用:


│ [✔] 开启服务端调试


最后在左手栏中是一个信息框,给出了 virt-p2v 的版本(在
物理服务器)和 virt-v2v(在转换服务器上)。 你应该提供这个
报告错误时的信息。

在右手栏中是三个面板,它们控制什么硬盘、可移动媒体
设备和网络接口将在输出来宾中创建。 正常离开
这些在默认设置下很好。

──────────────────────────────────────────────┐
固定硬盘│

转换设备大小 (GB) 型号 │
[✔] sda 1024 日立 │
[✔] sdb 119 日立 │


通常您会想要转换所有硬盘。 如果你想让 virt-p2v 完全
忽略本地硬盘,取消选中它。 包含操作系统的硬盘
必须选择。 如果硬盘是 RAID 阵列或 LVM 卷组 (VG) 的一部分,则
要么必须选择该阵列/VG 中的所有硬盘,要么都不选择。


可移动介质 │

转换设备│
[✔] sr0 │


如果物理机有 CD 或 DVD 驱动器,那么您可以使用可移动媒体面板
转换后在来宾上创建相应的驱动器。 请注意,任何数据 CD/DVD
安装在驱动器中的是 而不去 复制过来。


网络接口 │

将设备连接转换为... |
[✔] em1 [默认_____________] │
[ ] wlp3s0 [默认_____________] │


在“网络接口”面板中,选择应在
转换后的客人。 您还可以将这些连接到目标管理程序网络(对于
有关此功能的更多信息,请参阅“网络和桥接” virt-v2v(1))。

当您准备好开始转换时,请按“开始转换”按钮:


[返回] [开始转换] │

────────────────────────────────────────────────┘

转换 跑步 对话
转换运行时,您将看到此对话框:

┌──────────────────────────────────────────────────── ────────┐
│ virt-p2v │
│ │
│ ┌────────────────────────────────────────────────── ──┐ │
│ │ ▲ │ │
│ │ │ │
│ │ │ │
~~~~~
│ │ │ │
│ │ │ │
│ │ ▼ │ │
│ └────────────────────────────────────────────────── ──┘ │
│ │
│ 日志文件 ... 到 /tmp/virt-p2v-xxx │
│ │
│ 做转换... │
│ │
│ [取消转换] │
│ │
└──────────────────────────────────────────────────── ────────┘

在主滚动区域,您将看到来自 virt-v2v 进程的日志消息。

在主要区域下方,virt-p2v 向您显示转换目录的位置
包含日志文件和其他调试信息的服务器。 下面是当前的
状态和取消转换的按钮。

转换完成后,您应该关闭物理机。 如果转换是
成功,你不应该重新启动它。

指挥 LINE 配置


如果您不想使用图形 UI 进行配置,另一种方法是
通过内核命令行进行配置。 如果您是这样,这将特别方便
转换许多使用 PXE 启动的物理机。

您在何处设置命令行参数取决于您的 PXE 实现,但对于
pxelinux 你把它们放在 pxelinux配置文件 文件。 例如:

默认 p2v
超时 20
提示 0
标签 p2v
内核 vmlinuz0
追加 initrd=initrd0.img [....] p2v.server=conv.example.com p2v.password=secret p2v.o=libvirt

您必须设置以下部分或全部命令行参数:

p2v.server=服务器
转换服务器的名称或 IP 地址。

如果您使用内核配置方法,这始终是必需的。 如果 virt-p2v
在内核命令行上找不到它,然后它切换到 GUI
(交互式)配置方法。

p2v.port=NN
转换服务器上的 SSH 端口号(默认值:22)。

p2v.username=用户名
我们在转换服务器上登录的 SSH 用户名(默认:“root”)。

p2v.password=密码
我们用于登录转换服务器的 SSH 密码。

默认是尝试不使用密码。 如果失败,则 virt-p2v 将询问用户
输入密码(可能在转换过程中多次输入)。

如果存在“p2v.identity”,则忽略此设置。

p2v.identity=网址
提供指向 SSH 身份(私钥)文件的 URL。 URL 被解释
by 卷曲(1) 因此可以在此处使用 curl 支持的任何 URL,包括“https://”和
“文件://”。 有关使用 SSH 身份的更多信息,请参阅下面的“SSH 身份”。

如果存在“p2v.identity”,它会覆盖“p2v.password”。 没有后备。

p2v.sudo
使用 "p2v.sudo" 告诉 virt-p2v 使用 须藤(8) 获得root权限
以非 root 用户身份登录后的转换服务器(默认:不使用 sudo)。

p2v.name=访客名
创建的来宾的名称。 默认是尝试从
物理机的主机名(如果可能)否则使用随机生成的名称。

p2v.vcpus=NN
提供给来宾的虚拟 CPU 的数量。 默认使用与
物理 CPU 的数量。

p2v.内存=NN(M|G)
来宾内存的大小。 您必须将单位指定为兆字节或
千兆字节使用(例如)“p2v.memory=1024M”或“p2v.memory=1G”。

默认是使用与物理机相同数量的 RAM。

p2v.调试
使用它来启用 virt-v2v 的完整调试。

如果要求诊断 virt-p2v 的问题,您应该向内核添加“p2v.debug”
命令行,并检查留在的日志文件 / tmp目录 在转换服务器上。

p2v.disks=sdX,sdY,..
要转换的物理硬盘列表,例如:

p2v.disks=sda,sdc

默认是转换找到的所有本地硬盘。

p2v.removable=srX,srY,..
要转换的可移动媒体列表。 默认是创建虚拟可移动
找到的每个物理可移动设备的设备。 注意可移动的内容
媒体永远不会被复制。

p2v.interfaces=em1,..
要转换的网络接口列表。 默认是创建虚拟网络
找到的每个物理网络接口的接口。

p2v.network=接口:目标,...
控制网络接口如何连接到目标上的虚拟网络
管理程序。 默认是将所有网络接口连接到目标“default”
网络。

你给出一个逗号分隔的“接口:目标”对列表,加上可选的默认值
目标。 例如:

p2v.network=em1:rhevm

将接口“em1”映射到目标网络“rhevm”。

p2v.network=em1:rhevm,em2:管理,其他

将接口“em1”映射到“rhevm”,将“em2”映射到“管理”,以及任何其他接口
发现“其他”。

p2v.o=[libvirt|本地|...]
设置输出模式。 这与 virt-v2v 相同 -o 选项。 见“选项”
virt-v2v(1)。

如果不指定,默认为“local”,转换后的guest写入
/ var / tmp.

p2v.oa=稀疏|预分配
设置输出分配方式。 这与 virt-v2v 相同 -oa 选项。 看
“选项”中 virt-v2v(1)。

p2v.oc=...
设置输出连接 libvirt URI。 这与 virt-v2v 相同 -oc 选项。
见“选项” virt-v2v(1)和 http://libvirt.org/uri.html

p2v.of=原始|qcow2|...
设置输出格式。 这和 virt-v2v 一样 -的 选项。 见“选项”
virt-v2v(1)。

p2v.os=...
设置输出存储。 这和 virt-v2v 一样 -骨 选项。 见“选项”
in virt-v2v(1)。

如果未指定,则默认为 / var / tmp (在转换服务器上)。

p2v.pre=命令
p2v.pre="命令 ARG ...“
选择要运行的预转换命令。 可以在此处指定任何命令或脚本。
如果命令包含空格,则必须用双引号将整个命令括起来。
默认是不运行任何命令。

p2v.post=关机
p2v.post=重启
p2v.post=命令
p2v.post="命令 ARG ...“
如果转换成功,则选择要运行的转换后命令。 这可以是任何
命令或脚本。 如果命令包含空格,则必须引用整个命令
带双引号。

If virt-p2v 以 root 身份运行, 命令行是从 /proc/命令行 (不是
--命令行),那么默认是运行 断电(8) 命令。 否则默认
不是运行任何命令。

p2v.fail=命令
p2v.fail="命令 ARG ...“
如果转换失败,请选择要运行的转换后命令。 任何命令或脚本
可以在这里指定。 如果命令包含空格,则必须引用整个
带双引号的命令。 默认是不运行任何命令。

ip=DHCP
使用 DHCP 配置网络接口(这是默认设置)。

SSH的 身份


作为密码身份验证的更安全的替代方法,您可以使用 SSH
用于身份验证的身份(私钥)。

首先创建一个密钥对。 它必须有一个空密码:

ssh-keygen -t rsa -N '' -f id_rsa

这将创建一个私钥(“id_rsa”)和一个公钥(“id_rsa.pub”)对。

公钥应该附加到 virt-v2v 转换的“authorized_keys”文件中
服务器(通常到“/root/.ssh/authorized_keys”)。

对于分发私钥,从最不安全到最安全有四种情况
安全的:

1. 根本不使用 SSH 身份,即。 密码认证。

任何可以从网络嗅探 PXE 启动参数或观察密码的人
其他方式可以登录virt-v2v转换服务器。

2. 嵌入在 virt-p2v ISO 或磁盘映像中的 SSH 身份。 在 GUI 中,使用:

│ 密码: [ ] │
│ │
│ SSH 身份 URL:[file:///var/tmp/id_rsa_____________] │

或在内核命令行上:

p2v.identity=文件:///var/tmp/id_rsa

如果使用标准 PXE,仍然可以从网络嗅探 SSH 私钥。

3.从网站下载的SSH身份。 在 GUI 中,使用:

│ 密码: [ ] │
│ │
│ SSH 身份网址:[https://internal.example.com/id_rsa] │

或在内核命令行上:

p2v.identity=https://internal.example.com/id_rsa

任何人仍然可以下载私钥并使用它来登录 virt-v2v
转换服务器,但您可以通过配置 web 来提供一些额外的安全性
服务器只允许来自 P2V 机器的连接。

4. 嵌入在 virt-p2v ISO 或磁盘映像中的 SSH 身份(如 2.), 使用安全
PXE、PXE 通过单独的物理网络或运动鞋网将 virt-p2v 分发到
物理机。

以上皆是 virt-p2v-制作磁盘(1)和 virt-p2v-make-kickstart(1) 有相同的选项
--inject-ssh-身份 用于将私钥注入 virt-p2v 磁盘映像 / ISO。
另请参阅以下手册部分:

中的“添加 SSH 身份” virt-p2v-制作磁盘(1)

中的“添加 SSH 身份” virt-p2v-make-kickstart(1)

配置


- 帮帮我
显示帮助。

--cmdline=CMDLINE
这用于调试。 而不是解析内核命令行
/proc/命令行,解析字符串参数“CMDLINE”。

-v
--详细
启用调试(在转换服务器上)。

-V
- 版
显示版本号并退出。

如何 VIRT-P2​​V 工作


备注 Free Introduction 部分 is 而不去 规范的。 我们可以随时更改 virt-p2v 的工作方式
的未来。

如上所述,virt-p2v 在物理机器上运行,询问用户或
内核命令行进行配置,然后建立一个或多个 ssh 连接到
virt-v2v 转换服务器。 ssh 连接是与
远程主机,但发送的命令完全由 virt-p2v 本身生成,而不是由
用户。 对于数据传输,virt-p2v 将使用 ssh 的反向端口转发功能(即
“ssh -R”)。

它将首先建立一个或多个测试连接,用于查询远程
virt-v2v 版本及其功能。 转换前关闭测试连接
开始。

┌────────────────┐ ┌──────────────────┐
│ virt-p2v │ │ virt-v2v │
│(物理│控制连接│(转换│
│ 服务器)╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶服务器)│
└────────────────┘ └───────────────────┘

一旦 virt-p2v 准备好开始转换,它将打开一个 ssh 控制连接。
它首先发送一个 mkdir 命令在转换服务器上创建一个临时目录。
目录名称是随机选择的,并显示在 GUI 中。 它具有以下形式:

/tmp/virt-p2v-YYYYMMDD-XXXXXXXX

其中“YYYYMMDD”是当前日期,X 是随机字符。

在这个目录中写入了各种文件,其中包括:

dmesg的
(前 转换)

物理机的 dmesg 输出。 用于检测问题,例如
virt-p2v ISO 上缺少设备驱动程序或固件。

姓名
(前 转换)

物理机的名称(通常是主机名)。

物理文件
(前 转换)

描述物理机的 Libvirt XML。 它用于传递有关
物理源主机到 virt-v2v(1) 通过 -i libvirtxml 选项。

请注意,这不是“真正的”libvirt XML(并且必须 决不要 加载到 libvirt 中,其中
无论如何都会拒绝它)。 它也与 virt-v2v 的 libvirt XML 不同
在某些输出模式下生成。

状态
(后 转换)

转换的最终状态。 0 如果转换成功。 非零如果
转换失败。


(前 转换)

转换的开始日期/时间。

virt-v2v-转换日志.txt
(期间/之后 转换)

转换日志。 这只是 virt-v2v 命令在转换时的输出
服务器。 如果转换失败,你应该检查这个日志文件,你可能会被问到
提供 完成, 未经编辑 任何错误报告或支持票中的日志文件。

在转换真正开始之前,virt-p2v 然后建立一个或多个进一步的 ssh 连接
到服务器进行数据传输。 目前使用的传输协议是NBD(Network
块设备),它通过 ssh 代理。 服务器是 qemu-nbd(1). 有一个 ssh
源计算机上每个物理硬盘的连接(常见情况 - 单个硬盘
磁盘 — 如下所示):

┌────────────────┐ ┌──────────────────┐
│ virt-p2v │ │ virt-v2v │
│(物理│控制连接│(转换│
│ 服务器)╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶服务器)│
│ │ │ │
│ │ 数据连接│ │
│ ╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍╍▶ │
│qemu-nbd ← ─┘ │ │└─ ← NBD │
│/dev/sda │ │ 请求 │
~~~~~
└────────────────┘ └───────────────────┘

尽管 ssh 数据连接源自物理服务器并终止于
转换服务器,实际上 NBD 请求流向相反的方向。 这是
因为 ssh 的反向端口转发功能(“ssh -R”)用于在
由 ssh 代理回 qemu-nbd 的转换服务器的环回接口
服务器运行在物理机上。 效果是 virt-v2v 通过 libguestfs 可以
打开直接读取物理服务器硬盘的 nbd 连接。

两层保护用于确保没有写入硬盘:
首先,qemu-nbd -r (只读)选项被使用。 其次 libguestfs 创建了一个
覆盖在 NBD 连接的顶部,它将写入存储在一个临时文件中
转换文件。

最后一步是将“virt-v2v -i libvirtxml physical.xml ...”命令发送到
转换服务器通过控制连接。 这引用了 物理文件 文件(见
上面),它依次引用数据连接的 NBD 侦听端口。

virt-v2v 命令的输出(消息、调试等)都保存在日志文件中
在转换服务器上,并通过控制连接发送以显示在
图形用户界面。

使用 onworks.net 服务在线使用 virt-p2v


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。