如何使用 virt-install 在本地(最好从 ISO)安装无图形的 Ubuntu 12.04 服务器 VM?

如何使用 virt-install 在本地(最好从 ISO)安装无图形的 Ubuntu 12.04 服务器 VM?

我在这里看到过类似的问题,但它们似乎没有回答这个问题,而是推迟到图形安装或基于 PXE 的安装(并且对于我的用例,后者的细节很少)。

我想使用 Ubuntu 12.04 服务器 ISO 和 virt-install 在 Ubuntu 12.04 中本地创建一个 VM,使用控制台(非图形)界面。由于在使用 ISO 时不允许指定“--extra-args”,因此我的选择显然仅限于获取标准的纯文本控制台。

我已经成功地使用 PXE 从远程存储库启动了安装(请参阅本文末尾的注释),但我更愿意完全在本地执行此操作,而无需图形和网络开销。由于我是从服务器 ISO 安装的,因此人们认为它非常适合执行纯文本安装。(如果您的唯一选择是连接到盒子的串行接口怎么办?)

如果无法避免 PXE,在本地实现该目标的最简单方法是什么?是否可以避免仅为了访问一些本地文件而安装 Web 服务器?

另外,如果我使用 PXE 普通 ISO 构建系统,系统会有何不同?它们是否难以区分,或者基于 PXE 的安装是否会在正常安装中添加或删除内容?

无效的示例:

sudo virt-install --name ubuntu1204os --ram 1024 --arch x86_64 --vcpus 1 \
  --os-type=linux --os-variant=virtio26 --file=/myvms/ubuntu1204os.img \
  --file-size=4 --graphics none --accelerate --hvm --network bridge:virbr0 \
  --cdrom=/myvms/media/ubuntu-12.04-server-amd64.iso

输出:

Starting install...
Creating storage file ubuntu1204os.img                                                                                                   | 4.0 GB     00:00
Creating domain...                                                                                                                       |    0 B     00:00
Connected to domain ubuntu1204os
Escape character is ^]    

<console hangs here>

作为参考,我可以使用以下选项而不是 --cdrom 选项来执行 PXE 安装,但这里的重点是在本地完成所有这些操作,最好只使用 ISO - 除非这是不可能的。

  --location http://archive.ubuntu.com/ubuntu/dists/precise/main/installer-amd64/ \
  --extra-args='console=tty0 console=ttyS0,115200n8'

编辑:实际上,PXE 安装也挂起了但在此之前,它会询问几个与安装相关的问题(例如,键盘类型等,通过伪图形文本界面)。它似乎在获取要使用的存档的(默认)名称并开始下载发布文件后挂起。有什么想法吗?

答案1

我认为您缺少 --graphics 选项来告诉它使用 VNC。然后您可以使用任何免费的 VNC / 远程桌面客户端(甚至是上网本)来控制它。以下是我的做法:

virt-install --name=ubuntu-vm --os-variant=ubuntuquantal --ram=2048 --vcpus=2 \
--cdrom=/public/software/linux/iso/ubuntu-12.10-desktop-amd64.iso \
--disk path=/srv/vm/ubuntu.img,size=16 \
--network model=virtio \
--graphics vnc,listen=192.168.0.99,port=5906

0.99 是我的服务器 IP - 根据需要使用您的 IP 以及您想要的 cdrom 的 iso/路径。我现在也在研究 PXE,但上面不需要它。

答案2

不要从常规安装程序开始 - 从小型的或者替代安装程序- 两者都仅安装 cli/curses。

自 12.04 版以来,服务器版和桌面版的内核都相同。替代安装是常见的对两种变体来说,应该有您需要的基本包。

答案3

改变这一点

sudo virt-install --name ubuntu1204os --ram 1024 --arch x86_64 --vcpus 1 \
  --os-type=linux --os-variant=virtio26 --file=/myvms/ubuntu1204os.img \
  --file-size=4 --graphics none --accelerate --hvm --network bridge:virbr0 \
  --cdrom=/myvms/media/ubuntu-12.04-server-amd64.iso

sudo virt-install \
--name ubuntu1204os \
--ram 1024 \
--arch x86_64 \
--vcpus 1 \
--os-type=linux \
--os-variant=virtio26 \
--file=/myvms/ubuntu1204os.img \
--file-size=4 \
--graphics none \
--accelerate \
--hvm \
--network bridge:virbr0 \
**--location** /myvms/media/ubuntu-12.04-server-amd64.iso \
**--extra-args='console=tty0 console=ttyS0,115200n8'**

Location 与 ISO 文件配合使用,允许您使用 --extra-args

相关内容