热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Ubuntu系统上安装Xen虚拟机

Xen是经典的泛虚拟化(paravirtualization)技术,它通过修改客户机(GuestS)的操作系统内核与宿主(Hst)内核配合完成工作。优点是性能较高。若客户机操作系统源代码无法修改或不支持Xen(例如Windows),则可以利用CPU的虚拟化技术,如含有VT系列指令的In
Xen是经典的泛虚拟化(paravirtualization)技术,它通过修改客户机(GuestS)的操作系统内核与宿主(Hst)内核配合完成工作。优点是性能较高。若客户机操作系统源代码无法修改或不支持Xen(例如Windows),则可以利用CPU的虚拟化技术,如含有VT系列指令的Intel处理器,不需修改地运行虚拟机。
如果只是为了运行Windows系统而使用Xen的桌面应用,建议使用KVM。KVM是一个更为完整易用的内核,并且不需要其他特殊驱动。

1.软件包的安装
在Ubuntu中安装Xen,可以从Xen的官方网站(xensurce.com)下载源代码或二进制代码软件包,也可以使用编译好的deb软件包。一般使用后一种方式(适合新手)。deb软件包分桌面和服务器端两类。
(1)桌面版软件包的安装
a.)在/etc/apt/surces.list中加入'universe'软件库,具体操作可以参考Ubuntu的使用手册或其他资料。
b.)安装'ubuntu-xen-desktp'软件包:运行'sudo apt-get install ubuntu-xen-server'就可以在服务器上安装要运行Xen的必要软件。

2.配置虚拟机及其桌面环境
安装并重新启动主机后,系统就以Xen的内核运行,该环境被称为“Dmain-0”,即管理上层虚拟机,协调底层硬件资源的一层。
运行下面的命令,查看运行中的虚拟机列表:
$sudxmlist
NameIDMem(MIB)VCPUsStateTime(s)
Dmain-008642r-----651.1
上面的输出表明,目前系统中只有“Dmain-0”,没有虚拟机运行。
下一步是修改Xen要用到的网络设置。这些功能由名为“xend”的守护进程掌管。它的配置文件在/etc/xen/xend-cnfig.sxp,将下面命令写入到该文件中:
(netwrk-scriptnetwrk-bridge)
然后重启xend:
$sudxendstp
$sudxendstart
使用ifcnfig命令,会在输出结果中看到一个名为“xenbr0”的网络接口,虚拟机将通过它与外界通信。

3.使用映像文件做虚拟硬盘
(1)利用lpback设备生成映像文件。
这里用稀疏文件方式,即不分配完整虚拟硬盘大小的对应空间,只需按照使用时的要求动态分配。运行:
sudddif=/dev/zerf=/usr/lcal/gusty.ext3bs=1024kseek=4096cunt=0
(2)建立文件系统
sudmkfs.ext3/usr/lcal/gusty.ext3
从mkfs的输出中可以看到没有任何blck设置,即便如此,也可以生成该文件系统。
挂载该文件系统:
sudmkdir /mnt/gusty
sudmunt /usr/lcal/gusty.ext3 /mnt/gusty -lp
经过以上两步,把该虚拟磁盘格式化并挂载。

4.安装debtstrap
运行命令:
sudo apt-get install debtstrap
然后给其安装gutsy基本系统(可以根据需要选择其他版本,如feisty,相应下面的"gutsy"换成"feisty"):
sudo debtstrap gutsy /mnt/gutsy
给出内核模块(模块名称依赖于使用的是桌面还是服务器编辑):
sudo cp -a /lib/mdules/2.6.28-11-generic /mnt/gutsy/lib/mdules/
在初次运行之前可修改一些配置,如:
cat/mnt/gutsy/etc/netwrk/interfaces
autl
iface line tlpback
auto th0
iface eth0 inet static
address 192.168.44.247
netmask 255.255.252.0
gateway 192.168.47.254
cat /mnt/gutsy/etc/hsts
127.0.0.1 lcalhst
127.0.1.1 gusty vm
cat /mnt/gutsy /etc/hstname
gutsy vm
cat /mnt/gutsy /etc/fstab
prc /prcprcde faults 00
/dev/hda1/ext3 defaults,errrs=remunt -r01
关闭前面挂载的虚拟磁盘:
sudo unmunt /mnt/gutsy

