热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu11.10系统使用Xen-tools工具安装虚拟机系统

Ubuntu11.10中可以通过apt-get安装xen-tools,其版本为4.1版本:#apt-getinstall-yxen-tools由于xen-tools是xen的半虚拟化管理工具,所以需要安装修改过的、支持半虚拟化的kernel。在ubuutu11.10中,只需要通过apt安装linux-image-3.0

Ubuntu 11.10中可以通过apt-get安装xen-tools,其版本为4.1版本:

# apt-get install -y xen-tools

由于xen-tools是xen的半虚拟化管理工具,所以需要安装修改过的、支持半虚拟化的kernel。在ubuutu 11.10中,只需要通过apt安装linux-image-3.0.0-1x-virtual的kernel即可:

# apt-get install -y linux-image-3.0.0-12-virtual

安装完后就会在/boot下找到vmlinuz-3.0.0-12-virtual和initrd.img-3.0.0-13-virtual,这是之后半虚拟化的DomU所要使用的kernel。

接下来修改xen-tools的配置文件,配置文件中的值只在创建实例过程中没有指定某个选项时提供默认值:

# vi /etc/xen-tools/xen-tools.conf

需要修改如下几项:

[...]

dir=/home/xen   #用于放置img文件的位置

[...]

lvm=vg0     #如果使用lvm的逻辑卷来做存储,则制定卷组名

[...]

#指定实例的系统版本,xt-guess-suite-and-mirror --suite返回的是宿主机的系统版本

dist=`xt-guess-suite-and-mirror --suite`

[...]

# 指定实例所在网段

gateway =192.168.0.1

netmask =255.255.255.0

broadcast=192.168.0.255

[...]

# 指定实例使用的kernel,这里就使用之前安装的、支持半虚拟化的kernel

kernel= /boot/vmlinuz-3.0.0-12-virtual

initrd=/boot/initrd.img-3.0.0-12-virtual

[...]

serial_device=hvc0   # 指定console名称,使用默认值即可

disk_device=xvda #指定实例的磁盘名称,使用默认值即可

[...]

# 这里指定安装实例的镜像源,xt-guess-suite-and-mirror --mirror返回的是宿主机的镜像源

mirrors=`xt-guess-suite-and-mirror--mirror`

[...]

修改好xen-tools.conf后,就需要创建刚才指定的放置img文件的目录位置:

# mkdir /home/xen

========================创建ubuntu实例=====================

xen-tools创建ubuntu实例采用的是debootstrap,xen-tools.conf中默认采用这种方法。

xen-tools默认支持的最新ubuntu版本是maverick,而11.10的版本是oneiric(现在的12.04是precise),这样我们就要先让xen-tools支持到我们需要的版本。由于所有的ubuntu版本都是karmic.d的符号连接,所以我们只需要再创建一个符号连接即可:

# cd /usr/lib/xen-tools/

# ln -s karmic.d oneiric.d (for ubuntu 11.10)

或者

# ln -s karmic.d precise.d (for ubuntu 12.04)

接下来就可以创建实例了:

# xen-create-image --hostname=ubuntu.example.com --size=4G --swap=1G --memory=1G --ip=192.168.0.101 --arch=amd64 --role=udev

若按照之前所配置的xen-tools.conf,这条命令将创建一个与宿主机系统版本相同的虚拟机实例。

当然,我们也可以修改系统版本,或者修改安装源,或者修改磁盘的类型,只需要增加一些选项和参数,例如:

# xen-create-image --hostname=ubuntu.example.com --size=4G --swap=1G --memory=1G --ip=192.168.0.101 --arch=amd64 --role=udev --scsi --dist maverick --mirror=http://mirrors.163.com/ubuntu

注意:千万别忘记--role=udev

具体有哪些参数可以参见xen-create-image的man page:

# man xen-create-image

执行上述命令后,就会进入实例创建过程。过程中会提示输入密码,作为虚拟机实例的root账户密码。创建完成后,会在之前指定的目录中生成img文件,作为虚拟机实例的存储,并在/etc/xen下生成.cfg文件,作为虚拟机实例启动的配置文件。

接下来,通过xm命令启动实例:

xm create -c ubuntu.example.com.cfg

成功进入实例系统。

==========================创建CentOS实例======================

xen-tools创建CentOS实例采用的是rinse。

在创建CentOS实例之前,需要安装一些依赖包:

#apt-get install -y debootstrap libbeecrypt7 libc6-xen libconfig-inifiles-perl libexpect-perl libio-pty-perl libio-stty-perl librpm2 libterm-readline-gnu-perl libterm-size-perl libtext-template-perl reiserfsprogs rinse rpm screen vnstat

rinse创建实例过程中会下载安装一些rpm包。rinse配置文件中默认的包可能导致实例创建的失败,所以需要加入一些包:

# vi /etc/rinse/centos-x.packages

[...]

#在最后加入以下内容

nss

nspr

python-iniparsel

authconfig

此外,还可以更换CentOS实例的安装源,rinse默认使用的是一个英国的源,比较慢。

# vi /etc/rinse/rinse.conf

[...]

mirror = http://mirrors.163.com/centos/6.2/os/i386/Packages

mirror.amd64 = http://mirrors.163.com/centos/6.2/os/x86_64/Packages

和ubuntu一样,xen-tools支持CentOS的最新版本是5.x版本,如果需要安装6.x的CentOS,则需要创建相应的安装流程。由于无论哪个版本安装流程都相似,所以可以直接复制5.x的安装流程。

# cd /usr/lib/xen-tools/

# cp -a centos-5.d centos-6.d

接下来就可以创建CentOS的实例了,由于更改了安装方法,所以需要在命令中增加相应的选项和参数,同时,--role=udev的参数就不需要了:

# xen-create-image --hostname=centos.example.com --size=4G --swap=1G --memory=1G --ip=192.168.0.102 --dist=centos-6 --install-method=rinse --arch=amd64

创建过程与ubuntu实例类似,创建完成后启动实例:

# xm create -c centos.example.com.cfg

这样就能成功登录CentOS的虚拟机实例。

===========================其他=========================

1. 创建CentOS实例过程中会遇到错误,大概原因是不能读取镜像源,这种情况下要更换有效的镜像源。

2. 在创建和启动虚拟机的过程中可能会遇到没有空余loop的问题,主要原因是开机加载loop内核模块时默认只加载了8个loop,我们可以通过修改/etc/modules来指定开机加载loop的最大数量:

#  vi /etc/modules

[...]

loop max_loop=64

3. xen-tools的log文件在/var/log/xen-tools中,log文件以实例主机名命名,整个创建过程可以通过监控log文件来观察,也可以通过查看log文件来排除相应的错误。


推荐阅读
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
author-avatar
吴小熙1108
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有