手记

怎样在废旧的硬件上安装 Xen 虚拟机监视器

Xen 是一个直接运行在硬件上的虚拟机监视器,这意味着你必须准备一个裸机来安装和运行 Xen。而 KVM 则和 Xen 有一些不同 —— 你可以把它添加到任何已经正在运行 Linux 的机器上。本教程描述了如何在废旧的硬件上安装和配置 Xen 虚拟机监视器。

整个安装过程使用 Debian Jessie(Debian 的测试发行版)作为宿主机操作系统(也称作 Dom0)。Jessie 并不是唯一的选择 —— Xen 的支持是内建在 Linux 内核中的,许多 Linux 发行版 都包含支持 Xen 的内核。

找点废旧的硬件

首先,找一个可以格式化的合适的工作站,比如一台旧的笔记本或者台式机。旧的硬件可能不适合玩游戏,但是足够安装一个宿主机和一些客户机了。一个满足下面这些要求的 PC 机就可以了。

  • 一个双核 CPU(64 位)

  • 4GB 内存

  • 80GB 硬盘

  • 能够从 CD,DVD 或者 USB 引导启动

  • 一块网卡

注意 CPU 必须是 64 位的,因为 Debian 已经不再支持 32 位的 Xen 安装包。如果你没有空余的硬件,你可以花点钱买一台旧机器。2010 年值 $1000 的旗舰级笔记本现在只需要 $100。从 eBay 买台二手笔记本并升级下内存也可以满足需求。

刻录一个引导 CD/USB

下载 Debian Jessie 的 ISO 镜像。从 Debian 官网 下载网络安装镜像就可以了。

$ wget http://cdimage.debian.org/cdimage/jessie_di_beta_2/amd64/iso-cd/debian-jessie-DI-b2-amd64-netinst.iso

接下来,记下你的 CD/DVD 或者 USB设备 所识别的设备名 (例如 /dev/sdc)。

使用 dd 命令将 ISO 镜像刻录至 CD 或者 USB 中。将下面的 /dev/sdc 替换为你上面识别出的设备名。

$ sudo dd if=debian-jessie-DI-b2-amd64-netinst.iso of=/dev/sdc

开始安装

安装前,使用刻录的 CD/USB 启动 Debian 的安装界面。

最好是使用有线网络,而不是 WIFI。如果因为固件或者驱动的原因导致 WIFI 不能连接,你将无法完成下面的步骤。

硬盘分区

这里的设置使用了四个分区。自动安装时通常会创建一个包含逻辑分区的扩展分区。像下面这样给硬盘分四个区。

  • sda1 挂载至 /boot,200MB

  • sda2 做为 /, 20GB, Ubuntu 占用 4GB

  • sda3 做为 swap, 6GB (4GB x 1.5 = 6)

  • sda4 保留用作 LVM, 不挂载,大小为剩余的硬盘大小

安装基本的系统

这里尽可能的让系统的安装更简单快速一些。一个基本的工作用系统可以稍后再添加。Debian 的 APT(Advanced Package Tool)使得添加软件非常的简单。在机器上安装 Debian 可能会有一些很浪费时间的问题。可能显卡驱动与内核不监控或者可能老旧的 CD-ROM 驱动器只能间歇性的工作。

当选择安装软件时,选择安装一个 SSH 服务器,不要安装桌面环境如 Gnome。

安装一个图形桌面需要安装成百上千的包 —— 这些额外的工作可以稍后再进行。如果你遇到问题了,等待图形桌面的安装会浪费很多时间。同时,没有桌面组件,系统的启动可以更快一些 —— 只需要几十秒而不是几分钟。整个安装过程会需要重启几次,因此这样做可以节省不少时间。

一个 SSH 服务器可以让你从另一台电脑来配置这台工作站。这可以避免一些旧硬件的问题 —— 可能旧机器的键盘少了几个键,LCD 屏幕有坏点或者触摸板没有反应等等。

添加 LVM (Logical Volume Manager)

以 root 身份安装 LVM 工具。

# apt-get update# apt-get install lvm2

选择一个分区创建物理卷。

# pvcreate /dev/sda4

创建卷组。

# vgcreate vg0 /dev/sda4

你并不需要创建逻辑卷。如果你想测试 LVM 是否正常,可以创建一个逻辑卷然后删掉它。

# lvcreate -nmytempvol -L10G vg0# lvremove /dev/vg0/mytempvol

检查 LVM 状态。

# pvs (查看物理卷的信息)# vgs (查看卷组的信息)# lvs (查看逻辑卷的信息)

