zoukankan      html  css  js  c++  java
  • CentOS升级内核及KVM安装(已试验,可行)

    由于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不够大,晕掉……

  • 相关阅读:
    记录CTF一些奇技滛巧
    FISCO BCOS 多服务器分布式部署
    网络1911、1912 D&S第3次作业--批改总结
    DVWA渗透笔记
    Python——flask漏洞探究
    Java团队课程设计——基于学院的搜索引擎
    Java课程设计之——Web前端
    Java课程设计之——爬虫篇
    elasticsearch 7.5.0 学习笔记
    SpringCloud系列(一):Eureka 服务注册与服务发现
  • 原文地址:https://www.cnblogs.com/chinacloud/p/1782458.html
Copyright © 2011-2022 走看看