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

在CentOS5.6系统下使用VirtualBox虚拟机

最近服务器被大量外借,所以想借此推进一下虚拟化技术。虚拟机软件特别选用了比较简单的Virtualbox。但是居然被告知软件装不上,无奈之下自己动手,中间确实遇到点小问题,记录下来以做备忘。1.安装软件环境yuminstallgccyuminstallkernel-develyuminsta
最近服务器被大量外借,所以想借此推进一下虚拟化技术。虚拟机软件特别选用了比较简单的Virtualbox。但是居然被告知软件装不上,无奈之下自己动手,中间确实遇到点小问题,记录下来以做备忘。

1. 安装软件环境

yum install gcc 

yum install kernel-devel 

yum install kernel-headers 

这里需要注意一下当前系统使用的kernel版本与安装相应kernel-headers和kernel-devel要对应上。如果找不到相应的包,那么就用yum install kernel把服务器也升级到同一个版本,然后选择新内核重启。(远程安装可以通过下面的对/boot/grub/grub.conf编辑实现切换指定内核)

2. 安装virtualbox软件

rpm -ivh VirtualBox-4.1-4.1.6_74727_rhel5-1.x86_64.rpm

但是随便调用了下vboxmanage list vms就发现驱动没有编译,根据提示执行编译命令,见到如下报错:

[root@localhost home]#  sudo /etc/init.d/vboxdrv setup 

Stopping VirtualBox kernel modules                         [确定] 

Uninstalling old VirtualBox DKMS kernel modules            [确定] 

Removing old VirtualBox pci kernel module                  [确定] 

Removing old VirtualBox netadp kernel module               [确定] 

Removing old VirtualBox netflt kernel module               [确定] 

Removing old VirtualBox kernel module                      [确定] 

Trying to register the VirtualBox kernel modules using DKMS[失败] 

  (Failed, trying without DKMS) 

Recompiling VirtualBox kernel modules                      [确定] 

Starting VirtualBox kernel modules                         [失败] 

  (Running VirtualBox in a Xen environment is not supported) 

简单看了一下,是dkms没安装引起的

3. 安装dkms

这个比较简单,到这里http://linux.dell.com/dkms/去下载一个安装就行了。

然后再执行驱动编译命令,发现还是出错:

[root@localhost home]#  sudo /etc/init.d/vboxdrv setup 

Stopping VirtualBox kernel modules                         [确定] 

Uninstalling old VirtualBox DKMS kernel modules            [确定] 

Removing old VirtualBox pci kernel module                  [确定] 

Removing old VirtualBox netadp kernel module               [确定] 

Removing old VirtualBox netflt kernel module               [确定] 

Removing old VirtualBox kernel module                      [确定] 

Trying to register the VirtualBox kernel modules using DKMS[确定] 

Starting VirtualBox kernel modules                         [失败] 

  (Running VirtualBox in a Xen environment is not supported) 

4. 处理Xen环境问题

这次仔细看了一下报错,才发现最后一句提示是系统运行在Xen环境中,找了一下Virtualbox启动脚本,发现就是一个很简单的判断:

 begin_msg "Starting VirtualBox kernel modules"
    if [ -d /proc/xen ]; then
        failure "Running VirtualBox in a Xen environment is not supported"
    fi

用xm list看了一下果然是跑在这个环境里面了,virtualbox不能在xen里面安装。显然我自己没有在服务器上安装过Xen虚拟机,这其实就是内核启动的时候选择了Xen内核模式而已。用uname -ar就可以看到目前的内核。

[root@localhost ~]# uname -ar 

Linux localhost.localdomain 2.6.18-238.el5xen #1 SMP Thu Jan 13 16:41:45 EST 2011 x86_64 x86_64 x86_64 GNU/Linux 

这个很容易搞定,修改启动选用的内核:

[root@localhost ~]# vim /boot/grub/grub.conf 

default=0 

timeout=5 

splashimage=(hd0,0)/boot/grub/splash.xpm.gz 

hiddenmenu 

title CentOS (2.6.18-238.el5xen) 

        root (hd0,0) 

        kernel /boot/xen.gz-2.6.18-238.el5 

        module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/ rhgb quiet 

        module /boot/initrd-2.6.18-238.el5xen.img 

title CentOS-base (2.6.18-238.el5) 

        root (hd0,0) 

        kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet 

        initrd /boot/initrd-2.6.18-238.el5.img 

每个内核从0开始排序,可以看到这里把default改成1就可以选用普通内核。然后reboot重启。

5. 执行sudo /etc/init.d/vboxdrv setup,可以看到编译顺利通过

6. 原以为万事大吉,但发现安装虚拟机操作系统时却装不上。见到如下报错:

virtualbox vt-x is not available 

    一看感觉是服务器虚拟化没有打开,重启服务器在bios里面打开虚拟化选项,但是发现问题依旧。

    上网查了一圈资料,有人说与kvm冲突有关,试了一下果然可以了。步骤:1)先用lsmod | grep kvm来查看服务器是kvm_intel还是kvm_amd,2)然后再用modprobe -r kvm_intel清除冲突。

总结:其实整个过程也不是很麻烦,就是每个问题定位清楚,逐一处理,切忌漫无目的一通乱试!


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
author-avatar
可爱鼠标1985
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有