虚拟化技术介绍、Xen的简单实现

虚拟化是什么?

虚拟化是一种资源管理技术, 是将计算机的各实体资源, 如服务、网络、内存及存储等, 予以抽象、转换后呈现出来, 打破实体之间的不可切割的障碍, 使用户可以比原本的配置更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式, 地域或物理配置所限制。一般情况下, 虚拟化资源包括计算能力和数据存储 —<转自维基百科>

为什么需要虚拟化?

虚拟化技术在近几年来非常的火热, 实际上在上个世纪60年代, 就已经有了虚拟化的实现。由于计算机的发展遵循了摩尔定律数十年之久。 在二十一世纪初时, 单台计算机的性能已经非常的强大了, 大多数服务器的计算资源都有大量的空闲, 所以虚拟化的技术从重新进入人们的视野…

虚拟化技术主要有以下几个优点:

  1. 计算资源能够得到充分的利用
  2. 简化物理网络架构, 便于管理
  3. 减少基础运维工作频度
  4. 易于实现运维自动化、平台化

什么时候会使用虚拟化?

虚拟化无处不在,每天都听到的云计算就是以虚拟化技术为基础。阿里云、腾讯云等众多提供云服务、VPS的厂商哪家没有使用虚拟化? 我们使用的虚拟机, VMWare Wokstation, VirtualBox, VMWare ESXI… 也都是虚拟化。甚至于很多学校、公司使用的云桌面, 也都是虚拟化技术实现的。还有现在炙手可热的Docker技术, 也是虚拟化。作为一个运维, 你可以不懂云计算, 大数据, 但是你必须了解虚拟化, 这个无处不在的技术!

虚拟化类型简介

模拟:

在底层的硬件上运行OS, OS上通过虚拟化模拟器软件来模拟一个硬件环境, 可以模拟不同平台的环境, 著名的模拟器: PearPC, Bochs, QEMU

完全虚拟化: (Full Virtualization):

CPU、内存不做模拟, 只对其进行分配和管理, 可通过BT, HVM等技术进行加速, 只能模拟本机CPU; 著名的软件: VMWare Workstation, VirtualBox, KVM…

半虚拟化: (Para Virtualization)

在底层硬件上安装VMM(Virtual Machines Monitor)来管理各虚拟机, 各虚拟机的内核需要修改, 从而知道自己是虚拟机, 通过特殊方式调用驱动和特权指令; 著名的软件: Xen, VMWare ESXI, UML …

OS虚拟化:

每一个虚拟机只有用户空间, 所有的虚拟机共享一个内核, 更加的节省资源, 更接近原生性能; 著名的实现: OpenVZ, Docker, Solaris Containers, FreeBSD jails…

Hypervisor是什么?

Hypervisor意为监视器, 宿主机通过Hypervisor来管理各虚拟机

从另一个角度来解释, 虚拟化技术分为两种类型:

  • Type-I: Hypervisor运行在硬件上: 如: VMWare ESXI, Xen…
  • Type-II: Hypervisor运行在OS上: 如: VMWare Workstation, VirtualBox…

Xen是什么?

Xen是一款开源的虚拟机监视器, 由剑桥大学开发, 它能够在单个计算机上运行多达128个拥有完全功能的操作系统。在无HVM技术的CPU上, Xen必须对虚拟机的操作系统进行修改。

Xen可以分别实现半虚拟化和完全虚拟化, 甚至可以实现PV On HVM

  • 半虚拟化下的Xen只有较少的性能损失, 因为要修改系统,所以不能支持全部的操作系统
  • 完全虚拟化的Xen, 通过VT-X, AMD-V等HVM技术来实现, 这样就能够实现虚拟未经修改的系统, 并且性能可能比半虚拟化更好
  • PV On HVM: 由于半虚拟化对于IO设备的提升很大, 但是HVM对系统的兼容性、性能更佳。所以Xen还能够实现半虚拟化IO设备、硬件辅助虚拟化CPU、内存等..

Xen的架构

介绍Xen的架构之前我们先了解一些Xen中的相关术语

  • Hypervisor: Xen的虚拟机监视器, 负责CPU、内存的虚拟化
  • Domain: Xen运行的虚拟机 
    Dom0: 特权域, 负责分配I/O资源(通过QEMU), 管理DomU 
    DomU: 用户域, 运行指定的OS

Xen技术的架构

Xen通过Dom0主机负责I/O资源的分配、 管理和配置DomaU, 底层的Hypervisor分配CPU和内存资源

Xen半虚拟化架构

Xen全虚拟化架构

如何获取Xen?

