openstack入门学习

本文介绍了虚拟化的基础知识,包括1型和2型虚拟化,重点讲解了KVM虚拟化技术,涉及CPU、内存、存储和网络虚拟化原理。此外,还概述了云计算的基本概念,强调了OpenStack在资源统一管理中的作用,特别是其核心服务如Nova、Neutron和Glance等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openstack学习,来自《每天5分钟玩转OpenStack》

一、虚拟化

  • 在一台物理服务器上可以跑多台虚拟机
  • 共享物理机的CPU\内存、IO硬件资源
  • 逻辑上虚拟机之间是相互隔离的
  • 物理机—宿主机 host
    • host上面的虚拟机为客户机 guest
  • Hypervisor 是运行在物理服务器与操作系统之间的中间软件,实现硬件资源虚拟化。
    • 两种虚拟化
      • 1型虚拟化
      • 2型虚拟化
1. 1型虚拟化
  • Hypervisor直接安装在物理机上,多个虚拟机运行在Hypervisor之上
    • XEN & VMWare的ESXi 都属于这种类型
2. 2型虚拟化
  • 物理机上先安装操作系统,Hypervisor在Linux操作系统之上,作为OS的一个程序模块,并对虚拟机进行管理。
    • KVM &VirtualBox &VMWare Workstation

比较:

​ 1型虚拟化一般对硬件虚拟化功能特别优化,比2的性能高。

