> 技术文档 > 云计算基础1_云计算 csdn

云计算基础1_云计算 csdn

一、虚拟化技术:常见的虚拟化技术:虚拟化主要厂商及产品介绍VMware:VMware Workstation、vSphere
Microsoft:VirtualPC、Hyper-V
RedHat:KVM、RHEV
Citrix:Xen
Oracle:Oracle VM VirtualBox
虚拟化与云计算的关系:虚拟化是一种技术,顾名思义,就是将不可拆分的实体资源变成可以自由划分的逻辑资源,从而实现资源的整合、隔离、在分配,云计算就是利用了虚拟化技术的这个特点。云计算是一种服务模式(IAAS)),其思想就是把各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器(CPU)、内存、存储、网络和其它基本的计算资源。通常我们通过虚拟化手段把这些资源分割打包提供给用户使用。虚拟化平台介绍: KVM是linux内核模块,它需要CPU指令集(Intel-VT/AMD-V)的支持,是一种硬件辅助虚拟化技术。QEMU是一个虚拟化的仿真工具,通过ioctl与内核模块交互完成对硬件的虚拟化支持。 Libvirt是一个对虚拟化管理的接口和工具,提供客户端程序,例如: virsh ,virt-manager选中Linux主机验证虚拟化支持:查看/proc/cpuinfo文件(CPU的指令集)中的vmx和svm、查看内核模块grep -Po \"vmx|svm\" /proc/cpuinfo查看内核模块:lsmod | grep kvmWindows主机验证虚拟化支持:使用securable软件来验证虚拟化实验拓扑图1、linux虚拟化平台安装:qemu-kvm:为kvm提供底层系统设备仿真支持libvirt-daemon:libvirtd 守护进程,管理虚拟机libvirt-client:客户端软件,提供客户端管理命令( virsh )libvirt-daemon-driver-qemu: libvirtd连接qemu的驱动使用10主机配置虚拟化平台,2个CPU,4G内存在处理器中选择虚拟化虚拟化平台的软件包已经默认整合在系统安装光盘中,使用yum进行安装虚拟化平台
开启libvirtd服务,查看安装版本常用virsh管理命令:

virsh list [--all] 列出虚拟机 virsh start/shutdown 启动/关闭虚拟机 virsh destroy 强制停止虚拟机 virsh define/undefine 创建/删除虚拟机 virsh console 连接虚拟机的 console virsh edit 修改虚拟机的配置 virsh autostart 设置虚拟机自启动 virsh dominfo 查看虚拟机摘要信息 virsh domiflist 查看虚拟机网卡信息 virsh domblklist 查看虚拟机硬盘信息 virsh net-list [--all] 列出虚拟网络 virsh net-start 启动虚拟交换机 virsh net-destroy 强制停止虚拟交换机 virsh net-define 根据xml文件创建虚拟网络 virsh net-undefine 删除一个虚拟网络设备 virsh net-edit 修改虚拟交换机的配置 virsh net-autostart 设置开机自启动

2、虚拟化网络:网络管理命令:virsh:提供管理各虚拟机的命令接口,支持交互/非交互模式,查看/创建/停止/关闭.. ..格式:virsh  控制指令  [资源名称]   [参数]虚拟网络控制指令:net-list [--all]:列出虚拟网络,默认只显示已启用的设备,将没有启动的设备也显示需要加上--all参数。
net-start:启动虚拟交换机
net-destroy:强制停止虚拟交换机
net-define:根据xml文件创建虚拟网络
net-undefine:删除一个虚拟网络设备
net-autostart:设置开机自启动
创建虚拟网桥:可以在官方地址https://libvirt.org/format.html中查看网络配置模板:创建 网桥文件/etc/libvirt/qemu/networks/vbr.xml,必须在/etc/libvirt/qemu/networks/的目录下

 vbr //网桥的名称  //工作的模式,以nat模式工作  //网桥映射的设备名称  //网桥的IP地址和子网掩码  //如果网桥没有地址会自动分配该网段的地址  