RHEL5中, Xen是默认的虚拟化方案, 在RHEL6以后使用KVM来代替Xen

Xen对Linux内核的要求

Linux 2.6.37之后才原生支持Xen, Linux 3.0后才针对Xen进行关键优化

获取Xen4centos

Xen4centos项目提供了众多rpm来实现、并支持rhel6/Centos6运行Xen

通过阿里云的镜像站来获取xen4centos的一系列rpm包

[root@node1 ~]# yum-config-manager --add-repo="http://mirrors.aliyun.com/centos/6.7/xen4/x86_64/"

安装Xen并配置一个busybox虚拟机

安装xen

[root@node1 ~]# yum install xen -y 

修改grub 
因为安装xen会自动安装linux 3.X的内核, 我们还需要对其进行一些修改, 使得使用xen进行启动

[root@node1 ~]# vim /etc/grub.conf  #修改第一个title为如下title CentOS (3.18.12-11.el6.x86_64)    root (hd0,0)    kernel /xen.gz dom0_mem=1024M cpufreq=xen dom0_max_vcpus=2 dom0_vcpus_pin    module /vmlinuz-3.18.12-11.el6.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root  KEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb quiet     module /initramfs-3.18.12-11.el6.x86_64.img

添加disk image

[[email protected] ~]# mkdir -pv /data/xen -pv   #创建一个文件夹专门存放xen相关的文件[[email protected] ~]# cd /data/xen/[[email protected] xen]# qemu-img create -f raw -o size=2G busybox.img  #创建一个2G的raw设备Formatting ‘busybox.img‘, fmt=raw size=2147483648 

[[email protected] xen]# mkfs.ext4 busybox.img  #格式化为ext4分区

编译安装busybox

自行下载busybox[[email protected] ~]# yum groupinstall "Development Tools" "Server Platform Development"  #安装开发包组[[email protected] ~]# yum install glibc-static  #安装静态c库[[email protected] ~]# tar xf busybox-1.22.1.tar.bz2 [[email protected] ~]# cd busybox-1.22.1[[email protected] busybox-1.22.1]# make menuconfig[[email protected] busybox-1.22.1]# make && make install 

将busybox复制进image

[root@node1 busybox-1.22.1]# mount -o loop /data/xen/busybox.img /mnt/ [root@node1 busybox-1.22.1]# cp -a  _install/* /mnt/[root@node1 /]# cd /mnt/[root@node1 mnt]# mkdir dev proc sys home 

测试能否成功chroot

编辑配置文件

[[email protected] xen]# vim busyboxname = "busybox-01"kernel = "/boot/vmlinuz-2.6.32-573.el6.x86_64"ramdisk = "/boot/initramfs-2.6.32-573.el6.x86_64.img"extra = "root=/dev/xvda1  selinux=0 init=/bin/sh"memory = 128vcpus = 2disk = [ ‘/data/xen/busybox.img,raw,xvda,rw‘ 

创建虚拟机

[[email protected] xen]# xl create busyboxParsing config from busyboxDEBUG libxl__blktap_devpath 76 aio:/data/xen/busybox.imgDEBUG libxl__blktap_devpath 81 /dev/xen/blktap-2/tapdev0[[email protected] xen]# xl listName                                        ID   Mem VCPUs  State   Time(s)Domain-0                                     0  1024     2     r-----      29.0busybox-01                                   4   256     1     -b----       0.6

总结

本文对虚拟化技术做了简单介绍, 以及简单的通过Xen创建了虚拟机, 后续我还会介绍更多高级的内容

文章内容浅尝辄止, 大家有更好的见解可以提出, 觉得我写的不错, 可以点一波赞~(≧▽≦)/~ 
作者: AnyISaIln QQ: 1449472454 
感谢: MageEdu

时间: 2024-08-02 07:02:09

虚拟化技术介绍、Xen的简单实现的相关文章

虚拟化技术之虚拟化技术介绍及Xen的应用实现

虚拟化技术是什么: 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储.--转自百度百科 为什么需要虚拟化:  虚拟化技术在近几年来非常的火热, 实际上在上个世纪60年代, 就已经有了虚拟化的实现.由于

Xen、OpenVZ、KVM、Hyper-V、VMWare虚拟化技术介绍

国内外vps主机提供商所提供的主机大多是基于Xen.OpenVZ.KVM.Hyper-V.VMWare五种虚拟化技术. 一.Xen 官网:http://xen.org/ Xen 由剑桥大学开发,它是基于硬件的完全分割,物理上有多少的资源就只能分配多少资源,因此很难超售.可分为Xen-PV(半虚拟化),和Xen-HVM(全虚拟化). Xen是不能超售内存和硬盘的,当母服务器只有16G内存以及100G硬盘时,当开Xen架构(任意一个虚拟化)的1G内存.25G硬盘的子机时,会直接占用服务器1G内存,以