​ 2型虚拟化是基于普通OS的,会比较灵活。(比如支持虚拟机嵌套,嵌套:在KVM中可以再运行KVM

3. KVM
3.1 基本概念
  • KVM - Kernel-Based Virtual Machine 基于内核实现的
  • 内核模块- kvm.ko 只用于管理虚拟CPU和内存
    • 注重虚拟机调度和内存管理
  • IO&存储&网络的虚拟化—QEMU来实现
  • Libvirt—KVM的管理工具
    • 也可管理XEN、VirtualBox等
    • openstack的底层也使用Libvirt
    • **Libvirt包括3个东西:**后台daemon(守护进程)程序libvirtd、API库、命令行工具virsh
      • libvirtd:服务程序,接收和处理API请求
      • API:可用于开发基于LIBVIRT的高级工具
      • virsh:KVM命令行工具。
3.2 KVM实战
  • KVM和QEMU的核心包---- qemu-kvm ,qemu-system
  • libvirt-bin 是libvirt, virt-manager 是KVM图形化管理工具 , bridge-util、vlan是网络虚拟化需要的。
  • VMWare平台是拥有虚拟化的功能,因此可以在其之上搭建一个KVM,而虚拟机操作系统中再去安装KVM是无法使用的,因为虚拟机OS是没有虚拟化功能的。

4.KVM虚拟化原理
4.1 CPU虚拟化
  • KVM虚拟化是需要CPU硬件支持的。查看是否支持虚拟化。

    egrep '^flags.*(vmx|svm)' /proc/cpuinfo
    vmx/svm  //支持虚拟化
    
  • 一个KVM虚拟在宿主机中其实是一个qemu-kvm进程,与其他linux进程一样被调度。

  • 虚拟机中的每个虚拟vCPU则对应qemu-kvm进程中的一个线程。

  • 虚拟机的vCPU总数可超过物理CPU的数量,称为CPU overcommit (超配),使得虚机能够充分利用宿主机的CPU资源。

4.2 内存虚拟化
  • KVM通过内存虚拟化共享物理系统内存,动态分配给虚拟机。
  • 为了在一台机器上运行多个虚拟机,KVM需要实现VA(虚拟内存)–PA(物理内存)–MA(机器内存)之间的地址转换。
    • 虚拟机OS 控制虚拟地址到客户内存物理地址的映射(VA–PA)
    • 虚拟机OS不能之间访问实际机器内存。
    • KVM需要负责映射客户物理内存到实际机器内存(PA–MA)
  • 内存也可以overcommit,所有虚拟机的内存之和可以超过宿主机的物理内存。
4.3 存储虚拟化
  • KVM的存储虚拟化是通过存储池(Storage pool)和卷(volume)来管理的。
    • 存储池是宿主机上可以看到的一片存储空间。
    • 卷 是在存储池中划分出的一块空间。
    • 宿主机将卷 分配给虚拟机,卷在虚拟机中看到的就是一块硬盘。
  • 不同类型的存储池
    • 目录类型的存储池
      • 文件目录是最常用的存储池类型,文件目录下的文件就是一个卷。
      • 使用文件做卷的优点:存储方便、移植性好、可复制、可远程访问。
      • 卷格式选择:
        • raw 默认格式,原始磁盘镜像格式
        • qcow2 推荐使用格式,cow=copy on write
        • vmdk 是VMWare的虚拟磁盘格式,VMware虚拟机可以直接在KVM上运行。
    • LVM类型的存储池
      • 宿主机上VG中的LV也可以作为虚拟磁盘分配给虚拟机使用。
      • VG就是存储池,LV就是卷
    • 其他类型的存储池
      • KVM还支持iSCSI,Ceph等多种类型的存储池。
4.4 网络虚拟化
  • 网络虚拟化最重要的是Linux Bridge和VLAN
  • 4.4.1 Linux Bridge
    • 宿主机有一块与外界链接的物理网卡eth0,上面跑了一个虚机VM1,如何让VM1能够访问外网?
    • 给VM1分配一个虚拟网卡vnet0,通过linux bridge br0将eth0和vnet0链接起来。
    • 多个网络可以链接到同一个Liunx Bridge
    • 通过BR0来进行eth0与vent0 的网络间的数据转发。
    • 手动配置br0:之前在eth0上的dhcp分配的IP 需要分配到br0上。
    • bridge_ports eth0:将eth0挂到br0上。
    • virbr0 是KVM默认创建的一个Bridge,其作用是为连接其上的虚拟网卡提供NAT访问外网的功能。
  • 4.4.2 VLAN
    • Local Area Network 本地局域网,通常使用Hub和Switch来连接LAN中的计算机。
  • Linux Bridge + Vlan = 虚拟交换机

二、云计算

2.1 基本概念
  • IT系统架构大致是三个阶段的发展:物理机架构、虚拟化架构、云计算架构。
  • 虚拟化技术的发展提高了物理服务器的资源使用率,节省了维护的成本。
  • 云计算–对IT环境中的虚拟机进行统一和高效的管理。
  • 计算(CPU\内存)、存储和网络是IT系统的三类资源,通过云计算,这三类资源变成了三个池子,然后按需拿取,云平台完全搞定,不用使用者关心。
  • IaaS 提供的服务是虚拟机,它负责管理虚机的生命周期。
    • 使用者从云平台上获得的是一个已安装好的镜像,使用者需要关心的是虚拟机的类型(OS)和配置(CPU、内存、磁盘),需要自己负责部署上层的中间件和应用。
    • 系统管理员使用,例子有AWS、Rackspace、阿里云等。
  • PaaS 提供的服务是应用的运行环境和一系列中间件服务(消息队列、数据库等)
    • Google APP Engine、IBM BlueMix等
  • SaaS 提供的是应用服务。
    • Google Gmail、Salesforce等。
Openstack–

​ OpenStack是对数据中心的计算、存储和网络资源进行统一管理。

三、Openstack 架构

3.1 概念架构
  • OpenStack的核心服务:
    • Nova(管理计算资源)
    • Neutron(管理网络资源)
    • Glance(为VM提供OS镜像)
    • Cinder(提供块存储)
    • KeyStone(认证服务)
    • Horizon(界面)
  • 可选服务
    • Swift(提供对象存储)
    • Ceilometer(监控服务)
3.2 逻辑架构

每个服务由若干个组件组成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值