zoukankan      html  css  js  c++  java
  • [zz]centos下安装KVM方法

    一.        Centos5.4安装,升级
    开启SELinux(如果SELinux被禁用,virt-install将不会正常工作)
    system-config-securitylevel-tui

    二.        KVM安装
    安装KVM有两种方式:
    1通过YUM安装,在有INTERNET接入的地方可以使用,使用方法比较简单。
    (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

    2 通过CentOS自带光盘中的RPM包进行安装
    安装KVM需要以下一些包:
    kmod-kvm        x86_64 83-164.el5_5.15 
    kvm            x86_64 83-164.el5_5.15 
    libvirt           i386   0.6.3-33.el5_5.1 
    libvirt           x86_64 0.6.3-33.el5_5.1 
    python-virtinst   noarch 0.400.3-9.el5 
    qemu           x86_64 0.9.0-4 
    所需的依存包为:
    bridge-utils           x86_64 1.1-2    
    celt051              x86_64 0.5.1.3-0.el5 
    e4fsprogs-libs        i386   1.41.9-3.el5  
    e4fsprogs-libs        x86_64 1.41.9-3.el5 
    etherboot-zroms-kvm   x86_64 5.4.4-13.el5.centos 
    iscsi-initiator-utils x86_64 6.2.0.871-0.16.el5 
    libvirt-python        x86_64 0.6.3-33.el5_5.1 
    log4cpp               x86_64 1.0-9.el5 
    qcairo                x86_64 1.8.7.1-3.el5 
    qffmpeg-libs          x86_64 0.4.9-0.16.20080908.el5_5 
    qpixman               x86_64 0.13.3-4.el5 
    qspice-libs           x86_64 0.3.0-54.el5_5.1 
    xen-libs              i386   3.0.3-105.el5_5.5
    xen-libs              x86_64 3.0.3-105.el5_5.5 
    xz-libs               i386   4.999.9-0.3.beta.20091007git.el5 
    xz-libs               x86_64 4.999.9-0.3.beta.20091007git.el5 
    将其放在一个文件夹内,使用rpm –ivh *.rpm命令来进行安装。或者使用rpm -i ( or --install) options file1.rpm  file2.rpm... fileN.rpm 将每个RPM包列出进行安装。

    3 验证KVM是否安装完成
    使用下列命令检查KVM是否成功安装
    virsh -c qemu:///system list
    将会显示如下结果:
    [root@server1 ~]# virsh -c qemu:///system list
    Id Name                 State
    ----------------------------------

    [root@server1 ~]#

    如果在这里显示的是一个错误的信息,说明有些东西出现了问题。

    4配置网桥
    下面我们需要在我们的服务器上设置一个网桥,就可以使我们的虚拟机从其他主机中读取数据。
    要做到这一点,我们安装bridge-utils工具
    yum install bridge-utils
    或者在CentOS中找到bridge-utils_x86_64 1.1-2.rpm包进行安装。
    你亦会需要 tunctl。 
    这个现已收录在 RPMForge 软件库内。因此,只要启用这个软件库,你便可以这样简易地安装它 
    yum install tunctl
    编辑/etc/udev/rules.d/90-kvm-rules。当安装 rpm 后,被创建的文件有以下内容: 
    KERNEL=="kvm",          NAME="%k", GROUP="kvm", MODE="0660" 
    理论上,加以下面这行: 
    KERNEL=="tun",          NAME="net/%k", GROUP="kvm", MODE="0660" 
    应该会将正确的权限赋予 /dev/net/tun,但事实并不是这样。虽然这是一个临时方法,但你亦可以在 /etc/rc.local 加入 
    chown root:kvm /dev/net/tun
    chmod 0660 /dev/net/tun
    这样做一定有效。假如你只会偶尔地使用 kvm,你可以创建一个藏有上述数行的脚本,将它存储为 tunperms.sh(或更好的名称)。然后当你有需要用桥接网络时,以 root 身份或 root 权限去执行它。

    安装完成后配置一个网桥从/etc/sysconfig/network-scripts/ifcfg-eth0参考BOOTPROTO, BROADCAST, IPADDR, NETMASK和NETWORK等值来创建文件/etc/sysconfig/network-scripts/ifcfg-br0 :
    vi /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=static
    BROADCAST=192.168.200.255
    IPADDR=192.168.200.180
    NETMASK=255.255.255.0
    NETWORK=192.168.200.0
    ONBOOT=yes
    修改/etc/sysconfig/network-scripts/ifcfg-eth0 as follows (取消注释BOOTPROTO, BROADCAST, IPADDR, NETMASK, 和NETWORK 最后添加 BRIDGE=br0):
    vi /etc/sysconfig/network-scripts/ifcfg-eth0
    # Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
    DEVICE=eth0
    #BOOTPROTO=static
    #BROADCAST=192.168.200.255
    HWADDR=**:**:**:**:**:**
    #IPADDR=192.168.200.180
    #NETMASK=255.255.255.0
    #NETWORK=192.168.200.0
    ONBOOT=yes
    BRIDGE=br0
    重新启动网络...
    /etc/init.d/network restart
    ... 运行
    ifconfig
    现在应该显示网桥(br0):
    [root@server1 ~]# ifconfig
    br0       Link encap:Ethernet  HWaddr **:**:**:**:**:**
              inet addr:192.168.200.180  Bcast:192.168.200.255  Mask:255.255.255.0
              inet6 addr: ****/64 Scopeink
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:**errors:0 dropped:0 overruns:0 frame:0
              TX packets:** errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:  TX bytes:

    5.装入模块
    用 modprobe 将对应你的结构的 kvm 模块装入。如果是 Intel 处理器: 
    modprobe kvm-intel
    如果是 AMD 处理器: 
    modprobe kvm-amd
    假如一切须利的话,你的系统现在应该已经装入了 kvm 模块。你可以执行这个指令来检查: 
    /sbin/lsmod | grep kvm
    将那些会执行 kvm 的用户加进 kvm 群组内。假如用户的名称是 john,那么: 
    usermod -G kvm -a john
    如果你是以 john 的身分,通过 su - 或 sudo 来转用 root 的权限并执行以上指令,你也许须要完全注销,然后再登录才会看见新的群组在指令壳内生效。 
    执行 modprobe 后,你可以重新开机来确定这个模块能被装入,而 /dev/kvm 设备亦被 udev 赋予正确权限。现在你应该接有 /etc/sysconfig/modules/kvm.modules 这个脚本。当开机完成后,请如上使用 /sbin/lsmod 这个指令来检查模块有否被装入。你应该同时看见一个 kvm 及一个 kvm-intel(或 kvm-amd)的模块。 
    假如你想避免重新开机,你可以用下列两个指令为 /dev/kvm 这个设备设置所需的权限: 
    chown root:kvm /dev/kvm
    chmod 0660 /dev/kvm
    在下设开机时,udev 会将正确权限赋予这个设备。 

    6. kvm管理端安装virt-viewer 或者virt-manager
    使用下列命令安装virt-manager:
    yum install virt-manager

    或者使用rpm包进行安装:
    virt-manager   x86_64_0.6.1-12.el5                                  
    依存安装包: 
    bridge-utils   x86_64_1.1-2                                         
    e4fsprogs-libs   x86_64 _1.41.9-3.el5                                  
    gnome-python2-gnomekeyring   x86_64_2.16.0-3.el5                                  
    gtk-vnc_x86_64_0.3.8-3.el5                                   
    gtk-vnc-python_x86_64_0.3.8-3.el5                                   
    iscsi-initiator-utils_x86_64_6.2.0.871-0.16.el5
    libvirt _x86_64_0.6.3-33.el5_5.1                     
    libvirt-python_x86_64_0.6.3-33.el5_5.1
    python-virtinst noarch  0.400.3-9.el5                              
    qemu   x86_64_0.9.0-4                                     
    xen-libs_x86_64_3.0.3-105.el5_5.5                           
    xz-libs_x86_64_4.999.9-0.3.beta.20091007git.el5
    7.GuestOs安装
    Virt-install具体用法,请参考man virt-install
    (a)以光驱方式安装(win2003)
    (I)virt-install  --connect qemu:///system  --name win01  --ram 1024  --disk path=/var/lib/libvirt/images/win2k3.img,size=10 --network bridge:br0 --accelerate  --vnc --noautoconsole --cdrom /dev/cdrom-hda 


    Starting install...
    Creating domain...                                                    |    0 B     00:02     
    Domain installation still in progress. You can reconnect to 
    the console to complete the installation process.
    (II)kvm管理端开启virt-manager后,通过Remote tunnel over ssh连接方式连接到kvm服务器.当执行完I步后,将会运行一个win01 Domain,在Virtual Machine Manager选中这个新建的Domain,右击选中Open,输入认证密码后,便可以打开一个console可以远程安装系统了。
    (b)以iso安装(确保selinux关闭,至到我搞懂为至)
    virt-install  --connect qemu:///system  --name debian  --ram 1024  --vcpus=4 --disk path=/var/lib/libvirt/images/debian.img,size=10 --network bridge:br0 --accelerate  --vnc --noautoconsole --cdrom /mnt/debian.iso 
    8管理kvm客户机
    可以通过 virsh命令管理KVM客户机,"virtual shell"。连接到virtual shell,运行
    virsh --connect qemu:///system
    下面就是virtual shell的显示界面:
    [root@server1 ~]# virsh --connect qemu:///system
    Welcome to virsh, the virtualization interactive terminal.

    Type:  'help' for help with commands
           'quit' to quit

    virsh #
    现在你可以在virtual shell中输入命令来管理你的客户 机,运行:
    help
    获得更多的命 令:

    list
    显示所有正在运行的客户机;
    list --all
    显示所有客户机,正在运行的和没有运行的:
    virsh # list --all
    Id Name                 State
    ----------------------------------
      2 vm10                 running

    virsh #

    如果你修改了一个客户机的xml文件(位于/etc/libvirt/qemu/ 目录),你必须重新定义客户机:
    define /etc/libvirt/qemu/vm10.xml
    请注意,无论你何时在/etc/libvirt/qemu/ 中修改了客户机的XML文件,你必须重新运行define 命令!
    启动和停止客户机,运行:
    start vm10
    停止一个客户机,运行
    shutdown vm10
    立即中断一个客户机(类似直接关电源),运行
    destroy vm10
    挂起一个客户机:
    suspend vm10
    恢复客户机:
    resume vm10
    这些都是最重要的命令.
    输入
    quit
    退出virtual shell.

    没找到上传附件的地方,只能将文档全贴上来了,上述文档是参考了http://5ydycm.blog.51cto.com/115934/274902坏男孩的Blog和wiki上的centos安装kvm安装步骤总结出来的,在服务器上安装成功,并运行了多个windows2003,ttylinux系统。

  • 相关阅读:
    【DS】仓库里的财宝(线段树+分块)
    【图论】树链剖分
    Java基础之:集合——Collection——Set
    Java基础之:List——LinkedList
    Java基础之:List——ArrayList & Vector
    Java基础之:集合——Collection——List
    Java基础之:集合——Collection
    Java基础之:日期类
    Java基础之:大数
    Java基础之:Math & Arrays & System
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2501954.html
Copyright © 2011-2022 走看看