这是 uvt-kvm 命令,可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管提供商中运行
程序:
您的姓名
uvt-kvm - libvirt 和 KVM 的 Ubuntu 虚拟化前端
概要
uvt-kvm 名单
uvt-kvm 创建信息图 [选项] 姓名 [过滤 ...]
uvt-kvm 等待 [选项] 姓名
uvt-kvm ip 姓名
uvt-kvm SSH [选项[用户@]姓名 [命令 ...]
uvt-kvm 摧毁 姓名
商品描述
uvtool为Ubuntu云镜像下载提供统一集成的VM前端,
libvirt 和 cloud-init。
uvt-kvm 使用由以下人员维护的卷存储池 uvt-simplestreams-libvirt(1)作为依据
通过包装 libvirt 和 cloud-init 来提供 Ubuntu VM 的快速启动和管理。
uvt-kvm 并不旨在涵盖所有可能的用例。 在可能的情况下,它提供访问
对于一些更高级的情况,使用选项覆盖默认的整个部分
操作,例如直接覆盖所使用的支持卷映像的能力、
libvirt 域定义以及 cloud-init 元数据和用户数据。 对于更复杂的
在这种情况下,预计用户将直接调用 libvirt(例如通过使用
维尔什(1)),并仅使用 uvt-kvm 来执行受影响虚拟机上所需的简单操作。 看
高级覆盖选项和高级用法了解详细信息。
子命令
uvt-kvm的界面是围绕子命令设计的。 要使用的子命令必须是
指定为第一个位置参数。 每个子命令都有自己的一组可用的
选项。
如果子命令需要指定 VM,则必须提供 VM 名称作为第二个名称
立场论证。 使用时 uvt-kvm 创建信息图 要创建 VM,VM 名称由以下方式指定
此时的用户。 当用户直接操作 libvirt 时,虚拟机名称是
期望匹配 libvirt 域名。
名单
uvt-kvm 名单
将现有虚拟机列表打印到标准输出。 该列表当前包括 libvirt 域
已定义但不是由 uvt-kvm 创建的,但将来预计会更改为
仅由 uvt-kvm 创建的 VM。
创建信息图
uvt-kvm 创建信息图 [选项] 姓名 [过滤 ...]
根据所提供的 simplestreams 过滤器指定的后备卷创建新的 VM。
该虚拟机将被称为 姓名, 和相同的 姓名 引用 VM 时必须使用
其他子命令。
每 过滤 对下载和管理的图像进行操作 uvt-simplestreams-libvirt(1)
并且组合在一起时必须唯一指定单个图像。 看 uvt-simplestreams-
libvirt的(1) 有关图像选择的详细信息。
由于支持卷图像是由下载和维护的 uvt-simplestreams-libvirt(1)
有必要先运行 uvt-simplestreams-libvirt(1)下载之前的图片
子命令将会成功。 请参阅下面的示例。
如果没有指定过滤器,则过滤器为 发布=释放 假设,其中 释放
对应于返回的当前 LTS 版本 发行信息(1)。
或者,请参阅 --支持图像文件 在下面的高级覆盖选项下提供
自己直接支持图像。
该子命令支持一组广泛的选项来修改定义和行为
虚拟机的。 请参阅 LIBVIRT 域定义选项、云初始化配置选项和
下面的高级覆盖选项。
等待
uvt-kvm 等待 [选项] 姓名
等待虚拟机准备就绪。 这包括:等待VM请求IP地址,
等待 ssh 在此 IP 上可用,并且 SSH(1)进入VM进行操作
等待cloud-init完成并且系统进入运行级别2。
通过使用wait命令,脚本可以同步创建、操作和销毁VM
并且可靠。
- 暂停 超时
之后放弃等待 超时 秒。 默认值:120 秒。
- 间隔 间隔
对于必须轮询的等待操作,轮询每个 间隔 秒。 默认值:8
秒。
--远程等待脚本 远程等待脚本
运行 远程等待脚本 通过 sh(1) 在来宾系统上,必须阻塞
当系统准备就绪时,以零状态退出。 默认:
/usr/share/uvtool/remote-wait.sh,假设 upstart 和 cloud-init
正在 guest 上使用,等待 upstart 进入运行级别 2,然后
等待 cloud-init 发出已完成系统启动的信号。
在规划婴儿食品行业的工艺要求时,安全性和可靠性是工艺设计中最重要的方面。 远程等待脚本 在来宾系统上运行,其环境将
定义变量 UVTOOL_WAIT_INTERVAL 和 UVTOOL_WAIT_TIMEOUT 这
包含由指定的轮询间隔和等待超时 - 间隔 和
- 暂停 选项,分别。
--远程等待用户 用户
以用户身份运行远程等待脚本 用户。 一定可以 SSH(1) 进
来宾系统作为此用户以使远程等待机制发挥作用。
--不安全 允许潜在的不安全操作,这是目前所需要的
远程等待脚本工作。 请参阅下面的常见选项。
--ssh-私钥文件 ssh_私钥_文件
使用 VHDL 语言编写 ssh_私钥_文件 执行时向来宾计算机进行身份验证
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 SSH(一)操作
--没有-ssh
跳过 SSH(1)操作。 这将导致命令成功退出
一旦 ssh 端口可用,但无需登录到来宾
等到内部准备好。
ip
uvt-kvm ip 姓名
猜测虚拟机的 IP 地址并将其打印到标准输出。 目前,这假设有一个默认值
(Ubuntu) 在主机上安装 libvirt 和 dnsmasq,以及默认网络行为
在虚拟机上。 IP 地址猜测目前是通过检查 dnsmasq 的租约文件来实现的
/var/lib/libvirt/dnsmasq/default.leases 对于虚拟机的网卡。
该子命令假设VM已成功获取IP地址,并且会失败
否则。 呼叫者可以使用 uvt-kvm 等待 创建或重新启动虚拟机后等待此操作
成为如此。
将来,该子命令可能会合并多个 IP 地址检测机制。
SSH
uvt-kvm SSH [选项[用户@]姓名 [命令 ...]
运行 SSH(1)针对VM。 这是一个有限的包装 SSH(1) 和 ip 子命令,
专为普通情况下的易用性而设计。 要获得完整功能,请使用 ip 子命令
获取VM的IP地址,然后调用 SSH(1)直接代替。
--不安全 允许潜在的不安全操作,这是当前所需要的
子命令来工作。 请参阅下面的常见选项。
- 登录名 用户
-l 用户
指定要传递到的用户名 SSH(1). 这是推荐的方法
在脚本中使用。 该选项会覆盖由 @ 符号
在第一个位置参数中,因此允许虚拟机名称包含 @
象征。 默认: Ubuntu的,以匹配 Ubuntu 云映像上的默认值。
摧毁
uvt-kvm 摧毁 姓名
停止并完全销毁现有虚拟机。 如果是的话,这将停止 libvirt 域
运行,取消定义它,并删除曾经属于该域的所有卷
定义。 但是,它不会删除任何支持卷,从而保持完整的原始状态
Ubuntu 云镜像由以下人员维护 uvt-simplestreams-libvirt(8)。
COMMON 配置
--不安全
适用于: uvt-kvm 等待, uvt-kvm SSH.
允许可能不安全的连接。 为了 SSH(1) 连接,这会跳过主机
密钥验证,因为 uvtool 目前没有安全获取 ssh 的机制
来自客人的主机密钥。 在常见情况下,这应该不是问题,因为
来宾系统位于同一系统上,并且该网络路径是可信的。
然而, uvt-kvm 将拒绝建立连接(对于 uvt-kvm SSH) 或跳过步骤
(用于 uvt-kvm 等待)没有这个选项,为了绝对确保
用户无法在不知情的情况下破坏其通往访客系统的路径
警告。
-d
--开发者
适用于: uvt-kvm 创建信息图 只。
打开一组被认为对开发人员最有用但不适合的选项
默认打开。 目前这与指定相同 --不安全缓存
和 --日志控制台输出 但这可能会在版本之间发生变化。
脚本永远不应该使用此选项。 为了防止未来的变化
定义此选项,他们应该使用上面定义的扩展。
LIBVIRT 域 定义 配置
适用于: uvt-kvm 创建信息图 只。
这些选项修改来宾虚拟机的定义及其与主机的连接。
uvt-kvm 创建信息图 采用默认或用户提供的 libvirt 域 XML 模板定义
并根据以下参数进行修改。 这些参数中的每一个都有一个
合理的默认值可能会在版本之间发生变化。
- 记忆 尺寸
系统 RAM 量(以兆字节为单位)。 默认值:512 (MiB)。
--磁盘 尺寸
操作系统磁盘的大小(以 GB 为单位)。 默认值:8 (GiB)。
--不安全缓存
不要将来宾同步刷新到操作系统磁盘上的主机。 这可以改善来宾 I/O
性能的代价是主机电源故障时丢失数据。 这个选项是
对于不需要在主机之外持久存在的临时来宾计算机很有用
电源周期。
- 中央处理器 颜色
CPU 核心数。 默认值:1。
- 桥 桥
将第一个定义的 NIC 替换为连接到给定主机桥的 NIC。
默认值:与 libvirt 域模板相同。
--日志控制台输出
将输出记录到主机上的磁盘文件而不是 pty。 使用 libvirt 的默认值
Ubuntu 上的配置,此日志可以在 /var/log/libvirt/qemu/ 。日志.
此选项允许对 VM 控制台输出进行回顾性检查,但会中断
维尔什 领事 供交互式使用。
云初始化 配置 配置
适用于: uvt-kvm 创建信息图 只。
这些选项修改来宾VM本身内的操作。
除非 - 用户数据 用于覆盖此行为,uvt-kvm 生成 cloud-init
创建虚拟机时,用户数据具有一些合理的默认值。 这些默认值可以更改
使用以下选项:
- 密码 密码
允许默认用户登录虚拟机 Ubuntu的 和密码 密码。 这是
对于调试目的很有用,因为它还启用 VT 登录。 使用这个
命令行选项会泄露同一系统上其他用户使用的密码,因此
出于安全原因,切勿在生产中使用。
默认:无密码登录。
--运行脚本一次 脚本文件
运行 脚本文件 第一次启动时以 root 身份在虚拟机上启动,但以后再也不会。
该选项可以多次使用来运行多个脚本。 如果脚本退出
状态为非零时,它将保留在 VM 上 / tmp目录 用于调试目的。
脚本文件 将被复制到 guest 虚拟机,标记为可执行文件并执行
直接,所以它必须是一个适当的二进制文件,以 shebang 开头,否则
可由来宾内核直接执行。
默认值:无脚本。
--ssh-公钥文件 ssh_公钥_文件
允许默认用户登录虚拟机 Ubuntu的 以及中指定的 ssh 密钥
ssh_公钥_文件.
默认值:使用输出 SSH-ADD -L 如果可供使用的话; 否则使用
〜/.ssh/id_rsa.pub。 如果根本找不到源,则会打印一条警告
stderr,并且 VM 创建将继续,无需安排对来宾的访问。
--包 包列表
安装中指定的以逗号分隔的软件包 包列表 第一次启动时。 这
选项可以多次使用; 每个附加选项都会添加到最终包中
名单。
默认:没有包。
高级课程 超越 配置
适用于: uvt-kvm 创建信息图 只。
- 模板 模板文件
构建新 VM 时使用的基本 libvirt 域定义 XML 模板
定义。 这是在域创建之前动态更改的; 参见 LIBVIRT 域
定义选项。
默认: /usr/share/uvtool/default.xml.
- 用户数据 用户数据文件
覆盖 cloud-init userdata,而不是使用提供的文件。 这会覆盖所有
云初始化配置选项部分中的选项。
默认值:如云初始化配置选项中所述。
--元数据 元数据文件
覆盖默认的 cloud-init 元数据,而不是使用提供的文件。 这确实
不覆盖任何其他选项,因为 cloud-init 元数据无法以其他方式进行调整。
默认值:具有自动生成的实例 ID 的最小文件。
--支持图像文件 图像文件
指定将用于创建虚拟机的本地文件的名称,而不是
依赖卷存储池。 它必须指向 qcow2 格式的文件。 这
选项会覆盖提供的任何 simplestreams 过滤器。
高级课程 用法
uvt-kvm 经过精心构建,以避免妨碍用户直接使用的能力
维尔什(1) 或随时使用其他 libvirt 工具,并提供覆盖选项来提供
尽可能支持图像卷和云初始化用户数据和元数据。 创建的虚拟机
uvt-kvm 在 libvirt 中并不“特殊”。 uvt-kvm 对虚拟机的作用是明确定义的,因此
高级用户可以直接使用 libvirt 操作虚拟机,而不必丢失
uvt-kvm 能够继续操作该 VM 以实现常见用例。
术语 AND 生命周期
为了简单起见,uvt-kvm 使用 创建信息图 表示一个的定义、分配和运行
虚拟机,以及 摧毁 意味着停止和删除与相关的所有持久状态
VM,包括特定于 VM 的磁盘映像文件和 VM 定义本身。 这匹配
使用 uvt-kvm 创建的虚拟机的通常预期生命周期。
这对于常见用例来说效果很好,但是如果使用 uvt-kvm 创建的虚拟机需要
被操纵 维尔什(1) 或直接使用libvirt,那么就需要了解如何
这与更复杂的 libvirt 术语相匹配。
在 libvirt 中,VM 称为 域。 首先定义域,然后独立定义域
开始了。 在 libvirt 术语中, 摧毁 表示 VM 停止; 之后 摧毁, 域
仍然存在并且可以重新启动。 取消定义 最后删除域定义。
与 VM 关联的资源(例如磁盘映像文件,在 libvirt 中称为
卷) 必须单独创建和销毁。
当 uvt-kvm 创建虚拟机时,会定义并填充 libvirt 卷,并生成一个 libvirt 域
已定义,标记为自动启动,并且域已启动。 当 uvt-kvm 销毁 VM 时,
相应的 libvirt 域已停止,特定于域的卷被删除,并且 libvirt
域本身是未定义的。
示例
# 更新 uvtool 的 libvirt 卷存储池
# 最新的精确图像
uvt-simplestreams-libvirt 同步 释放=精确 arch = amd64
# 为本地用户创建一个 ssh 密钥(如果你没有
# 已经有一个)
SSH-凯基
#(...)
# 创建运行 Precise 的 amd64 VM
uvt-kvm 创建信息图 虚拟机 释放=精确 arch = amd64
# 等待虚拟机准备就绪
uvt-kvm 等待 --不安全 虚拟机
# 通过 shell 进入虚拟机进行一些测试
uvt-kvm SSH --不安全 虚拟机
#(...)
# 销毁虚拟机
uvt-kvm 摧毁 虚拟机
故障排除
相当常见 故障
失败 至 联接 插座 至 '/var/run/libvirt/libvirt-sock': 允许 否认
您有权限连接到 libvirt 吗? 在 Ubuntu 上,您必须属于 虚拟机
团体。 用户具有 须藤(8) 默认情况下将访问权限添加到该组中,但用户仅获得
下次登录时的组成员身份 libvirt-bin 软件包已安装。 到
在下次登录之前暂时将您自己添加到该组中,请尝试 新组 虚拟机.
没有 支持的 架构 HPMC胶囊 os 类型 'hvm'
libvirt 在您的系统上未找到 KVM 支持。 尝试 须藤 平方米-好的 用于诊断,以及
服务 libvirt-bin 重新开始 在重试之前获取任何更改。
互动 领事 ACCESS
如果您无法从主机系统访问虚拟机,请尝试使用 - 密码 设置密码
对于默认的 Ubuntu的 虚拟机内的用户,然后通过控制台登录虚拟机
以便从内部检查它。
要以交互方式访问控制台,请使用 维尔什 领事 姓名. 但是,请注意
如果您正在使用,交互式访问将被禁用 --日志控制台输出 or -d, 因此对于
如果您正在使用交互式访问,则必须删除这些选项。
如果您在使用 - 用户数据, 然后 - 密码 将被它覆盖,你将需要
手动修改您的cloud-init用户数据以达到相同的效果。
使用 onworks.net 服务在线使用 uvt-kvm