在裸机上建立 Linux 云实例

虚拟化是使用最多的技术之一。FedoraLinux使用CloudBase镜像来创建通用虚拟机(VM),但设置CloudBase镜像的方法有很多。最近,用于调配虚拟机的virt-install命令行工具增加了对cloud-init的支持,因此现在可以使用它在本地配置和运行云镜像。

本文介绍了如何在裸机上设置一个基本的Fedora云实例。同样的步骤可以用于任何raw或Qcow2CloudBase镜像。

什么是--cloud-init?

virt-install命令使用libvirt创建一个KVM、Xen或LXC客户机。--cloud-init选项使用一个本地文件(称为“nocloud数据源”),所以你不需要网络连接来创建镜像。在第一次启动时,nocloud方法会从iso9660文件系统(.iso文件)中获取访客机的用户数据和元数据。当你使用这个选项时,virt-install会为root用户账户生成一个随机的(临时)密码,提供一个串行控制台,以便你可以登录并更改密码,然后在随后的启动中禁用--cloud-init选项。

设置FedoraCloudBase镜像

首先,下载一个FedoraCloudBase(forOpenStack)镜像。

然后安装virt-install命令:

$sudodnfinstallvirt-install

一旦virt-install安装完毕并下载了FedoraCloudBase镜像,请创建一个名为的小型YAML文件,其中包含virt-install将使用的一些配置行:

#cloud-configpassword:'r00t'chpasswd:{expire:false}

这个简单的云配置可以设置默认的fedora用户的密码。如果你想使用会过期的密码,可以将其设置为登录后过期。

创建并启动虚拟机:

$virt-install--namelocal-cloud18012709\--memory2000--noreboot\--os-variantdetect=on,name=fedora-unknown\--cloud-inituser-data="/home/r3zr/"\--disk=size=10,backing_store="/home/r3zr/Downloads/_64.qcow2"

在这个例子中,local-cloud18012709是虚拟机的名称,内存设置为2000MiB,磁盘大小(虚拟硬盘)设置为10GB,--cloud-init和backing_store分别带有你创建的YAML配置文件和你下载的Qcow2镜像的绝对路径。

登录

在创建镜像后,你可以用用户名fedora和YAML文件中设置的密码登录(在我的例子中,密码是r00t,但你可能用了别的密码)。一旦你第一次登录,请更改你的密码。

要关闭虚拟机的电源,执行sudopoweroff命令,或者按键盘上的Ctrl+]。

启动、停止和销毁虚拟机

virsh命令用于启动、停止和销毁虚拟机。

要启动任何停止的虚拟机:

$virshstart

要停止任何运行的虚拟机:

$virshshutdown

要列出所有处于运行状态的虚拟机:

$virshlist

要销毁虚拟机:

$virshdestroy
快速而简单

virt-install命令与--cloud-init选项相结合,可以快速轻松地创建云就绪镜像,而无需担心是否有云来运行它们。无论你是在为重大部署做准备,还是在学习容器,都可以试试virt-install--cloud-init。

via:

作者:SumantroMukherjee选题:lujun9972译者:wxy校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

发布于 2025-07-15
65
目录

    推荐阅读