KVM之基础概念

1.  云计算概述

    1.  传统数据中心面临的问题

       1.  IDC托管:

         买服务器-放到IDC-安装系统-部署应用-买域名-绑定-对外访问

            ICP备-ICP证-文网文

       2.  IDC租用

       3.  VPS

       4.  虚拟主机:最便宜

       缺点:资源利用率低

          资源分配不合理

          自动化能力差

          初始成本高

    2.  云计算是什么

       1.  云计算是一种模式

       2.  云计算必须通过网络使用

       3.  弹性计算,按需付费,快速扩展

       4.  不用关心太多基础设施,都由云计算提供商提供

    3.  云计算的分类

       1.  公有云:阿里云,青云

       2.  私有云:自己搭建云

       3.  混合云:主要业务都在私有云,部分业务在公有云

    4.  云计算的分层

       1.  传统数据中心

       2.  基础设施即服务Iaas  openstack  cloudstack

            Iaas把厂商的由多台服务器组成的云端基础设施,作为计量服务提供给客户。

            优势:  用户只需低成本获得所需的硬件资源,按需租用相应计算能力,存储容量,网络贷款,而且省去了硬件运维方面的成本

       3.  平台即服务Paas   新浪sae  docker

            这是一种分布式平台服务,厂商提供开发环境,服务器平台,硬件资源等服务给客户,用户在其平台基础上定制开发自己的应用程序并通过其服务器和互联网传递给其他客户。

       4.  软件即服务Saas  企业邮箱SAE

            Saas提供商将应用软件统一部署在自己的服务器上,用户根据需求通过互联网向厂商订购应用软件服务,服务提供商根据客户所定软件的数量,时间的长短等因素收费,并且通过浏览器向客户提供软件的模式。

            优势:  客户无需花费大量资金在硬件,软件和维护服务,适合小型企业                    

2.  内核级虚拟化技术  Kernel-based Virtual Machine

   1.  虚拟化分类

      1.  硬件虚拟化  KVM

      2.  软件虚拟化  QEMU  vmware

          通过软件来仿真X86平台处理器的取址,解码和执行

      3.  全虚拟化  KVM

      4.  半虚拟化  xen

3.  KVM介绍

    1.  KVM功能介绍

        1.  内存管理

            一个虚拟机的内存与任何其他Linux进程的内存一样进行存储,可以以大页面的形式进行交换以实现更高的性能,也可以以磁盘文件的形式进行共享。

        2.  存储

            KVM能使用Linux支持的任何存储来存储虚拟机镜像

        3.  设备驱动程序

        4.  性能和可伸缩性 

    2.  KVM架构               

        

    3.  KVM的整体结构

        从GUI到Linux内核,包括以下五个组件:

        1) virt-manager

          一个用来管理VM的GUI/CUI用户接口;它使用libvirt api 调用VM的各种功能。

        2) libvirt

          一个工具及接口,作为较通用的服务器虚拟化软件,它支持Xen,VMware ESXi/GSX,当然,还有QEMU/KVM。

        3) QEMU

          一个和KVM内核模块交互的模拟器,处理多种客户机系统请求如I/O;一个QEMU进程对应一个客户机系统。

        4) KVM内核模块

          从狭义上来说,KVM是一个Linux内核模块,处理客户机系统的VM Exits和执行VM Entry指令。

        5) Linux内核

          既然QEMU作为一个普通的用户进程运行,相应客户机系统的调度就由Linux内核自己来处理。

    4.  KVM网络配置

        1.  QEMU支持的网络模式

            1.  基于网桥的虚拟网卡

                网桥模式可以让客户机喝宿主机共享一个物理网络设备连接网络,客户机有自己的独立IP地址,可以直接连接与宿主机一模一样的网络

            2.  基于NAT的虚拟网络

            3.  QEMU内置的用户模式网络

            4.  直接分配网络设备的网络 

    5.  KVM存储配置

        1.  qemu-img命令

            1.  check  

                对磁盘文件进行一致性检查,只支持qcow2,qed,vdi格式文件的检查

                qemu-img  check vm1.qcow2

            2.  create [-f fmt] [-o options] filename [size]

                qemu-img create -f raw /opt/centos.raw 20G

            3.  commit [-f fmt] filename

                提交filename文件中的更改到后端支持镜像文件

            4.  convert [-c] [-f fmt] [-O output_fmt] [-o options] filename output_filename

                转换文件格式

                qemu-img convert -f raw -O qcow2 /kvm/vfs/vm1.raw /kvm/vfs/vm1.qcow2

            5.  info [-f fmt] filename

                展示filename文件的信息

            6.  snapshot [-l | -a snapshot | -c snapshot | -d snapshot] filename

                -l  列出所有快照

                -a  使用某个快照

                -c  创建一个快照

                    qemu-img snapshot -c test1 vm1.qcow2

                -d  删除一个快照

                    qemu-img snapshot -d test1 vm1.qcow2

            7.  resize filename [+|-] size

                qemu-img  resize vm1.raw +5G

        2.  qemu支持的镜像文件格式

            1.  raw

                qemu-img默认的文件格式

                优点:简单,易移植

            2.  qcow2

                推荐的镜像格式

                优点:支持加密,节省空间,支持压缩,支持快照                                                                                                                     

4.  构建KVM环境

    1.  硬件系统的配置

        1.  CPU要支持虚拟技术

            通过检查/proc/cpuinfo文件中的flags来查看CPU是否支持硬件虚拟化

            grep -E '(vmx|svm)' /proc/cpuinfo

            Intel系列标志:vmx

            AMD系列标志:svm                        

        2.  BIOS要将虚拟技术打开

    2.  安装宿主系统Linux

    3.  安装KVM

        1.  yum install -y qemu-kvm qemu-kvm-tools libvirt virt-manager

        2.  启动libvirt。systemctl enable libvirtd.service;systemctl start libvirtd.service  管理kvm.

            启动libvirt服务以后,会添加一个桥接网卡virbr0,IP地址为192.168.122.1。

            同时会产生一个进程dnsmasq.

            ps aux | grep dns

                                     

5.  创建kvm虚拟机

    1.  yum install virt-install -y

              2.  qemu-img create -f raw /opt/centos.raw 20G

    3.  mkdir -p /home/tools

    4.  yum install -y lrzsz

    5.  virt-install --virt-type kvm --name cento7 --ram 1024 --cdrom=/home/tools/centos7.iso  --disk path=/opt/centos.raw --network network=default --noautoconsole                    

posted @ 2018-04-14 00:21  奋斗史  阅读(179)  评论(0)    收藏  举报