什么是dom0的内核?什么是domU的内核?

151 views
Skip to first unread message

田康奇

unread,
May 7, 2011, 11:11:45 PM5/7/11
to xiyou...@googlegroups.com
编译内核糊涂了,grub的菜单中写的是kernel  xen-4.1.0.gz,这是不是dom0的内核?可能你们的答案是否定的。那么我们花半个小时编译出来的是dom0的内核呢还是domU的内核?我想你们给出的答案是dom0,那么我们还需要制作一个domU的内核吧?我不明白,为什么这样?为什么必须有domU?我看我没有制作domU,照样跑的很好。这两个内核在制作的时候略有不同,他们之间有什么关系?是不是新的xen,不需要domU了?是不是人家把xen的两个内核合在一起了?他们之间的特权和非特权怎么体现?康师哥给的那个连接中使用的是mkinitrd制作了一个domU的initrd.为什么要这个?
--
田康奇,qq:251394514,软件工程专业

Xycloud

unread,
May 8, 2011, 2:21:57 AM5/8/11
to xiyou...@googlegroups.com, xiyou...@googlegroups.com
如果用virt-install 安装domu,则该工具自动做了domu的initrd和pvkernel(这个内核其实是发布板linux iso中带的,也就是ftp 指定的那个centos iso)
当使用pvgrub时,则配置中不用写domu的initrd 和kernel。 因为它能在启动时登入domu景象找到virt install 的kernel和initrd。
当不使用pv grub是就需要配置中写定initrd和domu kernel(domu kernel 可以自己编译,也可用dom0的)。这时都domu的initrd就要自己做。

康华
发自我的 iPad

田康奇

unread,
May 8, 2011, 9:15:31 AM5/8/11
to xiyou...@googlegroups.com

还是不太清楚,我不是想知道怎么做,是我不明白为什么这样?我需要知道一些原理性的东西,半虚拟化都是使用修改过的内核,但是真的来讲,我们修改内核的哪里了?我们自己都稀里糊涂的。
--
田康奇,qq:251394514,软件工程专业

tiger BB

unread,
May 8, 2011, 9:49:36 AM5/8/11
to xiyou...@googlegroups.com
康老师,请帮我回答几个问题,谢谢..^_^

1.domU的initrd里面的内容和dom0的initrd最大的区别是什么?做domU的initrd时最需要的功能或者说模块是什么? 有什么需要注意的吗?

2.现在我已经做好了dom0-kernel domU-kernel dom0-initrd domU-initrd  四个,那么开机启动的dom0肯定使用的是dom0-initrd and dom0-kernel,然后我现在开启了5个虚拟机,配置文件里面都使用的是domU-initrd and domU-kernel,四个虚拟机我想应该都可以起起来(我没试过)。这是第一种,如果四个虚拟机的内核我都使用dom0-kernel,只是虚拟机的initrd使用domU-initrd,那么这两种方式到底有什么区别?还有就是如果我现在开启了20个虚拟机,都使用domU-initrd and domU-kernel,那么这个内核文件会出问题吗?如果还是20个虚拟机,只是都是用dom0-kernel and dom0-initrd呢?这种方式对虚拟机的数量邮限制吗?

目前只有这两个,还有的话后面会添加..^_^

--
人生就像蜡烛一样,从顶燃到底,都应该是光明的。

Xycloud

unread,
May 8, 2011, 11:01:55 AM5/8/11
to xiyou...@googlegroups.com
修改的内核在domu的镜像文件里。另外编译内核时xen相关选项中的guest支持部分就是修改半虚内核,有兴趣就去读对应源码吧!


康华
发自我的 iPad

Xycloud

unread,
May 8, 2011, 11:03:36 AM5/8/11
to xiyou...@googlegroups.com, xiyou...@googlegroups.com


康华
发自我的 iPad

Xycloud

unread,
May 8, 2011, 11:19:01 AM5/8/11
to xiyou...@googlegroups.com, xiyou...@googlegroups.com
1 initrd 的作用看来你们没明白。这个文件是加载正式内核前先加载进内存的微操作系统,其中要包含必要的磁盘驱动以支持后续加载正式内核:所以对于都加载domu的镜像而言,其initrd的中需要加入前端磁盘驱动程序,以支持识别domu的磁盘。由此可pv的前端磁盘驱动是domu initrd必须加载的模块。

2 虚拟机启动数量和用什么内核与initrd没关系,是和系统内存,磁盘相关,以及事件通道数量等相关。


发自我的 iPad

在 2011-5-8,21:49,tiger BB <liu.xia...@gmail.com> 写道:

tiger BB

unread,
May 8, 2011, 9:47:23 PM5/8/11
to xiyou...@googlegroups.com

两种方式:
1.直接使用主机里面的domU内核和domU initrd;(也就是直接在配置文件里面指定虚拟机的内核和initrd)

2.直接使用磁盘镜像里面的内核和initrd;(直接安装虚拟机,然后磁盘镜像里面就有了虚拟机的内核和initrd)

哪一种更好?哪一种是EC2使用的? ^_^


--
人生就像蜡烛一样,从顶燃到底,都应该是光明的。

xiyoucloud

unread,
May 9, 2011, 2:20:49 AM5/9/11
to xiyou...@googlegroups.com
建议使用virt install直接安装,发布版本的linux中的pv kernel都很稳定了,直接可用。另外pv grub简化了加载过程,因为不需在dom0上保留domu内核。


这两个方式没本质区别。

ec2具体用那个,我不知道。


发自我的 iPhone
Reply all
Reply to author
Forward
0 new messages