centos5.6下virtualbox安装手记

简介:

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

1. 安装软件环境

 
  1. yum install gcc 
  2. yum install kernel-devel 
  3. 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就发现驱动没有编译,根据提示执行编译命令,见到如下报错:

 
  1. [root@localhost home]#  sudo /etc/init.d/vboxdrv setup 
  2.  
  3. Stopping VirtualBox kernel modules                         [确定] 
  4.  
  5. Uninstalling old VirtualBox DKMS kernel modules            [确定] 
  6.  
  7. Removing old VirtualBox pci kernel module                  [确定] 
  8.  
  9. Removing old VirtualBox netadp kernel module               [确定] 
  10.  
  11. Removing old VirtualBox netflt kernel module               [确定] 
  12.  
  13. Removing old VirtualBox kernel module                      [确定] 
  14.  
  15. Trying to register the VirtualBox kernel modules using DKMS[失败] 
  16.  
  17.   (Failed, trying without DKMS) 
  18.  
  19. Recompiling VirtualBox kernel modules                      [确定] 
  20.  
  21. Starting VirtualBox kernel modules                         [失败] 
  22.  
  23.   (Running VirtualBox in a Xen environment is not supported) 
简单看了一下,是dkms没安装引起的

 

3. 安装dkms

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

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

 
  1. [root@localhost home]#  sudo /etc/init.d/vboxdrv setup 
  2.  
  3. Stopping VirtualBox kernel modules                         [确定] 
  4.  
  5. Uninstalling old VirtualBox DKMS kernel modules            [确定] 
  6.  
  7. Removing old VirtualBox pci kernel module                  [确定] 
  8.  
  9. Removing old VirtualBox netadp kernel module               [确定] 
  10.  
  11. Removing old VirtualBox netflt kernel module               [确定] 
  12.  
  13. Removing old VirtualBox kernel module                      [确定] 
  14.  
  15. Trying to register the VirtualBox kernel modules using DKMS[确定] 
  16.  
  17. Starting VirtualBox kernel modules                         [失败] 
  18.  
  19.   (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就可以看到目前的内核。
 
  1. [root@localhost ~]# uname -ar 
  2. 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 
 
这个很容易搞定,修改启动选用的内核:
 
  1. [root@localhost ~]# vim /boot/grub/grub.conf 
  2. default=0 
  3. timeout=5 
  4. splashimage=(hd0,0)/boot/grub/splash.xpm.gz 
  5. hiddenmenu 
  6. title CentOS (2.6.18-238.el5xen) 
  7.         root (hd0,0) 
  8.         kernel /boot/xen.gz-2.6.18-238.el5 
  9.         module /boot/vmlinuz-2.6.18-238.el5xen ro root=LABEL=/ rhgb quiet 
  10.         module /boot/initrd-2.6.18-238.el5xen.img 
  11. title CentOS-base (2.6.18-238.el5) 
  12.         root (hd0,0) 
  13.         kernel /boot/vmlinuz-2.6.18-238.el5 ro root=LABEL=/ rhgb quiet 
  14.         initrd /boot/initrd-2.6.18-238.el5.img 
每个内核从0开始排序,可以看到这里把default改成1就可以选用普通内核。然后reboot重启。
 
5. 执行sudo /etc/init.d/vboxdrv setup,可以看到编译顺利通过
 
6. 原以为万事大吉,但发现安装虚拟机操作系统时却装不上。见到如下报错:
 
  1. virtualbox vt-x is not available 
    一看感觉是服务器虚拟化没有打开,重启服务器在bios里面打开虚拟化选项,但是发现问题依旧。
    上网查了一圈资料,有人说与kvm冲突有关,试了一下果然可以了。步骤:1)先用lsmod | grep kvm来查看服务器是kvm_intel还是kvm_amd,2)然后再用modprobe -r kvm_intel清除冲突。
 
总结:其实整个过程也不是很麻烦,就是每个问题定位清楚,逐一处理,切忌漫无目的一通乱试!


本文转自passover 51CTO博客,原文链接:http://blog.51cto.com/passover/760740,如需转载请自行联系原作者
相关文章
|
17天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
100 4
|
13天前
|
Oracle 关系型数据库 MySQL
centos6安装mariadb失败及解决办法
centos6安装mariadb失败及解决办法
33 4
|
11天前
|
Linux 网络安全
centOS7.3 安装启用 iptables 记录
centOS7.3 安装启用 iptables 记录
20 1
|
5天前
|
关系型数据库 MySQL Linux
通过虚拟机进行安装Centos7.0并且安装MySQL
通过虚拟机进行安装Centos7.0并且安装MySQL
22 0
|
14小时前
|
存储 Linux 数据安全/隐私保护
Centos安装
Centos安装
8 2
|
3天前
|
Linux vr&ar C语言
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)
16 2
|
6天前
|
关系型数据库 MySQL Linux
蓝易云 - CentOS7用二进制安装MySQL5.7
以上步骤即可完成在CentOS 7上通过二进制包安装MySQL 5.7。
18 2
|
11天前
|
NoSQL Linux 网络安全
基于 centOS7 的 redis 安装
基于 centOS7 的 redis 安装
47 1
|
12天前
|
关系型数据库 MySQL Linux
CentOS7.9 安装 mysql-8.0.36 踩坑小记
CentOS7.9 安装 mysql-8.0.36排错指南
228 1
|
18天前
|
tengine Linux 应用服务中间件
CentOS 7 安装 Tengine
CentOS 7 安装 Tengine