20070619
早上在网上找关于xen出错解决办法的贴子,忽然发觉到顶楼贴子里有一个地方可能有问题,而我一直没有意识到,就是Xend可能并不支持rhel4的安装光盘里的images/isolinux下的内核文件,xend不能用这个内核文件启动,导致报错。也就是说,在安装虚拟系统时,我必须找一个被xend支持的内核来启动系统,这个内核从哪里来?当时是来自rhel5,我前面提到过,rhel5的安装光盘的images目录下有个xen目录,这个目录下有被xend支持的内核,也许我可以借用这个目录下的内核文件来启动虚拟系统,进入rhel4的安装界面。
把rhel4安装光盘的images目录下的xen目录复制到rhel4的images目录下,再使用virt-install命令,在一大堆提示信息后,果然进入了rhel4的安装界面,附图是第一个安装界面。
图片附件: [rhel5的xen下安装rhel4]
install_rhel4_in_xen_1.JPG (2007-6-19 09:31, 43.15 K)
下面我把完整的安装过程再写一遍,顶楼的贴子留着,把出现问题和解决问题的过程留下。
-------------------------------------------
1. Web服务器上准备rhel4的安装源。
安装源的问题一直在困扰我,xen不能像vmware那样使用iso文件,只能通过http/nfs方式安装,问题是我不知道xen需要什么样的http/nfs安装源,redhat.com一高人指点我一个脚本:
for i in *.iso
do
mount $i /mnt -o loop
cp -a /mnt/* /var/www/html/rhel4/
umount /mnt
done
我终于明白了,不能把RHEL4的iso分别mount到web服务器的不同目录下,xen找不到的,一定要把所有rpm包放到一个目录下,忽然觉得这个过程和以前配置system-config-package的过程很像。
当然我并没有按他这个脚本去把所有ISO里的文件都复制出来,太浪费空间,我只是先mount所有ISO,再建立一个目录,在这个新目录下通过建立软链接的方式把ISO文件的所有内容复制过来,有些文件名重复的文件可以略过。
另外需要提醒的是,RedHat目录需要手工建立,它下面的子目录RPMS需要手工建立,因为几个ISO文件里的RPMS子目录下所有rpm包都要复制过来。。。
下面是做安装源时的命令,把几个ISO文件mount在cd[1-5]这五个目录里,然后另外又建立了一个files目录,然后在files目录下执行下列命令:
ln -s ../cd1/* .
rm -rf RedHat
mkdir RedHat
cd RedHat/
mkdir base
mkdir RPMS
cd base
ln -s ../../../cd1/RedHat/base/* .
cd ../RPMS
ln -s ../../../cd1/RedHat/RPMS/* .
ln -s ../../../cd2/RedHat/RPMS/* .
ln -s ../../../cd3/RedHat/RPMS/* .
ln -s ../../../cd4/RedHat/RPMS/* .
ln -s ../../../cd5/RedHat/RPMS/* .
cd ../../
rm -rf images
mkdir images
cd images/
ln -s ../../cd1/images/* .
复制rhel5安装光盘images目录下的xen目录到cd1/images目录下。对这条一条命令的说明:使用virt-install命令安装虚拟机,这个程序会在用户指定的web目录下自动去查找"/images/xen"目录下的启动文件,所以必须在images目录下手工建立xen目录,并且把系统启动文件复制到xen目录下,rhel5的images/xen目录下的内核文件被xend支持,把这个目录复制过来,把这个目录给virt-install的话,它一定能通过xen目录下的内核文件来引导虚拟机,进入安装系统的界面。
把cd1/Redhat/base目录下的*.img复制到images目录下。
files目录的结构与cd1的是相同的。
(RHEL5的cd1的images目录下已经有xen目录了,可以省掉上面这个步骤。)
2. 使用命令安装系统:
virt-install -n rhel4_system_1 -r 512 --vcpus=1 -f /xen/rhel4_system_1 --nographics -p -d -l "http://192.168.64.222/RHEL4.U4/files" -d
在加载安装镜像的时候出错,见附图:
图片附件: [rhel4安装界面下的错误]
install_rhel4_in_xen_3.JPG (2007-6-19 11:29, 35.57 K)
在web服务器的apache日志上看到,rhel4的安装程序还要读取updates.img和disc1两个文件,但是rhel4的所有iso里都没有这两个文件,不知道上图是不是因为这个而引起错误。
[
本帖最后由 sailer_sh 于 2007-6-20 13:53 编辑 ]