企业虚拟化Kvm实战(在Linux系统里安装Linux系统)
什么是虚拟化
虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来云系统架构KVM,这些机器通过一种叫虚拟机监控器
目录 什么是虚拟化 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来云系统架构KVM,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性 常用的虚拟化产品有哪些 1.Kvm(redhat)企业级 2.Vmware: Vmware-workstation(windows和linux)桌面级 Vmware-fusion(mac) Vmware-esxi(企业级别)本身就是一个操作系统。 3.hyper-v(微软) 4.Ovm(oracle公司--Windows linux) virtulbox 5.Xen(rhel6之前所有版本默认用的虚拟化产品) 虚拟化技术的分类: 平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化//针对计算机操作系统。 资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。 应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。把硬件的东西变成了一个应用。 我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor(虚拟监控器VMM) 或Hypervisor,隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。 平台虚拟化类型 操作系统虚拟化:有一个非常常见的操作系统叫openvz。特点是所有的虚拟机共享宿主机的内核。 全虚拟化(Full Virtualization): 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。 现在的kvm与vmware都支持全虚拟化 全虚拟化的运行速度要快于硬件模拟,但是性能方面不如裸机,因为Hypervisor需要占用一些资源 半虚拟化(Para Virtualization): 半虚拟化(也叫超虚拟化)是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的guest操作系统集成了虚拟化方面的代码。因为操作系统自身能够与虚拟进程进行很好的协作。 半虚拟化需要guest操作系统做一些修改,使guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。 硬件辅助虚拟化 硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。 部分虚拟化 企业级虚拟化与桌面级虚拟化的区别 桌面级虚拟化: App ---在安装APP,通过App实现各种功能 guestos ---客户机也叫客户操作系统 vmware-workstation(hypervisor(虚拟机管理程序)+图形管理工具) os 硬件 企业级虚拟化 App(图形管理工具) guestos os+hypervisor:在操作系统级别加上了虚拟机管理程序 硬件 KVM虚拟化技术简介 KVM 针对运行在 x86 硬件上的、驻留在内核中的虚拟化基础结构。KVM 是第一个成为原生 Linux 内核(2.6.20)的一部分的 hypervisor,它是由 Avi Kivity 开发和维护的,现在归 Red Hat 所有。 KVM 是作为内核模块实现的 KVM安装 1.KVM虚拟化技术简介 kvm架构图 从rhel6开始使用 直接把kvm的模块做成了内核的一部分 xen用在rhel6之前的企业版中 默认内核不支持,需要重新安装带xen功能的内核 KVM 针对运行在 x86 硬件上的、驻留在内核中的虚拟化基础结构。KVM 是第一个成为原生 Linux 内核(2.6.20)的一部分的 hypervisor,它是由 Avi Kivity 开发和维护的,现在归 Red Hat 所有。 这个 hypervisor 提供 x86 虚拟化,同时拥有到 PowerPC? 和 IA64 的通道。另外,KVM 最近还添加了对对称多处理(SMP)主机(和来宾)的支持,并且支持企业级特性,比如活动迁移(允许来宾操作系统在物理服务器之间迁移)。 KVM 是作为内核模块实现的,因此 Linux 只要加载该模块就会成为一个hypervisor。KVM 为支持 hypervisor 指令的硬件平台提供完整的虚拟化(比如 Intel? Virtualization Technology [Intel VT] 或 AMD Virtualization [AMD-V] 产品)。KVM 还支持准虚拟化来宾操作系统,包括 Linux 和 Windows?。 这种技术由两个组件实现。第一个是可加载的 KVM 模块,当在 Linux 内核安装该模块之后,它就可以管理虚拟化硬件,并通过 /proc 文件系统公开其功能。第二个组件用于 PC 平台模拟,它是由修改版 QEMU 提供的。QEMU 作为用户空间进程执行,并且在来宾操作系统请求方面与内核协调。 当新的操作系统在 KVM 上启动时(通过一个称为 kvm 的实用程序),它就成为宿主操作系统的一个进程,因此就可以像其他进程一样调度它。但与传统的 Linux 进程不一样,来宾操作系统被 hypervisor 标识为处于 "来宾" 模式(独立于内核和用户模式)。 每个来宾操作系统都是通过 /dev/kvm 设备映射的,它们拥有自己的虚拟地址空间,该空间映射到主机内核的物理地址空间。如前所述,KVM 使用底层硬件的虚拟化支持来提供完整的(原生)虚拟化。I/O 请求通过主机内核映射到在主机上(hypervisor)执行的 QEMU 进程。 KVM 在 Linux 环境中以主机的方式运行,不过只要底层硬件虚拟化支持,它就能够支持大量的来宾操作系统. 2.KVM安装 kvm虚拟化平台软件一般装在操作系统为Centos上面(图形界面UGI) 大家不想把电脑装为Centos的操作系统,可以用VMware workstations装一台配置较高的虚拟机(cpu、内存、磁盘)给的尽可能最大,然后需要在开启之前做如下操作 然后打开虚拟机,安装kvm即可 一般企业如果使用kvm虚拟机平台,都会把物理服务器装成Centos的操作系统,然后装上kvm,创建虚拟机 需求内核(rhel6以上): [root@youngfit ~]# uname -r 2.6.32-358.el6.x86_64 升级系统:(在安装虚拟机出错的情况下,一般是操作系统的版本问题) [root@youngfit ~]# yum upgrade 安装软件: [root@youngfit ~]# yum install *qemu* *virt* librbd1-devel -y #记不住软件包名的情况下这样输入 其实下载的是下面几款软件 [root@youngfit ~]# yum install qemu-kvm libvirt virt-manager librbd1-devel -y qemu-kvm libvirt virt-manager 在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvm kvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备; qemu是模拟IO设备(网卡,磁盘),kvm加上qemu之后就能实现真正意义上服务器虚拟化。 因为用到了上面两个东西,所以一般都称之为qemu-kvm。 libvirt则是调用kvm虚拟化技术的接口用于管理的,用libvirt管理方便,直接用qemu-kvm的接口太繁琐。 启动服务: centos7: [root@youngfit ~]# systemctl start libvirtd [root@youngfit ~]# systemctl enable libvirtd 查看kvm模块加载: [root@youngfit ~]# lsmod | grep kvm kvm_intel 53484 3 kvm 316506 1 kvm_intel 如果看到有这两行,说明支持kvm模块 1.KVM gustos图形方式部署安装虚拟机 图形模式安装虚拟机(guest os) [root@youngfit ~]# virt-manager ==================== 下面就是点点点 安装完成一台虚拟机之后,网络模式也是有桥接和NAT的 想让kvm的NAT模式的虚拟机连通外网 需要在宿主机打开路由转发功能,然后重启libvirtd即可 2.完全文本方式安装虚拟机 注意:命令敲下去,不要误操作退出安装 输入2,回车,进入文本模式安装 c继续、q退出、b安装 、(数字)选项 显示!的选项,都未设置,不要漏设置 下面的按照提示安装即可 如果安装出来的kvm虚拟机不能ping通百度,需要把宿主机的防火墙开启,因为需要nat地址转换才行,nat转发规则在宿主机的firewalld防火墙配置规则中。 3.模板镜像+配置文件 方式安装虚拟机 复制两个配置文件(修改细节) 参数:define方式创建好,不会启动 create方式创建好,会启动 记住两个目录: /etc/libvirt/qemu 虚拟机配置文件存放目录 /var/lib/libvirt/images/ 虚拟机磁盘镜像(磁盘文件)存放目录 # virsh define /etc/libvirt/qemu/vm2.xml 1.拷贝模板镜像和配置文件 # cp /var/lib/libvirt/images/vm2.img /var/lib/libvirt/images/vm3.img # cp /etc/libvirt/qemu/vm2.xml /etc/libvirt/qemu/vm3.xml 2.修改配置文件 # vim /etc/libvirt/qemu/vm3.xml vm3 #此处应修改,名字不能相同 a2f62549-c6b7-4b8f-a8e2-c14edda35a78 #uuit不能相同 2099200 #内存,可选 2099200 #内存,可选 2 #cpu核数可选 hvm Haswell-noTSX destroy restart destroy /usr/libexec/qemu-kvm /vm3.img'/> #磁盘名称 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |