kvm 安装

匿名 (未验证) 提交于 2019-12-02 23:42:01

 一、  虚拟化

       是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。

      虚拟化使用软件的方法重新定义划分 IT 资源,可以实现 IT 资源的动态分配、灵活调度、跨域共享,提高 IT 资源利用率,使 IT 资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求

KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。IO 的虚拟化,就交给 Linux 内核和qemu来实现。

 

Libvirt:是 KVM 的管理工具。Libvirt 除了能管理 KVM 这种 Hypervisor,还能管理 Xen,VirtualBox 等。OpenStack 底层也使用 Libvirt。

 

Libvirt 包含 3 个东西:后台 daemon 程序 libvirtd、API 库和命令行工具 virsh

  (1)libvirtd是服务程序,接收和处理 API 请求;

  (2)API 库使得其他人可以开发基于 Libvirt 的高级工具,比如 virt-manager,这是个图形化的 KVM 管理工具,后面我们也会介绍;

  (3)virsh 是我们经常要用的 KVM 命令行工具,后面会有使用的示例。作为 KVM 和 OpenStack 的实施人员,virsh 和 virt-manager 是一定要会用的。

 二、虚拟化kvm发展:

     2006 年 10 月由以色列的 Qumranet 组织开发的一种新的“虚拟机”方案,并将其贡献给开源世界

 

     2007 年 2 月于 Linux Kernel-2.6.20 中第一次包含了 KVM

 

 

     2009 年 9 月,红帽发布其企业级 Linux 的 5.4 版本( RHEL5.4 ),在原先的 Xen 虚拟化机制之上,将 KVM 添加了进来

 

     2010 年 11 月,红帽发布其企业级 Linux 的 6.0 版本( RHEL6.0 ),这个版本将默认安装的 Xen 虚拟化机制彻底去除,仅提供 KVM 虚拟化机制

 

       2011 年初,红帽的老搭档 IBM 找上红帽,表示 KVM 这个东西值得加大力度去做。于是到了 5 月, IBM 和红帽,联合惠普和英特尔一起,成立了开放虚拟化联盟( Open Virtualization Alliance ),一起声明要提升 KVM 的形象,加速 KVM 投入市场的速度,由此避免 VMware 一家独大的情况出现。联盟成立之时,红帽的发言人表示, 大家都希望除 “ VMware 之外还有一种开源选择。未来的云基础设施一定会基于开源

 

     自 Linux 2.6.20 之后逐步取代 Xen 被集成在Linux 的各个主要发行版本中,使用 Linux 自身的调度器进行管理。

 

三、虚拟化架构分类

         (1)1型虚拟化

            

 

             Hypervisor 直接安装在物理机上,多个虚拟机在 Hypervisor 上运行。Hypervisor 实现方式一般是一个特殊定制的 Linux 系统。Xen 和 VMWare 的 ESXi 都属于这个类型。

          (2)2型虚拟化

            

 

            物理机上首先安装常规的操作系统,比如 Redhat、Ubuntu 和 Windows。Hypervisor 作为 OS 上的一个程序模块运行,并对管理虚拟机进行管理。KVM、VirtualBox 和 VMWare Workstation 都属于这个类型。

四、kvm安装

 yum install kvm virt-manager libvirt libvirt-python python-virtinst libvirt-client qemu-kvm qemu-img

 

Kvm:负责cpu和内存的虚拟化

Qemu:负责I/O设备的虚拟化

 

KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。IO 的虚拟化,就交给 Linux 内核和qemu来实现。

 

Libvirt:是 KVM 的管理工具。Libvirt 除了能管理 KVM 这种 Hypervisor,还能管理 Xen,VirtualBox 等。OpenStack 底层也使用 Libvirt。

 

Libvirt 包含 3 个东西:后台 daemon 程序 libvirtd、API 库和命令行工具 virsh

  (1)libvirtd是服务程序,接收和处理 API 请求;

  (2)API 库使得其他人可以开发基于 Libvirt 的高级工具,比如 virt-manager,这是个图形化的 KVM 管理工具,后面我们也会介绍;

  (3)virsh 是我们经常要用的 KVM 命令行工具,后面会有使用的示例。作为 KVM 和 OpenStack 的实施人员,virsh 和 virt-manager 是一定要会用的。

五、创建br0网桥:

[root@localhost network-scripts]# cat ifcfg-ens33

TYPE=Ethernet

NAME=ens33

DEVICE=ens33

ONBOOT=yes

BRIDGE=br0

[root@localhost network-scripts]#

[root@localhost network-scripts]#

[root@localhost network-scripts]# cat ifcfg-br0

TYPE=Bridge

NAME=br0

DEVICE=br0

ONBOOT=yes

BOOTPROTO=dhcp

[root@localhost network-scripts]# systemctl restart network

[root@localhost network-scripts]# ethtool br0

[root@localhost network-scripts]# ethtool ens33

[root@localhost network-scripts]# brctl show

bridge name     bridge id               STP enabled     interfaces

br0             8000.000c29a1940e       no              ens33

virbr0          8000.5254001828c5       yes             virbr0-nic

 

转载请标明出处:kvm 安装
文章来源: kvm 安装
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!