高版本可以需要需要安装ebtables、iptables、dnsmasq依赖包,重启libvirt服务创建网桥:virsh net-define /etc/libvirt/qemu/networks/vbr.xml设置开机自启动: virsh net-autostart vbr启动该虚拟网桥:virsh net-start vbr,查看状态:停止虚拟网桥:virsh net-destroy vbr删除虚拟网桥:virsh net-undefine vbr删除了虚拟网桥在创建虚拟网桥就需要重新创建虚拟网桥文件才能创建3、创建Linux虚拟机虚拟机由虚拟配置文件和存储文件构成。虚拟配置文件(*.xml):文件默认路径:/etc/libvirt/qemu/,定义了虚拟机的设备、例如:CPU、内存、网卡等。存储文件(*.img):文件默认路径:/var/lib/libvirt/images/,仿真虚拟机磁盘,存储所有数据信息。例如我们要创建 vmhost虚拟机就需要创建vmhost.img文件和创建vmhost. xml文件
虚拟机磁盘(存储文件):虚拟机磁盘可以使用块设备、逻辑卷设备、文件仿真等。其中文件仿真模式具有易迁移、易扩展、支持多种磁盘格式、配置方便等特点,在云平台上被广泛使用。在文件仿真中被广泛采用的ROW格式具有:支持弹性空间、支持后端盘复用、支持快照、支持压缩。
ROW(Redirect On Write)写时重定向技术原理: ROW技术使用指针指向原始盘(装有操作系统的磁盘)所有块。若一个块要被改写,存储系统将指向该块的指针指向前端盘的新位置,然后在前端盘完成数据改写。原始盘(装有操作系统的磁盘)始终是只读的。通俗来讲就是创建了一个新的虚拟机,该虚拟机的磁盘通过ROW技术创建一个前端盘(软连接)指向装有操作系统的磁盘(原始盘),但只能只读原始盘中的数据,该虚拟使用的相关命令和操作都是原始盘的命令(读操作),如果对该虚拟机进行和原始盘中装有的操作系统不相同的配置(写操作)时,就需要通过ROW技术的指针重定向,让指向原始盘中原来的数据磁盘指向新的前端盘中的数据磁盘(软连接指向新数据的数据块)。此时前端盘中占用的数据相对于原始盘的数据量很少很少,节约的系统磁盘空间。虚拟机磁盘管理:qemu-img是虚拟机的磁盘管理命令,支持非常多的磁盘格式,例如raw、qcow2、vdi、vmdk等等命令格式:qemu-img  子命令  子命令参数     块文件名称   大小
常用子命令有:
- create:创建一个磁盘
- info:查看磁盘信息
创建raw原始磁盘格式和qcow2写时重定向磁盘格式。-f:指定创建的磁盘格式。查看磁盘,此时通过软连接创建的该磁盘所占用的空间很小。创建虚拟机磁盘,将原始盘拷贝到/var/lib/libvirt/images目录下,-b:指定原始盘 qemu-img create -f qcow2 -b cirros.qcow2 vmhost.img 20G查看磁盘信息:qemu-img info vmhost.img创建配置文件:配置文件一般通过模板生成。我们根据需要修改对应的配置既可以模板文件来源:官方网站https://libvirt.org/formatdomain.html
创建配置文件

 //虚拟机类型 vmhost //虚拟机名称 1048576 //最大内存,当前设置为1G 1048576 //当前内存,当前设置为1G 2 //CPU的数量  //系统引导参数 hvm//64位架构,一次性加载2^64  //启动设备为hd硬盘  //开启系统引导提示信息  //开启系统引导提示信息   //电源管理    //cpu的种类,host-passthrough表示使用和真机相同的CPU   //时钟,使用真机的时间赋值 destroy//模拟硬件开关,关机 restart//模拟硬件开关,重启 restart//模拟硬件开关,重置  //驱动设置 /usr/libexec/qemu-kvm//虚拟化所使用的程序(仿真程序)  //虚拟机的硬盘管理 //该虚拟机硬盘为qcow2模式 //虚拟机磁盘文件路径 //硬盘的设备名称  //网卡配置 //使用的虚拟网桥的名称    //客户端程序  //串口、用来配置键盘鼠标 //用来配置键盘鼠标    

虚拟机管理命令:list [--all]:列出虚拟机
start、shutdown、reboot:虚拟机启动,停止,重启
destroy:强制停止虚拟机
define、undefined:根据xml文件创建/删除虚拟机
Console:连接虚拟机终端edit:修改虚拟机的配置
dominfo:查看虚拟机摘要信息
autostart:设置虚拟机自启动
domiflist:查看虚拟机网卡信息
domblklist:查看虚拟机硬盘信息创建虚拟机:virsh define  /etc/libvirt/qemu/vmhost.xml开启虚拟机:virsh start vmhost连接虚拟机按Ctrl+] 退出virsh shutdown和reboot为温和的关机和重启相当于poweroff和rebootvirsh destroy:强制关闭为暴力的关机相当于关闭电源virsh edit:修改虚拟机配置,或者直接修改/etc/libvirt/qemu/vmhost.xml配置文件(需要重启才能生效)。virsh dominfo:查看虚拟机信息virsh autostart:设置开机自启动virsh domblklist/domiflist:查看虚拟机硬盘和网卡的信息,虚拟机中的vda磁盘指向真机中的/var/lib/libvirt/images/vmhost.img文件,vnet0为虚拟机中的eth0网卡virsh undefine:删除虚拟机。虚拟机其实只有三个文件1.xml文件,2.img文件,3.运行的实例running,前两个不占用CPU内存,只有第三个实例占用内存CPU,使用undefine命令只xml文件,其他两个都还在。需要传递删除虚拟机,就手动删除img文件,手动关闭虚拟机运行实例。使用undefine删除虚拟机img文件和运行实例都还在。此时需要手动删除img文件和关闭运行实例二、公有云简概述云服务的三大模式:
laaS:基础设施服务,Infrastructure-as-a-servicePaaS:平台服务,Platform-as-a-service
SaaS:软件服务,Software-as-a-service云计算是一种服务模式:基础设施服务(IAAS),其思想就是把各种资源整合起来,然后租给有需要的用户,其中的资源包括处理器(CPU)、内存、存储、网络和其它基本的计算资源。
平台服务(PAAS),除基础设施外还提供如:编程语言,运行环境,技术支持,甚至针对该平台而进行的应用系统开发、优化等服务,也就是中间件服务。
软件服务(SAAS),是一种通过Internet提供软件的模式,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务。公有云、私有云、混合云:
公有云是第三方的云供应商,通过互联网为广大用户提供的一种按需使用的服务器资源,是一种云基础设施。私有云是一个企业或组织的专用云环境。一般在企业内部使用,不对外提供服务,因此它也被视为一种企业云。混合云是在私有云的基础上,组合一个或多个公有云资源,从而允许在不同云环境之间共享应用和数据的使用方式。