设为首页 收藏本站
查看: 535|回复: 0

[经验分享] Centos 6.5_64 KVM虚拟化

[复制链接]

尚未签到

发表于 2018-4-26 12:32:37 | 显示全部楼层 |阅读模式
  Centos 6.5_64 KVM虚拟化
       KVM的软件很好安装,只是想顺利正常的使用估计要费一点事,我在创建虚拟机的时候,出现这样那样的错误,开始是创建虚拟机一直不成功,看了网上的别人的资料,好像网上的资料都一样似得,大同小异。最后还是自己琢磨着解决了问题,后来就是创建成功了安装虚拟机出错,反正是费了一点事,最后问题都解决了,安装的虚拟机配上IP地址也测试成功了。至于遇到的问题,要亲自操作一下,分析下报出的错,对今后工作中就会有很大的帮助,对了查看日志也会对排除错误有很大的帮助。
   准备工作:
       1、关闭防火墙或者开启防火墙
       2、关闭selinux
       3、开启CPU虚拟化
   主机网卡设置:
       1、eth0桥接br0,ip地址为10.11.22.189,用于连接外网
       2、eth1桥接br1,ip地址为192.168.100.100,用于连接内网,NAT的方式在组后有说明。
   准备工作做好后就可以操作安装:
  

      [root@leamon ~]# grep "flags" /proc/cpuinfo |uniq
              flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dts tpr_shadow vnmi ept vpid fsgsbase smep
                  #如果显示信息出现vmx字样就说明CPU支持虚拟化。
      [root@leamon ~]# yum -y install kvm virt-* libvirts bridge-utils qemu-img avahi
              kvm 软件包。kvm 软件包中含有 KVM 内核模块,它可在默认 Linux 内核中提供 KVM 管理程序。
              libvirts                  安装虚拟机管理工具,使用virsh 等命令来管理和控制虚拟机
              bridge-utils              安装网络支持,设置桥接
              virt-*                    创建、克隆虚拟机等命令,以及图形化管理工具virt-manager
              qemu-img                  安装qemu 组件,使用qemu 命令来创建磁盘等
      [root@leamon ~]# modprobe kvm-intel     #加载KVM内核
      [root@leamon ~]# lsmod |grep kvm        #查看模块是否加载成功
              kvm_intel              54285  0
              kvm                   333172  1 kvm_intel
      [root@leamon ~]# reboot
      [root@leamon ~]# lsmod |grep kvm       #重启后再次查看是否加载成功
              kvm_intel              54285  0
              kvm                   333172  1 kvm_intel
      [root@leamon ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0   #配置网卡为bridge桥接模式        
              HWADDR=00:0C:29:FA:EE:2C
              TYPE=Ethernet
              UUID=5a5e60a7-eb49-47e3-9e29-8251635005be
              ONBOOT=yes
              NM_CONTROLLED=yes
              BRIDGE=br0                                       #这里一定要改               
              BOOTPROTO=static
      [root@leamon ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0    #创建bridge网卡
              DEVICE=br0           #设备名字要改成br0
              TYPE=Bridge          #设备类型改成Bridge
              UUID=5a5e60a7-eb49-47e3-9e29-8251635005be
              ONBOOT=yes
              NM_CONTROLLED=yes
              BOOTPROTO=static
              NETMASK=255.255.255.0
              IPADDR=10.11.22.189
              GATEWAY=10.11.22.1
              DNS1=202.96.128.86
      [root@leamon ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1   #修改方法同上
              DEVICE=eth1
              HWADDR=00:0C:29:FA:EE:36
              TYPE=Ethernet
              UUID=6003fe22-4d48-4a80-ba1f-b0464a5fe479
              ONBOOT=yes
              NM_CONTROLLED=yes
              BOOTPROTO=static
              BRIDGE=br1
      [root@leamon ~]# vim /etc/sysconfig/network-scripts/ifcfg-br1
              DEVICE=br1
              HWADDR=00:0C:29:FA:EE:36
              TYPE=Bridge
              UUID=6003fe22-4d48-4a80-ba1f-b0464a5fe479
              ONBOOT=yes
              NM_CONTROLLED=yes
              BOOTPROTO=static
              IPADDR=192.168.100.100
              NETMASK=255.255.255.0
      [root@leamon ~]# service network restart              #重启网络服务
              正在关闭接口 br0:                                         [确定]
              正在关闭接口 eth0:                                        [确定]
              关闭环回接口:                                             [确定]
              弹出环回接口:                                             [确定]
              弹出界面 eth0:                                            [确定]
              弹出界面 eth1:                                            [确定]
              弹出界面 br0: Determining if ip address 10.11.22.189 is already in use for device br0...
                                                                         [确定]
              弹出界面 br1: Determining if ip address 192.168.100.100 is already in use for device br1...
                                                                         [确定]
      [root@leamon ~]# ifconfig                            #查看网卡信息
              br0       Link encap:Ethernet  HWaddr 00:0C:29:FA:EE:2C  
                        inet addr:10.11.22.189  Bcast:10.11.22.255  Mask:255.255.255.0
                        inet6 addr: fd2f:ce52:41eb:0:20c:29ff:fefa:ee2c/64 Scope:Global
                        inet6 addr: fe80::20c:29ff:fefa:ee2c/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:30912 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:5499 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:0
                        RX bytes:1923920 (1.8 MiB)  TX bytes:4992638 (4.7 MiB)
  

              br1       Link encap:Ethernet  HWaddr 00:0C:29:FA:EE:36  
                        inet addr:192.168.100.100  Bcast:192.168.100.255  Mask:255.255.255.0
                        inet6 addr: fd2f:ce52:41eb:0:20c:29ff:fefa:ee36/64 Scope:Global
                        inet6 addr: fe80::20c:29ff:fefa:ee36/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:25296 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:0
                        RX bytes:1625868 (1.5 MiB)  TX bytes:4631 (4.5 KiB)
  

              eth0      Link encap:Ethernet  HWaddr 00:0C:29:FA:EE:2C  
                        inet6 addr: fe80::20c:29ff:fefa:ee2c/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:61129 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:8082 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:1000
                        RX bytes:13445644 (12.8 MiB)  TX bytes:5133092 (4.8 MiB)
  

              eth1      Link encap:Ethernet  HWaddr 00:0C:29:FA:EE:36  
                        inet6 addr: fe80::20c:29ff:fefa:ee36/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:69010 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:1000
                        RX bytes:18577753 (17.7 MiB)  TX bytes:4989 (4.8 KiB)
  

              lo        Link encap:Local Loopback  
                        inet addr:127.0.0.1  Mask:255.0.0.0
                        inet6 addr: ::1/128 Scope:Host
                        UP LOOPBACK RUNNING  MTU:16436  Metric:1
                        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:0
                        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  

              virbr0    Link encap:Ethernet  HWaddr 52:54:00:01:81:A8  
                        inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:0
                        RX bytes:0 (0.0 b)  TX bytes:2474 (2.4 KiB)
  

              vnet0     Link encap:Ethernet  HWaddr FE:54:00:20:AD:8E  
                        inet6 addr: fe80::fc54:ff:fe20:ad8e/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:0 errors:0 dropped:0 overruns:1 carrier:0
                        collisions:0 txqueuelen:500
                        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
  

              vnet1     Link encap:Ethernet  HWaddr FE:54:00:46:97:BA  
                        inet6 addr: fe80::fc54:ff:fe46:97ba/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:0 errors:0 dropped:0 overruns:1 carrier:0
                        collisions:0 txqueuelen:500
                        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
      [root@leamon ~]# brctl show         #查看桥接得到信息
              bridge name     bridge id               STP enabled     interfaces
              br0             8000.000c29faee2c       no              eth0
              br1             8000.000c29faee36       no              eth1
              virbr0          8000.5254000181a8       yes             virbr0-nic
      [root@leamon ~]# cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.panglu-$(date +%F)
      [root@leamon ~]# vi /etc/libvirt/qemu.conf      #配置文件
              # Master configuration file for the QEMU driver.
              # All settings described here are optional - if omitted, sensible
              # defaults are used.
  

              # VNC is configured to listen on 127.0.0.1 by default.
              # To make it listen on all public interfaces, uncomment
              # this next option.
              #
              # NB, strong recommendation to enable TLS + x509 certificate
              # verification when allowing public access
              #
              vnc_listen = "0.0.0.0               #只修改这一行,将前面的#号去掉即可,开起VNC功能
      [root@leamon ~]# service messagebus start   #启动服务
              启动系统消息总线:                                         [确定]
      [root@leamon ~]# service avahi-daemon start
              启动 Avahi 守护进程...                                     [确定]
      [root@leamon ~]# service libvirtd start
              启动 libvirtd 守护进程:                                   [确定]
      [root@leamon ~]# chkconfig messagebus on
      [root@leamon ~]# chkconfig avahi-daemon on
      [root@leamon ~]# chkconfig libvirtd on
      [root@leamon ~]# chkconfig --list|egrep 'messagebus|avahi-daemon|libvirtd'
              avahi-daemon    0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
              libvirtd        0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
              messagebus      0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
      [root@leamon ~]# mkdir -p /data/vmdisk    #创建存放磁盘文件目录
      [root@leamon ~]# mkdir /iso               #创建光盘镜像存放目录
      [root@leamon ~]# dd if=/dev/cdrom of=/iso/centos6.5_64.iso    #我是直接拷贝光驱中光盘的镜像
      [root@leamon ~]# qemu-img create -f qcow2 -o preallocation=metadata /data/vmdisk/leamon.qcow2 10G  
                                       #创建一个名字为leamon1.qcow2大小为10G的磁盘,qcow2是模式
              Formatting '/data/vmdisk/leamon.qcow2', fmt=qcow2 size=10737418240 encryption=off                       cluster_size=65536 preallocation='metadata'
      [root@leamon ~]# virt-install --name leamon1 --ram 512 --vcpus 1 --os-type linux --os-variant rhel6                  --disk path=/data/vmdisk/leamon.qcow2 --network bridge:br0,model=virtio --network                        bridge:br1,model=virtio --cdrom /iso/centos6.5_64.iso --accelerate -v --vnc --                          vncport=5990
                          #命令参数解析
                             --name    给虚拟机起个名字
                             --ram     分配给虚拟机的内存,单位MB
                             --vcpus   分配给虚拟机的cpu 个数
                             --disk    指定虚拟机安装文件路径,如果虚拟机使用lvm分区,这里就指向到lvm的分区就行
                             --network bridge 指定桥接网卡
                             --os-type=linux 要安装的操作系统类型,例如:'linux'、'unix'、'windows'
                             --os-variant=rhel6 操作系统版本
                             --accelerate 表示使用内核加速功能
                             --cdrom 指定磁盘镜像文件的全路径
                             --vnc   表示可以用vnc 进行连接配置
                             --vncport 表示vnc 的端口,-1 表示随机生成端口
                             -d      打印调试信息到终端(安装过程)
  

              开始安装......
              创建域......                                                     |    0 B     00:01     
              无法打开显示:
              运行 'virt-viewer --help' 来查看可用命令行选项的完整列表
              域安装仍在进行。您可以重新连接
              到控制台以便完成安装进程。
          注意:#出现以上信息就可以用VNC连接安装操作系统了。
      [root@leamon ~]# virsh list --all                     #查看虚拟机的运行状态
              Id    名称                           状态
              ----------------------------------------------------
              -     leamon1                        关闭
      [root@leamon ~]# virsh start leamon1                  #启动虚拟机
              域 leamon2 已开始
      [root@leamon ~]# virsh destroy leamon1                #删除虚拟机
              域 leamon1 被删除
      [root@leamon qemu]# vim  /etc/libvirt/qemu/leamon1.xml     #虚拟机的配置文件
              <!--
              WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
              OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
              virsh edit leamon1
              or other application using the libvirt API.
              -->
  

          <domain type='kvm'>
            <name>leamon1</name>         #此处为虚拟机名字
            <uuid>8ceea873-21ae-2a03-a7c7-647e762f864f</uuid>   #uuid标示
            <memory unit='KiB'>1024000</memory>                 #此处为内存
            <currentMemory unit='KiB'>1024000</currentMemory>
            <vcpu placement='static'>1</vcpu>      #此处为cpu核数
          <os>
            <type arch='x86_64' machine='rhel6.6.0'>hvm</type>
            <boot dev='hd'/>     #此处为启动项目,若想从光盘启动可设置为<boot dev='cdrom'/>
          </os>
          <features>
          <acpi/>
          <apic/>
          <pae/>
          </features>
          <clock offset='utc'/>
          <on_poweroff>destroy</on_poweroff>     #此处为关机命令,使用 virsh destroy leamon1 关闭虚拟机
          <on_reboot>restart</on_reboot>
          <on_crash>restart</on_crash>
          <devices>
          <emulator>/usr/libexec/qemu-kvm</emulator>
          <disk type='file' device='disk'>       #此处为硬盘信息
            <driver name='qemu' type='raw' cache='none'/>
            <source file='/data/vmdisk/leamon.qcow3'/>
            <target dev='vda' bus='virtio'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
          </disk>
          <disk type='block' device='cdrom'>     #此处为cdrom信息,可修改为iso的路径
            <driver name='qemu' type='raw'/>
            <target dev='hdc' bus='ide'/>
            <readonly/>
          <address type='drive' controller='0' bus='1' target='0' unit='0'/>
          </disk>
          <controller type='usb' index='0' model='ich9-ehci1'>    #此处为usb接口信息
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci1'>
            <master startport='0'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci2'>
            <master startport='2'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
          </controller>
          <controller type='usb' index='0' model='ich9-uhci3'>
            <master startport='4'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
          </controller>
          <controller type='ide' index='0'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
          </controller>
          <interface type='bridge'>                #此处为网卡1信息,使用bridge桥接模式连接virbr0联网
            <mac address='52:54:00:20:ad:8e'/>
            <source bridge='br0'/>
            <model type='virtio'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
          </interface>
          <interface type='bridge'>                #此处为网卡2信息,使用bridge桥接方式到br1连接内网
            <mac address='52:54:00:46:97:ba'/>
            <source bridge='br1'/>
            <model type='virtio'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
          </interface>
                  #若要添加网卡可新加配置,注意修改mac地址
          <serial type='pty'>
            <target port='0'/>
          </serial>
          <console type='pty'>
            <target type='serial' port='0'/>
          </console>
          <input type='tablet' bus='usb'/>
          <input type='mouse' bus='ps2'/>
          <graphics type='vnc' port='5988' autoport='no'/>   #此处为VNC连接端口,我的是5988,克隆的主机要改此端口
          <video>
            <model type='cirrus' vram='9216' heads='1'/>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
          </video>
          <memballoon model='virtio'>
            <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
          </memballoon>
       </devices>
     </domain>
  

  说明:修改配置的时候需要关闭KVM virsh destroy leamon1,使用virsh define leamon1.xml使配置生效,使用virsh start leamon1启动虚拟机,如果使用NAT的方式一定要确认开启转发功能,
      [root@leamon qemu]# more /proc/sys/net/ipv4/ip_forward
         1
  克隆虚拟机的话要关闭模板机后克隆,然后手动更改xml配置文件的vnc端口,重启libvirtd服务使更改的端口生效,最简单的就是直接复制模板机的文件进行克隆,
      [root@leamon ~]#cp /data/vmdisk/leamon.qcow2 /date/vmdisk/leamon-3.qcow2
      [root@leamon ~]#cp /etc/libvirt/qemu/leamon1.xml /etc/libvirt/qemu/leamon-3.xml
                #复制完了虚拟机的文件后要修改相应的参数,要不然会报错,UUID可以任意修改,保证唯一;MAC地址可以随意修改,也要保证唯一;修改VNC端口,别冲突就行;还有虚拟磁盘信息及主机名字。
      [root@leamon ~]# virsh define leamon-3.xml       #创建虚拟机
      [root@leamon ~]# virsh start leamon-3            #启动虚拟机
      [root@leamon ~]#virsh autostart leamon1          #设置虚拟机自启动
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-452305-1-1.html 上篇帖子: 在CentOS6.7上编译安装MySQL 5.7.11 下篇帖子: centos7安装openstack
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表