安装好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系统一样。