添加一个 Linux 网桥

这里我们要添加一个桥接网卡,这样 Xen 客户机就可以通过网桥连接网络。

安装桥接的工具。

# apt-get install bridge-utils

查看在哪块网卡配置桥接。

# ip addr

在这个例子中,我们有一块网卡名称为 eth0。我们准备修改配置文件(/etc/network/interfaces)将 eth0 作为桥接设备。

在进行更改之前,备份网络配置文件以保证原来的工作配置是安全的。

# cd /etc/network/# cp interfaces interfaces.backup# vi /etc/network/interfaces

文件的内容类似下面这样。

auto loiface lo inet loopback allow-hotplug eth0iface eth0 inet dhcp

修改成这样。

auto loiface lo inet loopback auto eth0iface eth0 inet manual auto xenbr0iface xenbr0 inet dhcpbridge_ports eth0

激活网卡配置的修改:

# systemctl restart networking

验证网络设置

验证桥接设备 xenbr0 创建成功。

# ip addr show xenbr0

同时检查 eth0 被成功加入网桥。

# brctl show

你现在安装好了 Jessie 系统。不过此时 Xen 还没有安装。下面我们开始安装 Xen。

安装 Xen 虚拟机监视器

安装 Xen 和 QEMU 包,并升级 GRUB 引导程序。

# apt-get install xen-linux-system

重启。

当 GRUB 界面出现时,你可以看到列出的额外的启动选项。

第一个选项会在 5 秒钟内自动启动(在 /etc/default/grub 的 GRUB_TIMEOUT 这行设置),因此这点时间可来不及喝咖啡。

按下方向键选择 "Debian GNU/Linux, with Xen hypervisor" 这个选项,然后按回车。这时屏幕会出现很多行信息,接着是正常的登录界面。

检查 Xen 工作是否正常

Xen 虚拟机监视器带有一个管理 Xen 的命令行程序叫做 xl,可以用来创建和管理 Xen 虚拟机。使用 xl 命令来检查 Xen 是否成功安装了。

以 root 用户登录,执行:

# xl info

将会显示很多关于 Xen 主机的信息。

查看已有 Xen 虚拟机的列表:

# xl list

这里显示了一个主机的列表。因为没有创建任何的 Xen 客户机,唯一的条目是 Domain-0,即你安装的 Debian 系统。

修改启动顺序

当你到这一步之后,Xen 的安装已经完成了。这里还有一件事需要修改 —— 默认的启动选项不会加载 Xen。GRUB 选择启动菜单的第一个选项 (Debian GNU/Linux),而不是第三个(Debian GNU/Linux, with Xen hypervisor)。

启动菜单的默认选项是在 grub 配置文件 /boot/grub/grub.cfg 中定义的。修改选项时,不要直接修改这个文件,而是编辑 /etc/default/grub 这个文件。有一个叫做 grub-mkconfig 的工具可以读取这个配置文件和 /etc/grub.d/ 中的所有莫爸妈,并写入到 grub.cfg 文件中。

编辑 Debian 的 grub-mkconfig 的配置文件

# vi /etc/default/grub

修改这一行:

GRUB_DEFAULT=0

改为

GRUB_DEFAULT='Debian GNU/Linux, with Xen hypervisor'

然后更新 grub 的配置文件。

# grub-mkconfig -o /boot/grub/grub.cfg

最后重启。几秒钟后,grub 启动菜单出现了。检查看第三个选项 "Debian GNU/Linux, with Xen hypervisor" 是否是自动选中的选项。

最后

如果你使用这台主机作为你的工作站,可以安装一个图形桌面。Debian 包括好几种桌面环境。如果你想要一个包含所有东西的图形桌面,那么安装 Gnome 吧。如果它的图形效果并不是你的菜,试试 Awesome 吧。

注意 Debian 的默认 Gnome 环境有大量的额外应用程序包括办公套件 LibreOffice,Iceweasel 浏览器和 Rhythmbox 音乐播放器。安装命令 "apt-get install gnome" 会安装 1,000 多个包并需要将近 2GB 的硬盘空间。运行这个重量级的桌面环境需要占用 1GB 的内存。

(LCTT 译注:本文没有涉及如何安装 guest 虚拟机,请关注后继文章)

编译自:http://xmodulo.com/install-xen-hypervisor.html作者: Nick Hardiman
原创:LCTT https://linux.cn/article-4962-1.html译者: aoLi

0人推荐
随时随地看视频
慕课网APP