热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Xen虚拟机遇到的问题

问题描述:通过xen安装好虚拟机,但是在启动以及登陆所安装的虚拟机时,老是会出现一些问题,比如无法登陆虚拟机的控制台;虚拟机在刚启动的时候可以正常启动,处于“r”状态,但是过一会虚拟机又会陷入阻塞状态“b”,但是通过virt-manager观察,发现所安
 问题描述:通过xen安装好虚拟机,但是在启动以及登陆所安装的虚拟机时,老是会出现一些问题,比如无法登陆虚拟机的控制台;虚拟机在刚启动的时候可以正常启动,处于“r”状态,但是过一会虚拟机又会陷入阻塞状态“b”,但是通过virt-manager观察,发现所安装的虚拟机均是处于“运行”状态。

具体问题如下:

[root@localhost wangjian]# xm console 4

rtc: IRQ 8 is not free.

i8042.c: No controller found.

[root@localhost xen]# xm list

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

CentOS                                     3     1023     1 -b----     36.9

Domain-0                                   0      484     2 r-----    850.1

centos                                     1      511     1 -b----     31.7

查看xen的日志vim /var/log/xen/xend.log ,会发现如下的错误:

[2013-07-15 06:40:00 xend 3653] DEBUG (blkif:27) exception looking up device number for xvda: [Errno 2] No such file or directory: '/dev/xvda'

解决办法:mknod /dev/xvda b 220 0

这里的220是主设备号,注意这里的主设备号不能和系统已经定义的主设备号重复,系统已定义的主设备号可以通过查看

/usr/src/kernels/2.6.18-348.6.1.el5-xen-i686/include/linux/major.h来获取。

之后便可以通过“xm console centos”(文本)登陆到centos这台虚拟机,但是“xm list”显示虚拟机仍然处于阻塞“b”状态,通过virt-manager观察,虚拟机处于“运行状态”,具体原因还不知道。

注:mknod - make block or character special files

    mknod [OPTION]... NAME TYPE [MAJOR MINOR]
    option 有用的就是 -m 了
    name   自定义
    type   有 b 和 c 还有 p
    主设备号
    次设备号

    主设备号是由linux/major.h定义的,如下定义了一个DOC设备: 
    #define IGEL_FLASH_MAJOR 62

    假如有一个命令mknod doc b 62 0 : 
其中的doc为定义的名字,b指块设备,0指的是整个DOC。如果把0换为1,则1指的是DOC的第一个分区。2是第2个,对于块设备次设备号就表示该块设备上的分区号,依次类推。

    至于mknod console c 5 1 的意思也很相似: 
    console是设备的名字 
    c指字符设备 
    5是该设备在major.h中定义的标记 
    1是第一个子设备

    mknod console c 5 1 
    console为设备文件名,自己随便取 
    c是指字符型设备 (可选b,块设备) 
    5是主设备号 /dev/devices里面记录现有的设备 
    找个没有用的就可以了 
    1是次设备号,当你要给两个同样的设备上一个驱动的时候就要分了,从0开始,1就是第二个了 ,对于字符设备,次设备号就表示同类型设备的不同设备。


推荐阅读
  • 构建个人多节点Linux环境(CodeSheep)
    本文介绍如何通过虚拟机搭建一个多节点的Linux环境,这对于学习、实验和项目部署都具有重要意义。文章详细讲解了网络IP设置、节点间通信等关键步骤。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 解决Linux中wget无法解析主机的问题
    本文介绍了如何通过修改/etc/resolv.conf文件来解决Linux系统中wget命令无法解析主机名的问题,通过添加Google的公共DNS服务器地址作为解决方案。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文详细介绍了如何利用Xshell配合Xftp实现文件传输,以及如何使用Pure-FTPd构建FTP服务,并探讨了VSFTP与MySQL结合存储虚拟用户的方法。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文介绍了在Linux环境下如何有效返回命令行状态、上一级目录及快速查找头文件和函数定义的方法。包括处理长时间运行命令、编辑器退出技巧、目录导航以及文件搜索策略。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • 整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ... [详细]
author-avatar
左文欣936
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有