• 设备
    • 今日
    • 0

    Centos KVM虚拟机安装和配置

    Centos 6.4 KVM安装和配置
    测试使用环境:
    服务器:Dell R710  CPU型号 物理CPU颗数 内存大小和数量
    [root@localhost ~]# cat /proc/cpuinfo | grep name | cut -d: -f2 | uniq -c
    16  Intel(R) Xeon(R) CPU           L5520  @ 2.27GHz
    [root@localhost ~]# cat /proc/cpuinfo | grep physical | sort -n | uniq -c
    16 address sizes   : 40 bits physical, 48 bits virtual
    8 physical id     : 0
    8 physical id     : 1
    ##说明两颗物理cpu
    [root@localhost ~]# dmidecode|grep -A5 "Memory Device"|grep Size | cut -d: -f2 | sort -n | uniq -c
    10  No Module Installed
    8  4096 MB
    ##接了8根内存,每根内存大小4G
    ##还有相关命令
    ##dmidecode  | grep -A16 "Memory Device" | grep Speed | sort -n | uniq -c
    [root@localhost ~]# dmidecode|grep  'Maximum Capacity'
    Maximum Capacity: 288 GB
    操作系统Centos 6.4 64位系统
    [root@localhost ~]# cat /etc/issue
    CentOS release 6.4 (Final)CentOS release 6.5 (Final)
    Kernel \r on an \m
    本文介绍如何安装KVM,在宿主机上如何安装操作系统,添加分离磁盘,软驱,光驱和更改ISO镜像文件,如何克隆Guest系统主机。
    一、检查CPU是否支持虚拟化。(在主板BIOS中开启CPU的VirtualizationTechnology)
    [root@localhost ~]# uname -a
    Linux localhost.localdomain 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    [root@localhost ~]# grep -E -o 'vmx|svm' /proc/cpuinfo
    vmx
    二、安装kvm
    [root@localhost ~]#yum -y install qemu-kvm libvirt python-virtinst bridge-utils
    或者
    ##yum -y groupinstall 'Virtualization' 'Virtualization Client' 'Virtualization Platform' 'Virtualization Tools'
    ##查看模块
    [root@localhost ~]#  lsmod | grep kvm
    kvm_intel              53484  6
    kvm                   316506  1 kvm_intel
    a.网卡桥接配置
    rpm -qa | grep bridge
    bridge-utils-1.2-10.el6.x86_64
    建立网桥配置文件
    vi /etc/sysconfig/network-scripts/ifcfg-macbr0
    DEVICE=macbr0
    TYPE=Bridge
    BOOTPROTO=static
    IPADDR=192.168.1.111
    NETMASK=255.255.255.0
    ONBOOT=yes
    将网卡eth1加入到网桥中
    DEVICE=eth1
    TYPE=Ethernet
    UUID=5b3e8722-6378-467c-b613-ab6b24673514
    ONBOOT=yes
    NM_CONTROLLED=yes
    BOOTPROTO=none
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=yes
    IPV6INIT=no
    NAME="Local eth1"
    IPADDR=192.168.1.110
    BRIDGE=macbr0
    PREFIX=24
    GATEWAY=192.168.1.1
    DNS1=192.168.1.1
    HWADDR=08:94:EF:05:78:09
    LAST_CONNECT=1469091943
    [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-em1
    DEVICE="em1"
    BOOTPROTO="none"
    HWADDR="00:24:E8:60:49:66"
    ONBOOT="yes"
    TYPE="Ethernet"
    IPADDR=192.168.18.138
    NETMASK=255.255.255.192
    GATEWAY=192.168.18.129
    DNS1=202.102.134.68
    DNS2=202.102.128.68
    IPV6INIT=no
    USERCTL=no
    BRIDGE=br0
    [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
    DEVICE="br0"
    BOOTPROTO="none"
    HWADDR="00:24:E8:60:49:66"
    ONBOOT="yes"
    TYPE="Bridge"
    IPADDR=192.168.18.138
    NETMASK=255.255.255.192
    GATEWAY=192.168.18.129
    DNS1=202.102.134.68
    DNS2=202.102.128.68
    IPV6=no
    USERCTL=no
    ##重启网卡
    /etc/init.d/network restart
    [root@localhost ~]# ip route list
    192.168.18.128/26 dev br0  proto kernel  scope link  src 192.168.18.138
    192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
    169.254.0.0/16 dev br0  scope link  metric 1006
    default via 192.168.18.129 dev br0
    [root@localhost ~]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.0024e8604966       no              em1
    virbr0          8000.52540098e2ed       yes             virbr0-nic
    b.创建虚拟机(创建宿主机的Guest系统)Guest系统可以是linux 或者windows等系统
    我们使用管理工具virt-install
    ##创建存储镜像目录
    [root@localhost ~]# mkdir -p /home/kvm/images
    安装guest操作系统
    [root@localhost ~]# virt-install --connect qemu:///system \
    -n win2003 \
    -r 1024 \
    --vcpus=2 \
    --disk path=/home/kvm/images/win2003.img,cache=writeback,size=10 \
    -c /home/iso/WIN_2003.iso \
    --vnc --vnclisten=0.0.0.0 --vncport=5901 --noautoconsole \
    --os-type windows \
    --accelerate --network bridge=br0 \
    --hvm --os-variant=win2k3
    ##下面对virt-install命令做简单介绍,详细可以查看virt-install  --help
    --connect=URI
    ##连接到虚拟机管理程序与libvirt的URI,如qemu:///system
    -r MEMORY, --ram=MEMORY
    ##分配虚拟机实例(Guest)内存,单位为M
    -n NAME, --name=NAME
    ##虚拟机实例(Guest)的名称
    --vcpus=VCPUS
    ##配置实例(Guest)CPU数目
    --disk path=DISKFILE
    ##指定实例(Guest)存储路径及其镜像
    -c CDROM, --cdrom=CDROM
    ##指定安装镜像所在位置和名称, 它可以是一个ISO映像的路径, 它也可以是一##个URL,从中提取/访问的最小引导ISO映像。
    --vnc
    ##启用VNC远程管理,该选项不被赞同,可以用"--graphics vnc,..."代替
    --vnclisten=VNCLISTEN
    ##可以用"--graphics vnc,listen=LISTEN,..." 代替
    --vncport=VNCPORT
    ##可以用"--graphics vnc,port=PORT,..."代替
    --noautoconsole
    ##不要自动尝试连接到guest虚拟机控制台。默认行为是启动一个VNC客户端显##示的图形控制台
    --os-type=OS_TYPE
    ##优化实例(Guest)配置操作系统类型如linux或windows
    --os-variant=OS_VARIANT
    ##优化实例(Guest)配置一个特定的操作系统(如##win7,winxp,win2k3,win2k8,rhel6)
    --hvm
    ##要求使用完全虚拟化
    --accelerate 
    ##加速该选项已经过时可以参考--virt-type qemu
    -w NETWORK, --network=NETWORK,opt1=val1,opt2=val2
    ## 实例(Guest)连接到主机的网络, 网桥--network bridge=br0,用nat路由出站##--network network=default
    ##==========================================
    ##列表(Guest) win2003
    virsh -c qemu:///system list --all
    ##启动Guest) win2003
    virsh -c qemu:///system start win2003
    ##关闭(Guest) win2003
    virsh -c qemu:///system destroy win2003
    ##编辑(Guest) win2003配置文件xml
    virsh -c qemu:///system edit win2003
    ##删除(Guest) win2003
    virsh -c qemu:///system undefine win2003
    ##man virsh 可以了解命令
    三、我们来创建实例(Guest)win3test
    1)首先创建磁盘镜像文件,
    文件格式qcow2格式是kvm支持的标准格式,raw格式为虚拟磁盘文件通用格式。
    创建文件名win3test.qcow2的磁盘镜像文件名,文件格式为qcow2,磁盘大小为10G
    [root@localhost ~]# qemu-img create -f qcow2 /home/kvm/images/win3test.qcow2 15G
    Formatting '/home/kvm/images/win3test.qcow2', fmt=qcow2 size=16106127360 encryption=off cluster_size=65536
    [[root@localhost ~]# qemu-img info /home/kvm/images/win3test.qcow2
    image: /home/kvm/images/win3test.qcow2
    file format: qcow2
    virtual size: 15G (16106127360 bytes)
    disk size: 264K
    cluster_size: 65536
    2)内存1G,2核CPU ,15G硬盘安装window 2003系统
    virt-install --connect qemu:///system \
    --name win3test \
    --ram 1024 \
    --vcpus=2 \
    --disk path=/home/kvm/images/win3test.qcow2,device=disk,format=qcow2,bus=ide,cache=writeback,size=15 \
    --cdrom /home/iso/WIN_2003.iso --os-type=windows \
    --network bridge=br0,model=virtio,model=e1000 \
    --hvm --os-variant=win2k3 \
    --graphics vnc,listen=0.0.0.0,port=5902 \
    --virt-type=kvm \
    --noautoconsole
    Centos 6.4 KVM安装和配置 - Robby - Robby工作室
    四、我们来创建实例(Guest)linuxtest。
    1)创建文件名linuxtest.qcow2的磁盘镜像文件,文件格式为qcow2,磁盘大小为73G
    [root@localhost ~]# qemu-img create -f qcow2 /home/kvm/images/linuxtest.qcow2 73G
    Formatting '/home/kvm/images/linuxtest.qcow2', fmt=qcow2 size=78383153152 encryption=off cluster_size=65536
    ##=======================================================
    [root@localhost ~]# qemu-img info /home/kvm/images/linuxtest.qcow2
    image: /home/kvm/images/linuxtest.qcow2
    file format: qcow2
    virtual size: 73G (78383153152 bytes)
    disk size: 136K
    cluster_size: 65536
    ##=========================================================
    2)内存4G,4核CPU ,73G硬盘安装centos 6.4  64位系统
    [root@localhost ~]#virt-install --connect qemu:///system \
    --name linuxtest \
    --ram 4096 \
    --vcpus=4 \
    --disk path=/home/kvm/images/linuxtest.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=73 \
    --location='http://mirrors.163.com/centos/6.4/os/x86_64/' \
    --os-type=linux \
    --network bridge=br0,model=virtio,model=e1000 \
    --hvm --os-variant=rhel6 \
    --graphics vnc,listen=0.0.0.0,port=5903 \
    --virt-type=kvm \
    --noautoconsole
    4)virtio半虚拟化驱动来提高性能(微软操作系统的IO性能)
    下面安装Windows server 2003 Enterprise
    wget http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/virtio-win-0.1-52.iso
    wget http://www.linuxwind.org/download/virtio-win-0.1-52.tar.gz
    ##解压
    tar zxvf virtio-win-0.1-52.tar.gz
    安装系统的时候记得按F6从软驱加载驱动
    内存4G,4核CPU ,15G硬盘安装windows server 2003系统
    [root@localhost ~]# virt-install --connect qemu:///system \
    --name win3test \
    --ram 4096 \
    --vcpus=4 \
    --disk path=/home/kvm/images/win3test.qcow2,device=disk,format=qcow2,bus=virtio,cache=none,size=15 \
    --cdrom /home/iso/WIN_2003.iso --os-type=windows \
    --disk path=/home/iso/virtio-WIN2003-x86.vfd,device=floppy,perms=rw \
    --network bridge=br0,model=virtio,model=e1000 \
    --hvm --os-variant=win2k3 \
    --graphics vnc,listen=0.0.0.0,port=5902 \
    --virt-type=kvm \
    --noautoconsole
    ##===================================
    Centos 6.4 KVM安装和配置 - Robby - Robby工作室
    ##win3test.xml如下
    [root@localhost ~]# cat /etc/libvirt/qemu/win3test.xml
    win3test
    9fd1785e-430a-2aa7-050a-ed76247c7e64
    4194304
    4194304
    4
    hvm
    destroy
    restart
    restart
    /usr/libexec/qemu-kvm
    ##=============================
    ##红色部分为软驱,稍后要卸载(做模版的时候)
    ##先关机分离软驱
    [root@localhost ~]# virsh -c qemu:///system destroy win3test
    [root@localhost ~]# virsh detach-disk win3test fda --persistent
    成功分离磁盘
    4)克隆备份虚拟机
    a)克隆windows server 2003模板
    [root@localhost ~]#virt-clone --original win3test --name 03template --file /home/kvm/images/03template.qcow2
    或者
    [root@localhost ~]#virt-clone \
    --original win3test \
    --name 2003template \
    --file /home/kvm/images/2003template.qcow2
    ##编辑配置03template.xml修改vnc端口修改为5905
    [root@localhost ~]# vi /etc/libvirt/qemu/03template.xml
    ##1)添加分离磁盘===========================
    ##启动(Guest)win3test
    [root@localhost ~]# virsh -c qemu:///system start win3test
    ##创建磁盘格式raw,添加磁盘 vdb
    [root@localhost ~]#qemu-img create -f raw /home/kvm/images/vm-add.img 1G
    ##成功热加载vdb硬盘,硬盘在系统上能正常使用
    [root@localhost ~]#virsh attach-disk win3test /home/kvm/images/vm-add.img vdb \
    --cache none –persistent
    ##分离磁盘vdb
    [root@localhost iso]# virsh detach-disk win3test vdb --persistent
    ##======================================
    ##======================================
    ##关闭(guest)win3test
    [root@localhost ~]# virsh -c qemu:///system destroy win3test
    ##添加IDE硬盘,文件格式qcow2(系统开启来后无法使用新增磁盘,应该是BUG)
    [root@localhost ~]# qemu-img create -f qcow2 /home/kvm/images/vm-add.qcow2 1G
    [root@localhost ~]# virsh attach-disk win3test /home/kvm/images/vm-add.qcow2 hde \
    --cache none --persistent --subdriver qcow2
    ##分离IDE磁盘关,闭系统后操作
    [root@localhost iso]# virsh detach-disk win3test hde --persistent
    ##======================================
    ##======================================
    ##(guest)win3test关机状态的时候能成功添加,但是启动报错,应该是BUG
    [root@localhost ~]#virsh attach-disk win3test /home/kvm/images/vm-add.qcow2 vdb \
    --address pci:0000.00.06.0 --persistent \
    --driver qemu --subdriver qcow2 --sourcetype file
    virsh # start win3test
    错误:开始域 win3test 失败
    错误:internal error Process exited while reading console log output: char device redirected to /dev/pts/0
    qemu-kvm: -drive file=/home/kvm/images/vm-add.qcow2,if=none,id=drive-virtio-disk1,format=qcow2: could not open disk image /home/kvm/images/vm-add.qcow2: Invalid argument
    ##分离vdb磁盘
    [root@localhost iso]# virsh detach-disk win3test vdb --persistent
    ##======================================
    ##======================================
    ##(guest)win3test开机状态添加磁盘成功,但是磁盘无法读写。因为磁盘文件为qcow2
    [root@localhost ~]#virsh attach-disk win3test /home/kvm/images/vm-add.qcow2 vdb \
    --persistent
    ##分离磁盘
    [root@localhost ~]# virsh detach-disk win3test vdb --persistent
    成功分离磁盘
    ##======================================
    ##2)添加分离软驱=============================
    ##添加fda软盘(guest)win3test关机后操作
    [root@localhost ~]#virsh attach-disk win3test /home/iso/virtio-WIN2003-x86.vfd fda \
    --type floppy –persistent
    ##分离fda软驱
    [root@localhost ~]#virsh detach-disk win3test fda --persistent
    ?
    成功分离磁盘
    ##======================================
    ##3)添加分离光驱=============================
    ##添加分离光驱(guest)win3test关机后操作
    [root@localhost~]# virsh detach-disk win3test hdc --persistent
    成功分离磁盘
    ##加载光驱
    [root@localhost ~]#virsh attach-disk win3test /home/iso/WIN_2003.iso hdc \
    --type cdrom –persistent
    ##======================================
    ##换iso镜像文件
    [root@localhost ~]#virsh change-media win3test hdc /home/iso/virtio-win-0.1-52.iso
    succeeded to complete action update on media
    ##弹出镜像文件
    [root@localhost ~]#virsh change-media win3test hdc --eject
    b)克隆Centos 6.2系统模板
    virt-clone \
    --original linuxtest \
    --name Centostemplate \
    --file /home/kvm/images/Centostemplate.qcow2
    ##列表guest系统
    [root@localhost ~]#virsh -c qemu:///system list --all
    Id    名称                         状态
    ----------------------------------------------------
    -     linuxtest                      关闭
    -     win3test                       关闭
    [root@localhost ~]#virt-clone \
    > --original linuxtest \
    > --name Centostemplate \
    > --file /home/kvm/images/Centostemplate.qcow2
    正在克隆 linuxtest.qcow2                             | 2.0 GB     00:05 
    Clone 'Centostemplate' created successfully.
    ##编辑xml修改vnc端口修改为5904
    [root@localhost ~]#virsh -c qemu:///system edit Centostemplate
    [root@localhost ~]#cat /etc/libvirt/qemu/Centostemplate.xml
    Centostemplate
    8b5f02f2-ee18-376a-4388-3e8ffff64c06
    4194304
    4194304
    4
    hvm
    destroy
    restart
    restart
    /usr/libexec/qemu-kvm
    ##===================================
    ##启动Centostemplate
    [root@localhost ~]# virsh -c qemu:///system start Centostemplate
    [root@localhost ~]# virsh -c qemu:///system list --all
    Id    名称                         状态
    ----------------------------------------------------
    22    Centostemplate                 running
    -     linuxtest                      关闭
    -     win3test                       关闭
    ##用VNC连接
    ##登陆进系统删除网卡的MAC和70-persistent-net.rules然后重启机器(这样网卡不会冲突能启动)
    [root@localhost ~]# rm /etc/udev/rules.d/70-persistent-net.rules
    Centos 6.4 KVM安装和配置 - Robby - Robby工作室
    ##关闭(Guest) Centostemplate
    [root@localhost ~]#virsh -c qemu:///system destroy Centostemplate
    ##删除(Guest) Centostemplate
    [root@localhost ~]#virsh -c qemu:///system undefined Centostemplate
    ##关于网桥,查看mac地址
    [root@localhost ~]#brctl showmacs br0
    ##网桥设置mac生存期
    [root@localhost ~]#brctl setageing br0 30
    ##xml虚拟机配置文件目录
    /etc/libvirt/qemu

    KVM命令:
    查看虚拟机列表:
    virsh list --all

    启动虚拟机
    virsh start ete111


    来自:PC 广东省广州市
    上一篇: Linux下安装,卸载VMware Workstation
    您可能还喜欢这些:

    亲,沙发正空着,还不快来抢?

    评论审核已开启:即评论经审核才能正常显示! 记住我的个人信息 回复后邮件通知我