热门标签 | 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


推荐阅读
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 本文介绍了使用SSH免密登录的步骤,包括生成公私钥、传递公钥给被登录机、修改文件权限的操作。同时提醒用户注意私钥的传递方式,建议使用U盘等离线方式传递。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • 本文介绍了在Ubuntu下制作deb安装包及离线安装包的方法,通过备份/var/cache/apt/archives文件夹中的安装包,并建立包列表及依赖信息文件,添加本地源,更新源列表,可以在没有网络的情况下更新系统。同时提供了命令示例和资源下载链接。 ... [详细]
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社区 版权所有