虚拟化技术介绍

什么是虚拟化? 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储. 为什么要用虚拟化? 1.基础架构的利用率,通过将基础架构资源池化并打破一个应用一台物理机的限制,虚拟化大幅提升了资源利用率.通过减少额外硬件的采

openstack成长之旅 - 2 虚拟化技术介绍及KVM安装

openstack作为一个开源的云计算平台,利用虚拟化和底层的存储服务,提供了可扩展.灵活.适应性强的云计算服务,因此学好虚拟化技术就是掌握openstack开源云计算平台的关键,今天就说说虚拟化技术. 相信只要是现在做IT行业的人,多多少少的应该都会知道些虚拟化,若是你知道,那么我很郑重的告诉你 "你OUT了",对于现在来说虚拟化已经相对于成熟了,出现了很多开源的虚拟化软件,就像我们平时自己做实验的vmware workstation,virtualbox等等,都是可以虚拟出主机来帮

虚拟化技术:Xen与KVM的对比

作为开源的虚拟化技术,对比Xen和KVM可以看到,Xen以6个无与伦比的优势领先:更好的可用资源.平台支持.可管理性.实施.动态迁移和性能基准. 可用资源:Xen的问世要比KVM早4年之久(两者分别是2003年和2007年).随着Citrix.Novell.Oracle.Sun.Ret Hat和Virtual Iron等公司在市场领域的实施,就比较容易找到精通Xen的IT技术人员,更容易让这些技术人员接受Xen相关的培训.更容易得到Xen的咨询帮助以及获得Xen证书.企业管理协会(EMA:Ent

防火墙虚拟化技术介绍第一篇

防火墙虚拟化技术 防火墙虚拟化介绍 什么是虚拟化 一虚多:一台物理机上面逻辑划分出多个虚拟机,每个虚拟机有自己的软件和硬件资源.可以提示系统资源利用率.节省硬件成本.能耗.空间等等 多虚一:以交换机的虚拟化为例,通过物理连线,将多个交换机堆叠成一个交换机,能提升其可靠性并降低运维成本 防火墙的虚拟化 ? 防火墙的虚拟化,就是将一台物理防火墙,从逻辑上划分为多台虚拟防火墙,但是共享CPU.内存等物理资源:不同的虚拟防火墙之间,配置.转发完全隔离,从而实现功能定制.个性化管理以及资源的最大化利用 虚

Microsoft桌面虚拟化技术介绍(六)虚拟镜像管理

6.1 工作区类型 MED-V 支持两种管理和更新虚拟镜像的方法: 域管理的虚拟机 ─ MED-V 允许管理员按照管理标准企业设备的方式管理虚拟机:使用现有工具(组策略.电子软件分发等)修补.管理和更新.在初次设置期间,虚拟机将成为企业域的一部分. 自我清理("可还原")的虚拟机 ─ MED-V 提供了一种独特的方法,可交付管理良好.易于支持的桌面环境.它利用虚拟化的硬件独立性,为多名用户维护相同的镜像.用户对应用程序或 OS 做出的所有更改都将在 Virtual PC 会话结束时被放

Microsoft桌面虚拟化技术介绍(一)MED-V简介

Microsoft Enterprise Desktop Virtualization:MED-V Microsoft Enterprise Desktop Virtualization(MED-V)增强了 Virtual PC 镜像在 Windows 桌面上的部署和管理,还提供了 Virtual PC 环境的无缝用户体验,独立于本地桌面配置和操作系统(OS). MED-V 利用 Microsoft Virtual PC 提供桌面虚拟化企业解决方案.利用 MED-V,您可在任何 Windows

Microsoft桌面虚拟化技术介绍(二)高级体系结构

基于收购的 Kidaro 技术开发出来的 MED-V 解决方案包括: 管理员定义的虚拟机(1),封装企业桌面环境:在标准桌面上常用的 OS.企业应用程序和可选的管理工具. 镜像存储库(2),在标准 Web 服务器上存储所有虚拟镜像,支持虚拟镜像版本管理.客户端认证的镜像检索,并通过 TrimTransfer 技术提供高效下载和更新. 管理服务器(3),根据 Microsoft Active Directory 用户和组将镜像存储库中的虚拟镜像关联到通过身份验证的用户,并分配使用策略和数据传输控制