5.配置虚拟机(具体参数根据自己需要适当修改)
生成虚拟机定义文件/etc/xen/gutsy-guest.cfg:
kernel="/bt/vmlinuz-2.6.28-11-generic"
ramdisk="/bt/initrad.img-2.6.28-11-generic"
builder='linux'
memry=128
name="gutsy-guest"
vcpus=1
vif=['bridge=xenbr0']
disk=['file: /usr/lcal/gutsy.ext3,iemu:hda1,w']
rt="/dev/hda1r"
如果读者使用的是SATA或者SCSI控制器,请将hda1替换为sda1。上述文件中的“rt”指向的是虚拟根文件系统设备,并非是Dmain-0的根文件系统设备。如果给每个虚拟机(dmU)分配交换区(swap)分区,可以将虚拟机配置文件做如下修改:
disk=['file: /usr/lcal/gutsy.ext3,iemu:hda1,w','phy:/dev/hda6,iemu:hda2,w']
现在就可以运行虚拟机了:
sudo xmcreate gutsy-guesty.cfg
虚拟机运行后,可以用下面的命令连接它的控制台(或者用网络登陆,如pen ssh-server,vncserver,远程X11等)
sudo xmcnsl egutsy-guest
退出控制台:"Ctrl+]"

6.在虚拟机中使用GNOME桌面环境
配置GDM,通过GDM启动VNC,从而在VNC环境中运行GNOME环境。
编辑/etc/X11/gdm/gdm.cnf,在[servers]标题下,添加下述命令,并将其他类似的文本注释掉:

0=VNC

在[server-Standard]部分,增加:

[server-VNC]
name=VNCserver
cmmand=/usr/bin/Xvnc-gemetry800×600 -depth24
flexible=true

具体信息可以参考: http://wiki.xensurce.cm/xenwiki/XenDemLaptp

手动启用Xvnc,检查有无启动错误并修复:
/usr/bin/Xvnc-gemetry 800×600 -depth24
若出现:
Fatal server rrr:couldn't pend default fnt'fixed'
则可解决如下:
cd /usr/X11R6 /lib/X11/fnts
mkfntdirmisc

然后只需启动dgm并连接到VNC图形环境:
vncviewer 192.168.44.247:0


推荐阅读
  • 搭建Jenkins、Ant与TestNG集成环境
    本文详细介绍了如何在Ubuntu 16.04系统上配置Jenkins、Ant和TestNG的集成开发环境,涵盖从安装到配置的具体步骤,并提供了创建Windows Slave节点及项目构建的指南。 ... [详细]
  • 本文探讨了为何相同的HTTP请求在两台不同操作系统(Windows与Ubuntu)的机器上会分别返回200 OK和429 Too Many Requests的状态码。我们将分析代码、环境差异及可能的影响因素。 ... [详细]
  • Symfony是一个功能强大的PHP框架,以其依赖注入(DI)特性著称。许多流行的PHP框架如Drupal和Laravel的核心组件都基于Symfony构建。本文将详细介绍Symfony的安装方法及其基本使用。 ... [详细]
  • 2012年7月30日,语言岛团队宣布其智能记单词软件V0.3.4.554版本正式开源。该版本不仅支持跨平台使用,还引入了多项创新功能,旨在帮助用户更高效地记忆单词。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • 本文将详细介绍如何安装和使用 CactiEZ 的中文版本,帮助那些对英文界面不太熟悉的用户轻松掌握这一强大的网络监控工具。 ... [详细]
  • 本文详细介绍如何在 Windows 环境下安装 Ubuntu 12.04 版本的 Linux 操作系统,包括必要的软件下载、配置步骤以及注意事项。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
  • 探索新一代API文档工具,告别Swagger的繁琐
    对于后端开发者而言,编写和维护API文档既繁琐又不可或缺。本文将介绍一款全新的API文档工具,帮助团队更高效地协作,简化API文档生成流程。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了Java中实现异步调用的多种方式,包括线程创建、Future接口、CompletableFuture类以及Spring框架的@Async注解。通过代码示例和深入解析,帮助读者理解并掌握这些技术。 ... [详细]
  • ArcXML:互联网空间数据交换的专用语言
    ArcXML是一种专为ArcIMS平台设计的数据交换协议,基于XML标准,用于在不同组件之间传输和描述地理空间数据。本文将详细介绍ArcXML的背景、用途及其与XML的关系。 ... [详细]
  • 本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]
  • MySQL Debug 模式的实现与应用
    本文详细介绍了如何启用和使用 MySQL 的调试模式,包括编译选项、环境变量配置以及调试信息的解析。通过实际案例展示了如何利用调试模式解决客户端无法连接服务器的问题。 ... [详细]
author-avatar
闪亮登台
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有