使用KVM在Ubuntu 7.10(Gutsy Gibbon)

在Ubuntu 7.10(Gutsy Gibbon)上使用KVM

在本教程中,我将介绍如何安装和使用KVM在虚拟机中运行服务。 KVM(基于内核的虚拟机)是一种Linux内核虚拟化技术,通过使用Intel VT( Vanderpool )或AMD-V( Pacifica )提供完全虚拟化。

我在服务器上以root身份工作。 如果您正在使用普通用户,则必须使用sudo安装所有内容,例如

sudo apt-get install kvm

下载并安装KVM

您可以使用Ubuntu 7.10中包含的包,只需执行:

apt-get install kvm

您还可以下载最新版本的KVM并进行编译。 但是您需要以下软件包进行编译:

apt-get install gcc gcc-3.4 gcc-4.1 libsdl1.2-dev make libz-dev uuid-dev libasound2-dev gcc libc6-dev zlib1g-dev

您还需要您正在使用的内核的linux头文件包。 例如linux-headers-2.6.22-14

首先我们需要KVM包:

您可以在http://sourceforge.net/projects/kvm/找到实际的版本。 将其下载到您的服务器:

wget link/to/file /usr/src/

现在解压内容。

cd /usr/src/
tar -xzf file.tar.gz
cd folder/to/kvm

在编译KVM之前,请确保您的CPU支持虚拟化,并且在BIOS中激活该选项。 没有这种支持,你不会有太多的表现...

所以我们来编译KVM。

./configure
make
make install

现在加载KVM模块:

如果您有Intel CPU负载:

modprobe kvm
modprobe kvm_intel

如果您有AMD CPU负载:

modprobe kvm
modprobe kvm_amd

创建网桥

首先,我们必须安装bridge-utils:

apt-get install bridge-utils

如果以后要连接到虚拟机,则需要设置网桥。

编辑/ etc / network /这样的接口 (确保插入你的公共IP地址):

auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
bridge_ports eth0
bridge_stp off
bridge_maxwait 5

还可以编辑/ etc / qemu-ifup这样:

#!/bin/sh
/sbin/ifconfig $1 0.0.0.0 promisc up
/usr/sbin/brctl addif br0 $1
sleep 2

我建议现在重新启动你的服务器。 如果您能够重新连接,您的桥梁正在工作。

为虚拟机创建虚拟磁盘并在其中安装系统。

创建一个.img文件进行安装。 该文件充当您的vm的虚拟磁盘。

你有两种创建这样的文件的可能性。

直接分配.img文件所需的磁盘空间。 在这种情况下,文件的大小将为4 GBytes。

dd if=/dev/zero of=disk01.img bs=1G count=4

创建最大尺寸的.img文件,但只有在需要时才会分配磁盘空间。 在这种情况下,最大大小将为10 GBytes,但使用的磁盘空间将是vm中文件所需的空间。

qemu-img create -f qcow2 disk01.img 10G

接下来,我们需要您要安装的系统的ISO文件。 确保已经下载到您的服务器上。

我们来安装虚拟机。 当您没有物理访问服务器时,使用VNC选项开始安装。 所以你可以连接到VNC会话,你将有安装程序的GUI。 在这种情况下,我们将把vm的RAM大小设置为512 MB。 目前,vm无法访问网络接口。 稍后在配置vm的IP地址后,我更喜欢激活它。

kvm -hda disk01.img -cdrom os.iso -m 512 -boot d -vnc IP:1

现在您可以使用VNC客户端连接到IP:1。 此时可以配置系统和网络设置。 不要忘记安装SSH服务器。 配置完成后,关闭vm。

现在我们将通过网络支持启动vm。 我们为vm网络接口分配一个MAC地址。 如果您使用超过1 vm,这很重要。 每个vm将获取其MAC地址。

kvm -hda disk01.img -m 512 -boot c -net nic,vlan=0,macaddr=00:16:3e:00:00:01 -net tap -nographic -daemonize

几秒钟后,你应该可以通过ssh连接到vm。 如果没有,可以添加-vnc选项来检查是否有问题。

我有一段时间后无法通过网络到达我的vm的问题。 我不得不在start命令中添加一个不同的网卡仿真。 这解决了我的问题。

kvm -hda disk01.img -m 512 -boot c -net nic,vlan=0,macaddr=00:16:3e:00:00:01,model=rtl8139 -net tap -nographic -daemonize

如果您有配置的网络接口未启动的问题,请删除以下文件(取决于您的os):

/etc/udev/rules.d/70-persistent-net.rules

要么

/etc/udev/rules.d/z25-persistent-net.rules

您还可以将更多的虚拟磁盘添加到一个vm。 您可以将以下参数添加到start命令中:

-hdb disk02.img

如果需要,可以添加更多的虚拟机。 您还可以为您的vms创建启动脚本。

享受使用KVM! :)

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