KVM虚拟化的实现

Kvm虚拟化实现
1     什么是KVM
       KVM是一种虚拟化的技术,目前一些云计算是通过KVM去实现的
2     实现目的
      2.1 为搭建openstack打基础
      2.2 Vmware收费啊
3    KVM技术组成部分

KVM虚拟化的实现_第1张图片
 
    KVM技术主要有两个部分组成:KVM驱动和qemu
    kvm 驱动,现在已经是linux kernel的一个模块了。其主要负责虚拟机的创建,虚拟内存的分配,VCPU寄存器的读写以及VCPU的运行。
    另个组成是Qemu,用于模拟虚拟机的用户空间组件,提供I/O设备模型,访问外设的途径。

KVM虚拟化的实现_第2张图片
 
4    KVM的搭建
     4.1 查看机器本身是否支持KVM (主要是CPU支持)
              grep -E '(vmx|svm)' /proc/cpuinfo

KVM虚拟化的实现_第3张图片
 
     4.2 添加安装包:
              yum install qemu-kvm qemu-kvm-tools virt-manager libvirt
              qemu-kvm qemu-kvm-tools:qemu管理工具
               virt-manager: 虚拟机创建
               libvirt :virt-manager会调用libvirt
     4.3 启动libvirt:/etc/init.d/libvirtd start
     4.4 创建虚拟机准备工作(创建硬盘 和 上传镜像 )
              创建硬盘:qemu-img create -f raw /opt/Centos-6.6 .raw 5G
               -f 指定文件格式

191232_MS7h_2313186.png
                查看硬盘信息:
                file raw /opt/Centos-6.6 .raw
                qemu-img info /opt/Centos-6.6 .raw
KVM虚拟化的实现_第4张图片   
                上传镜像:(ISO文件镜像放在宿主机内)
     4.5 创建虚拟机
              virt-install   --name   Centos-6.7-x86_64
              --virt-type  kvm
              --ram  1024
              --cdrom=/opt/Centos-6.7.iso
              --disk  path=/opt/Centos-6.6.raw
              --network  network=default
              --graphics  vnc,listen=0.0.0.0
               --noautoconsole

191308_qi9v_2313186.png

      4.6 启动VNC服务并通过客户端连接
 KVM虚拟化的实现_第5张图片
                       进行装机配置

 
5     KVM的管理:虚拟化管理工具 libvirt (如果libvirt服务挂掉 虚拟机照常运行 但是管理不了虚拟机)

       5.1 查看虚拟机:
                virsh list // 正在运行的虚拟机
                virsh list --all 所有的虚拟机(运行的和没有运行的)
        5.2 启动虚拟机:
                 virsh start Centos-6.7-x86_64
        5.3 停止虚拟机
                virsh shutdown Centos-6.7-x86_64
                virsh distory Centos-6.7-x86_64
        5.4 编辑虚拟机
                 virsh edit Centos-6.7-x86_64
                 5.4.1 cpu 热添加: 更改XML (文件位置: /etc/libvirt/qemu/)
 191346_2CU6_2313186.png
                            virsh shutdown Centos-6.7-x86_64
                            virsh start Centos-6.7-x86_64

                             更改CPU个数:
                            virsh setvcpus Centos-6.7-x86_64 2 –live
                             进入虚拟机查看CPU个数:
                              如果没有变:则需要手动激活
                              cat /sys/devices/system/cpu/cpu1/online 如果为0 设置为1
                             echo 1 > /sys/devices/system/cpu/cpu1/online // 添加几块设置几个
                5.4.2 内存热增加和减少:总数不能超过最大内存
                             virsh edit Centos-6.7-x86_64 编辑
                             查看当前内存:
                             virsh qemu-monitor-command Centos-6.7-x86_64 --hmp --cmd info balloon
                             减少内存:
                             virsh qemu-monitor-command Centos-6.7-x86_64 --hmp –cmd balloon 600
                             增加内存:
                             virsh qemu-monitor-command Centos-6.7-x86_64 --hmp --cmd balloon 2048
                 5.4.3 删除虚拟机:
                             virsh undefine Centos-6.7-x86_64
                             (删除就永远消失了 除非备份XML文件)
                             virsh resume Centos-6.7-x86_64 (恢复虚拟机)

 

6.     网络问题

       6.1:装机完成以后,通过VNC进入系统没有网络问题
KVM虚拟化的实现_第6张图片

                 问题原因:网络配置文件中onboot没有开启
                 解决办法:vi /etc/sysconfig/network-script/ifcfg-eth0 将onboot设置为yes
                 重启网络
                 安装ifconfig : yum install net-tools

妈的!终于起来了。。。。。。。。。。。。。。。。

 

 

 

 

 

 

转载于:https://my.oschina.net/u/2313186/blog/862016

你可能感兴趣的:(运维,数据结构与算法,5g)