• Xen Cloud Platform 系列:虚拟机创建(二)


    但那时非常快乐,你突然到了一个完全自由的地方,无法无天,毫无限制,不用在意那些老掉牙的传统观念。-冯仑

    安装好xcp后,可以进入CLI环境,用命令对进行虚拟机的创建和管理。可以参考官方的指导文档。

    http://www.xen.org/files/XenCloud/guest.pdf

    1. 虚拟机的网络安装

    其中有个迅速安装Debian虚拟机的例子,具体的操作过程如下:

    1 xe vm-install template=Debian\ Lenny\ 5.0 new-name-label=<lenny-vm> //new-name-label 设置虚拟机的名字,返回虚拟机的uuid
    2 xe vm-param-set uuid=<UUID> other-config:install-repository=http://ftp.debian.org/debian //uuid为虚拟机的uuid,other-config,指定 了安装路径 3 xe vm-start uuid=<UUID> //开始启动虚拟机

    这个是虚拟机的安装方式之一,网络安装,简洁方便。

    我在安装过程中,遇到如下的问题,执行完第三条指令后,返回一个错误结果

    1 Error code: INVALID_SOURCE
    2 Error parameters: Unable to access a required file in the specifiedrepository:http://ftp.debian.org/dists/lenny/main/installer-i386/current/images/netboot/xen/vmlinuz.,,

    参考这个帖子 http://www.gossamer-threads.com/lists/xen/api/247871 还是没有解决问题,依然出现同样的错误,但直接在浏览器中访问这个路径可以正常打开。

    2.在xcp系统中,虚拟机的创建都是从模板开始的,xcp提供了丰富的模板,从Linux到windows等等操作系统,xcp提供的配置的模板都针对特定的OS做了参数设置,以达到OS最优的性能。当然,这些模板参数也可以通过命令来进行调整。在具体涉及到各个模板参数的修改时,还是通过一个直观的虚拟机实例来了解。前面提到了网络安装,方式就这样,但不知什么原因导致出现上面的问题。现在介绍另一种安装方式。

    在xcp上,根据模板,用CLI使用iso文件来安装CentOS5.1 系统。

    1.在XCP主机本地上建立一个iso库

    1 mkdir -p /var/opt/xen/iso_import //建立目录

    2.将CentOS5.1 的iso文件拷贝到刚创建的iso_import目录下。

    注意:由于我们是直接将iso文件拷贝到xcp主机上,主机默认的分区方式,只跟/ 目录创建了5G的空间,随便一个iso文件就可能导致主机空间使用完。当然,可以有多种方式解决这个问题,我们可以再相关 目录下挂载一个逻辑卷扩大空间,也可以选择iso库的其他支持方式,这而只选择了最简单的一种。

    3.创建一个iso存储库

    1 xe sr-create name-label=isoimport type=iso device-config:location=/var/opt/xen/iso_import/ device-config:legacy_mode=true content-type=iso                                     

    返回的uuid为:a1491952-932d-a450-52d4-472266c69572

    其中sr指的存储库,xcp的存储概念会后续谈到。该命令返回这个sr的uuid号。

     4.扫描下该sr库

    1 xe sr-scan uuid=a1491952-932d-a450-52d4-472266c69572 //UUID是上条命令返回的结果

    5.确认下是不是能找到加入的iso文件

    1 xe cd-list

    结果如下:

    其中name-label 为 CentOS-5.1-x86_64-bin-DVD.iso 就是刚才拷贝进来的。

    6.开始虚拟机的安装了,创建虚拟机

    1 xe vm-install template=CentOS\ 5\ \(64-bit\) new-name-label=CentOSVM

    返回的UUID为:11502db4-a460-9526-8397-32ea95e7ebfd

    其中template_name为系统中存在的一个模板,该命令返回虚拟机的uuid

    7.找到刚创建的虚拟机根磁盘的UUID

    1 xe vbd-list vm-uuid=11502db4-a460-9526-8397-32ea95e7ebfd userdevice=0 params=uuid --minimal

     该命令返回根磁盘的UUID号:a06d6f53-06a4-5abb-ad00-9966309e884b

    8.使用返回的 UUID,将根磁盘设置为不可引导:

    1 xe vbd-param-set uuida06d6f53-06a4-5abb-ad00-9966309e884b bootable=false

    9.然后,向该虚拟机添加cd-rom  

    1 xe vm-cd-add vm=CentOSVM cd-name=CentOS-5.1-x86_64-bin-DVD.iso device=3

    其中vm为虚拟机的名称,cd-name为之前使用xe cd-list显示的cd-name

    10.获取与新虚拟 CD 驱动器对应的 VBD 的 UUID

    1 xe vbd-list vm-uuid=11502db4-a460-9526-8397-32ea95e7ebfd type=CD params=uuid --minimal

    返回的UUID:f723fa57-2061-4bf8-1dc0-d0021eb75ef9

    11.然后把cdrom设置为启动的

    1 xe vbd-param-set uuid=f723fa57-2061-4bf8-1dc0-d0021eb75ef9 bootable=true

    12.配置vm,使其从cd启动

    1 xe vm-param-set uuid=11502db4-a460-9526-8397-32ea95e7ebfd other-config:install-repository=cdrom

    13.为该虚拟机配置网络

    1 xe vif-create vm-uuid=11502db4-a460-9526-8397-32ea95e7ebfd network-uuid=7f0ab74c-bfb0-26be-72dc-c3565c9bf4ca mac=random device=0

    其中network-uuid可以通过下面的命令查看到:

    xe network-list

    会返回如下的结果:

    xenbr0对应网卡eth0,xenbr1对应网卡eth1.

    我们可以选择为该vm创建的虚拟网卡连接到具体的物理网卡上。如果缺少这一步,安装好系统后,便会发现系统没有网卡,不能上网。

    14.启动虚拟机

    1 xe vm-start uuid=11502db4-a460-9526-8397-32ea95e7ebfd

    至此,虚拟机正式启动,就如安装一个普通的linux系统一样。

  • 相关阅读:
    <转>Java 高并发综合
    <转>Spring 知识点提炼
    qqq
    ttt
    工作中的那些坑(2)——逆波兰表达式
    工作中的那些坑(1)——一次过滤存量数据的优化过程
    Java学习笔记
    《代码大全》笔记(一)
    由Cocos2d-x工程入口窥见代理模式
    makefile
  • 原文地址:https://www.cnblogs.com/liuan/p/2570148.html
Copyright © 2020-2023  润新知