由于CentOS 默认内核为2.6.18,故需要升级内核
升级内核到2.6.27,很容易,但升级到2.6.28后的版本折腾了我很久
升级到2.6.27
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.27.tar.gz
tar zxvf linux-2.6.27.tar.gz -C /usr/src
cd /usr/src/linux-2.6.27
make menuconfig
make
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.27-root (注意:目录i386是根据你的系统类型, 如果是64位系统, 那就很可能是x86_64)
cp System.map /boot/System.map-2.6.27-root
mkinitrd /boot/initrd-2.6.27-root.img 2.6.27
vi /etc/grub.conf
title CentOS (2.6.27)
root (hd0,6)
kernel /vmlinuz-2.6.27-root ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.27-root.img
title CentOS (2.6.18-92.1.18.el5)
root (hd0,6)
kernel /vmlinuz-2.6.18-92.1.18.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-92.1.18.el5.img
title CentOS (2.6.18-53.el5)
root (hd0,6)
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-53.el5.img
title qrpeng windows xp
rootnoverify (hd0,0)
chainloader +1
reboot
升级到2.6.33
由于需要安装LVS,需要内核版本为2.6.28以上,于是开始升级新内核,折腾了很久,最后按照如下步骤搞定的:
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.tar.gz
tar zxvf linux-2.6.33.tar.gz -C /usr/src
cd /usr/src/linux-2.6.33
make distclean
cp /boot/config-2.6.18-164.el5 .config
make menuconfig
修改.config文件,在.config文件搜索CONFIG_SYSFS_DEPRECATED_V2,会发现#CONFIG_SYSFS_DEPRECATED_V2 is notset这一行,将该行修改为CONFIG_SYSFS_DEPRECATED_V2=y
make all
make modules_install
make install
不要重新启动需要修改initrd
1.解压initrd
cp /boot/initrd-2.6.33.img /tmp
cd /tmp/
mkdir newinitrd
cd newinitrd/
zcat ../initrd-2.6.33.img |cpio -i
2,编辑init,删掉重复的两行
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
echo “Loading dm-region-hash.ko module”
insmod /lib/dm-region-hash.ko
3,重新打包initrd
find .|cpio -c -o > ../initrd
cd ..
gzip -9 < initrd > initrd-2.6.33.img
initrd-2.6.33.img就是重新打包的initrd了,然后把initrd-2.6.33.img拷贝到/boot。
安装kernel-devel
到http://ftp.yz.yamagata-u.ac.jp/pub/linux/Vine/VineSeed/i386/RPMS.main/ 或者http://fr.rpmfind.net/linux/RPM/fedora/devel/i386/Fedora_Project.html相应版本即可
安装KVM
开启SELinux
(如果你的SELinux被禁用,virt-install将不会正常工作)
system-config-securitylevel-tui
kvm安装
(a)检查CPU是否支持硬件虚拟化-运行命令
egrep ‘(vmx|svm)’ –color=always /proc/cpuinfo
(如果输出的结果包含 vmx,它是 Intel;如果包含 svm,它是 AMD。如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理。)
(b)安装KVM和virtinst(一个创建虚拟机的工 具),我们运行
yum install kvm kmod-kvm qemu libvirt python-virtinst
然后重新启动系统:
Reboot
检查
使用下列命令检查KVM是否成功安装
virsh -c qemu:///system list
将会显示如下结果:
[root@server1 ~]# virsh -c qemu:///system list
Id Name State
———————————-
[root@server1 ~]#
如果在这里显示的是一个错误的信息,说明有些东西出现了问题。
桥接网络
1)假如你想客端在内联网上以个别一台主机出现,让整个网络看得见,你需要采用桥接网络。
yum install bridge-utils2)创建文件/etc/sysconfig/network-scripts/ifcfg-br0
vi /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.100
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
注意将上面的IP地址配置为你本机的IP地址
3)修改/etc/sysconfig/network-scripts/ifcfg-eth0,蓝色信息注释掉,红色为新添加
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
DEVICE=eth0
#BOOTPROTO=static
#BROADCAST=192.168.0.255
HWADDR=00:10:A7:05:AF:EB
#IPADDR=192.168.0.100
#NETMASK=255.255.255.0
#NETWORK=192.168.0.0
ONBOOT=yes
BRIDGE=br0
注意,此处一定要将eth0(即物理网卡,根据自己机器来确定名字)的IP地址要注释掉,否则配置不正确
KVM管理
GUI
安装 virt-viewer 或者virt-manager
yum install virt-viewer virt-manager
以GUI安装OS
终端中输入 virt-manager 或者点击系统菜单:Applications—>System tools –>Virtual Machine Manager,将弹出GUI界面,利用该界面就很容易的安装新操作系统了。
注意,在此步执行前,请确保SELinux关闭或者是 permissive
管理客户机
可通过virt-manager或者virsh命令尽力管理
连接到virtual shell,运行
virsh –connect qemu:///system
进入后可用help命令寻求帮助
FAQ
如果新建客户机总是报错,说“Internal Error:Domain xxx didn’t show up”,是SELinux的问题,把SELinux设置permissive就可以了
在虚拟机中编译27内核时出现make: *** [_modinst_post] Error 137错误。
查了一下,是swap不够大,晕掉……