unable to retrieve xxxxx

使用 virt-install –prompt 安装 xen 时,提示出现:  

What is the install URL?

需要输入安装的镜像文件地址,使用 python -m SimpleHTTPServer 80 做一个简单的 web server,起先是将 .iso 文件扔在当前的目录下,安装到一半出现 unable to retrieve:xxxxxx。google 发现需要将镜像解压,于是:

# mount -o loop CentOS.iso .

再安装,出现同样的问题,后来在 @wcmilan 大神的提醒下,需要将 iso 文件做一个 yum 源。如果网速较好,可以直接填写类似如下的 URL:

http://mirrors.163.com/centos/5/os/x86_64/

由于网速比较搓,我自己使用 apache 做了一个 yum 源,首先做一个 http (使用上面的 SimpleHTTPServer 模块同样可以)的服务,将 iso 的文件解压在 /var/www/html/centos/ 下;最后 createrepo:

# mount -o loop CentOS-5.5-x86_64-bin-DVD.iso /mnt
# cp -a /mnt/* /var/www/html/centos
# cd /var/www/html/centos/CentOS
# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
# cd ..
# cp repodata/comps.xml /root
# createrepo -g /root/comps.xml .

以上就建了一个 mirrors.163.com 类似的 yum 源。而需要填写的 URL 地址就变为了:

http://ip/centos

之前接触的一直是 KVM 这个全虚拟化的环境,在其安装过程中可以从 iso,CD-ROM 等介质中安装;而像 xen 这样的半虚拟化则不可以从以上的介质中安装,需要从 http 等安装。详细的安装过程可以看这里

在启动 xen 的过程中,会出现下面的错误:

Error: (12, 'Cannot allocate memory')

可以通过限制 dom0 的内存,将剩余的内存留给 domU,在 menu.lst 的 kernel 行加上:

kernel /xen.gz-2.6.18-238.12.1.el5 dom0_mem=1024M