WEB开发网
开发学院服务器虚拟化 Linux上的虚拟化技术 Xen 初学者指南(8) 阅读

Linux上的虚拟化技术 Xen 初学者指南(8)

 2006-07-20 02:15:56 来源:WEB开发网   
核心提示:8、强制终止正在运行的虚拟操作系统;(重要) 在xm这个管理工具中,我们把xm destroy 单列出来,Linux上的虚拟化技术 Xen 初学者指南(8),就是因为这个工具是极为重要的;有时被虚拟的系统一直退不出去,但由于启动过程中遇到问题,我想也是这么回事,如果有一个弟兄认为有点价值,又不能终止,这时我们要用到这个
8、强制终止正在运行的虚拟操作系统;(重要)

在xm这个管理工具中,我们把xm destroy 单列出来,就是因为这个工具是极为重要的;有时被虚拟的系统一直退不出去,但由于启动过程中遇到问题,又不能终止。这时我们要用到这个工具强制被虚拟的系统退出。

[root@localhost ~]# xm list

Name ID Mem(MiB) VCPUs State Time(s)

Domain-0 0 586 1 r----- 2236.5

fc5 1 128 1 -b---- 13.7

[root@localhost ~]# xm destroy 1



[root@localhost ~]# xm destroy fc5

这时您再用xm list查看,肯定fc5这个Domain已经退出。

xm destroy 这个指令还是极为有用的,所以我们单列出来。希望新手弟兄注意一下。

9、关于基础系统安装后,虚拟操作系统的软件补充安装;

基础系统安装好以后,下一步就是其它软件的安装。在各个系统都有软件包管理工具; 在主流发行版中,都有相应的软件包管理工具,比如Fedora有rpm 和yum 工具;Debian有 apt工具。

或者通过chroot来安装一些比较重要的软件包。总之方法太多了;

总之,后续软件的补充安装并不是什么问题;

10、关于虚拟操作系统的桌面访问及远程访问;

被虚拟的操作系统,我们要把它看成一***立运行的计算机。计算机与计算机之间通过什么访问来?ssh 或vnc。所以我们要在被虚拟的操作系统上安装vncserver 和sshd;

如果您虚拟的是Fedora ,我们可以在Fedora中执行yum install vnc来安装vncserver ;

#yum install vnc

如果您虚拟的是 Debian ,您可以用apt-get install vncserver 来安装vncserver ;

#apt-get install vncserver

当然客户端也要安装vncview才行,您要自己在客户端上安装vncview;

关于vnc远程桌面的访问,您可以参考这篇:《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》

另外sshd服务器,也要安装openssh 的软件包;这个也省略不说了,比较简单,再说目前大多基础系统已经提供这个软件包了。并且在被虚拟的系统在启动时,sshd也自动运行了;连接sshd服务器的命令是;

#ssh 用户名@ip

比如

#ssh root@192.168.1.12

11、常见问题处理;

11.1 不能找到root分区;

表现如下症状;

VFS: Cannot open root device "sda8" or unknown-block(2,0)

Please append a correct "root=" boot option

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

引导虚拟操作系统的配置文件有问题,主要查看disk:那行和root那行是否用的是一个虚拟映射点。

比如是由于引导Fedora 的配置文件中disk行和root行如下:

disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']

root = "/dev/sda8 ro"

我们发现/dev/hda5被虚拟映射到/dev/sda1了。也就是说,被虚拟的操作系统引导运行,它的root应该位于/dev/sda1。而在这里定义的却是/dev/sda8。所以应该改为

disk = ['phy:hda5,sda1,w','phy:hda8,sda2,w']

root = "/dev/sda1 ro"

11.2 出现/tmp/.ICE-unix 类似的错误;

chown: changing ownership of `/tmp/.ICE-unix': Read-only file system

再比较/tmp/xxxx之类的不能写入,只读之类的,请用xm destrony 先关掉被虚拟的操作系统。然后把被虚拟的系统的分区或映像文件挂载,删除/tmp目录中的临时文件。注意.file是隐藏的。您可以通过ls -la来查看。然后再来删除;

另外如果一直出现这个错误,说明文件系统有问题了,这在ext3的文件系统中是经常发生的。您可以用/sbin/fsck.ext3 工具来修复文件系统。当然您的文件系统不能处于挂载状态。应该先umout 才能进行;

比如修复一个分区,应该类似如下的命令;

[root@localhost ~]# /sbin/fsck.ext3 /dev/hda5

如果中间遇到是否修复时,按提示的就是y或yes吧;

如果被虚拟的文件系统位于一个映像文件,也是用这种办法,比如:

[root@localhost ~]# /sbin/fsck.ext3 fc5.img

11.3 Device 0 (vif) could not be connected

Warning: The nics option is deprecated. Please use an empty vif entry instead:

vif = [ '' ]

Error: Device 0 (vif) could not be connected. Hotplug scripts not working.

如果出现上面这种错误,应该看一下配置文件中有没有 vif=['']的定义;

12、关于本文;

本文是在阅读《xen v3.0 用户手册》的基础上实践而成。本文和我前几天写的《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》有点类似。通过实践看来Xen还不是太难用,应该说比较容易。至于高深的东西,我也不会,所以只能写一写新手入门性的文档。可能有的弟兄认为本文没有任何价值,我想也是这么回事,如果有一个弟兄认为有点价值,那就送给他用吧~~~

13、后记;

还要挖一挖Xen的文档?好象没有太大的必要了~~~,看情况吧;

14、参考文档;

《xen v3.0 用户手册》

http://jailtime.org

15、相关文档;

《xen v3.0 用户手册》

《Fedora Core 5.0 用 Xen 虚拟Slackware 10.2》

Tags:Linux 虚拟化 技术

编辑录入:coldstar [复制链接] [打 印]
赞助商链接