存储虚拟化 随着存储的需求呈螺旋式向上增长,公司内的存储服务器和阵列都无一例外地随之成倍增长。对于这种存储管理困境的一种解决办法便是存储虚拟化。 根据在I/O路径中实现虚拟化的位置不同,虚拟化存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,虚拟化存储分为对称虚拟化与不对称虚拟化。 通过存储虚拟化,应用程序就不会再与某个物理性的存储程序相联系了。 存储虚拟化可能帮助帮助存储容量扩增自动化。不需要手动的配置,存储虚拟化能够运用策略,分配更多的存储容量给所需的应用。 三层模型 根据云存储系统的构成和特点,可将虚拟化存储的模型分为三层:物理设备虚拟化层、存储节点虚拟化层、存储区域网络虚拟化层。 这个虚拟化层由存储节点虚拟模块在存储节点内部实现,对下管理按需分配的存储设备,对上支持存储区域网络虚拟化层。
谈到虚拟化,在云计算中有计算、存储、网络、安全四大虚拟化,而在存储虚拟中一般提得比计算虚拟化少。今天我们就来谈谈在公有云、私有云中的存储虚拟化是怎么做的。 一、首先云中的服务器存储一般放置在共享存储中。因为计算服务器可能会因为死机、故障等原因中断,因此OpenStack会检测到该问题,将该虚拟机上的用户在另一台计算服务器中进行Reload。 因此,为保证虚拟机可以冷迁移,必须将客户的虚拟机文件(含操作系统、数据等)打包放入共享存储,该共享存储与计算服务器不在同一台服务器。 二、共享存储的载体很多,主要为NAS、SAN。如下图所示。 三、面对成低本的存储需求,现在一般趋向于采用Server SAN的存储方式。即,直接将服务器配上大硬盘,将多台服务器的硬盘虚拟化为存储资源池,并采用三副本的方式来保证数据的安全。 因此,综上所述,在云环境中,没有一种存储方式包打天下,应根据不同的适合场景灵活选择存储方式,甚至进行存储方式的组合。
座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页 ---- 前言 本章将会讲解云计算中存储虚拟化功能 ---- 一.存储虚拟化功能 存储虚拟化可以提高硬件资源的使用效率,简化系统管理的复杂度 主要通过以下功能来实现: 精简磁盘和空间回收 快照和快照链 链接克隆 虚拟磁盘文件迁移 ---- 1.精简磁盘和空间回收 精简磁盘和空间回收用于提高存储资源的使用效率、减小虚拟机未使用空间在主机上占用率过大的问题 特性: 记录了虚拟机在某一时间点的内容和状态。 恢复虚拟机快照可以使虚拟机多次快速恢复到某一时间点。 快照包含磁盘内容、虚拟机配置信息、内存数据。 多次快照之间保存差量数据,节约存储空间。 ---- COW写时拷贝 快照方式的COW写时拷贝是一种在虚拟化、文件系统或数据管理领域中使用的技术,它结合了快照(Snapshot)和COW(Copy-On-Write)的概念。 通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。 ---- 5.虚拟磁盘文件迁移 将虚拟机的磁盘从一个数据存储迁移到另一个数据存储。
Citrix在今年收购了专注于下一代存储的存储虚拟化公司Sanbolic,并在今年的Synergy 2015大会上介绍了了其收购的存储虚拟化平台Melio 产品概述页http://www.citrix.com _ga=1.135590833.1412868493.1438307840 下面我们来对Melio做个简介 Melio是Sanbolic公司的核心产品,在2015年7月被Citrix公司收购,Sanbolic Citrix Melio是一个与工作负载、Hypervisor和存储无关的企业存储和数据虚拟化平台,可以运行在物理、虚拟机云端和分布式数据中心中。 Citrix Melio将虚拟化扩展到了存储层,通过将数据与物理存储解耦合就像服务器虚拟化实现操作系统与物理服务器解耦合一样来实现存储虚拟化。 Citrix终于要对存储方面发力了,早就讨厌够了XenServer那种对块存储的处理方式了。
存储虚拟化概述 一、基本概念 存储虚拟化(Storage Virtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。 二、存储虚拟化技术实现 按虚拟化对象划分,虚拟化存储实现方式主要有三种: 1. 从这个意义上看,基于主机的存储虚拟化是一种性价比不错的方法。 2. 基于存储设备的虚拟化 基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。 基于存储设备的虚拟存储 基于存储设备的存储虚拟化方法依赖于提供相关功能的存储模块。如果没有第三方的虚拟软件,基于存储的虚拟化经常只能提供一种不完全的存储虚拟化解决方案。 多层次存储虚拟化 存储虚拟化涉及网络(交换)架构,存储设备、主机等多个方面及层次,所以实现存储虚拟化需要在各个层次上通过相应的策略去实现。 2.
虚拟存储技术(VIRTUAL MEMORY) 所谓的虚拟存储技术是指:当进程运行时,先将其一部分装入内存,另一部分暂留在磁盘,当要执行的指令或访问的数据不存在内存中时,由操作系统自动完成将它们从磁盘调入内存的工作 虚拟地址空间—–分配给进程的虚拟内存 虚拟地址—–在虚拟内存中指令或数据的位置,该位置可以被访问,仿佛它是内存的一部分。 ---- 存储器的层次结构 ---- 虚存 与 存储体系 把内存和磁盘有机地结合起来使用,从而得到一个容量很大的“内存”,即虚存。 ,防止地址越界 注意: 上图中的基地址寄存器和界限寄存器操作系统通过特殊的特权指令加载 确保进程的操作合法 ---- 虚拟页式(PAGING) **虚拟存储技术 + 页式存储管理方案 -> 虚拟页式存储管理系统 主要包括:1.
由于测试环境不够,于是想用docker虚拟几个centos系统出来 # 安装docker 略 # 1.运行一个基础镜像 [root@summer ~]# docker run --rm -d -i @summer ~]# docker attach 4ba3c5252384 [root@4ba3c5252384 /]# ll total 0 lrwxrwxrwx 1 root root 7 root 66 Nov 19 07:12 etc drwxr-xr-x 2 root root 6 Apr 11 2018 home lrwxrwxrwx 1 root root 7 4ba3c5252384 /]# yum install -y net-tools.x86_64 wget vim-enhanced passwd openssl openssh-server # 3.修改虚拟出来的 root 66 Nov 19 08:01 etc drwxr-xr-x 2 root root 6 Apr 11 2018 home lrwxrwxrwx 1 root root 7
VMware vSphere 是 VMware 的虚拟化平台,可将数据中心转换为包括 CPU、存储和网络资源的聚合计算基础架构。 ——来自百度百科 虚拟机是将物理计算机上的物理资源(如,CPU、内存、磁盘、网卡等)进行虚拟化,实现物理资源共享,以存储文件的形式表现出来,并存储在物理机器上,提高资源的利用率。 服务器虚拟化 平台虚拟化 桌面虚拟化 网络虚拟化 存储虚拟化 四、CPU虚拟化 CPU作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。 网络虚拟化旨在在一个共享的物理网络资源之上创建多个虚拟网络 七、存储虚拟化 共享物理存储资源,通过存储虚拟化利用本地磁盘创建虚拟机的本地虚拟磁盘。 可以通过专业的存储设备,将其磁盘进行虚拟化,最终挂载在虚拟机上。提高了本地磁盘的利用率和便携性。
# CentOS7 KVM虚拟化技术 虚拟化介绍 KVM介绍 KVM实际操作 KVM配置网络 图形操作 结果 参考资料 # 虚拟化介绍 虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。 虚拟化层层种类:完全虚拟化、准虚拟化、系统虚拟化、桌面虚拟化 # KVM介绍 kVM 全称是 Kernel-Based Virtual Machine。 KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。 那 IO 的虚拟化,比如存储和网络设备则是由 Linux 内核与Qemu来实现。 KVM 目前已成为学术界的主 流 VMM(虚拟机监控器)之一。KVM的虚拟化需要硬件支持(如 Intel VT技术戒者 AMD V技术)。是基于硬件的完全虚拟化。 virt-manager: KVM图形化管理工具 libvirt: 虚拟化服务 libguestfs-tools : 虚拟机的系统管理工具 virt-install : 安装虚拟机的实用工具 。
虚拟存储需求背景: 虚拟存储是在这个非连续存储内存分配的基础上,可以把一部分内容放在外村里的做法 理想的存储器: 容量更大,速度更快,价格更便宜的非易失性存储器 交换技术: 增加正在运行或者需要运行的程序的内存 整个进程的地址空间 换出:把一个进程的整个地址空间保存到外存 换入:将外存中某进程的地址空间读入到内存 交换的时机:只有当内存空间不够或有不够的可能时换出 程序换入时重定位:采用动态地址映射的方法 虚拟存储 只把部分程序放到内存中,从而运行比物理内存大的程序 由操作系统自动完成,无需程序员的干涉 实现进程在内存与外存之间的切换,从而获得更多的空闲内存空间 在内存和外存之间只交换进程的部分内容 虚拟存储的基本概念 (2)虚拟段式存储 (3)段页式 基本特征: (1)不连续:a.物理内存分配非连续b.虚拟地址空间使用非连续 (2)大用户空间 提供给用户的虚拟内存可大于实际的物理内存( 3)部分交换 :虚拟存储只对部分虚拟地址空间进行调入和调出 虚拟存储的技术支持: 硬件:页式或短时存储中的地址转换机制 操作系统:管理内存和外存间页面或段的换入换出 虚拟页式存储: 在页式管理的基础上,增加请求调页和页面置换
覆盖和交换的特点: 3.虚拟存储: 1)局部性原理: 就是说 一段时间内 访问的数据是在一个小区域内的,且一个数据的一次访问和下次访问的间隔很短,对于跳转指令,两次跳转的内存地址很可能相同,这就算是局部性原理 因为局部性原理的存在,使得在内存中的数据的命中率较高,从而虚拟存储能获得较好的性能,所以虚拟存储才得以实现。 2)虚拟存储概念: 把目前用不到的进程快暂移到外存。 与交换不同的是,交换是把整个进程都移出内存,而虚拟存储是把进程的部分模块移出去,且在最开始加载的 时候也是把进程的部分模块加载进内存,而不是整个进程都加载进去。 3)虚拟页式存储管理: 就是在之前的非连续内存管理中的页式存储的基础上,可以根据需要把内存中的页帧移到外存,也可以把要外存上要运行的页帧移到内存中来。
不仅如此,还可采用虚拟存储管理技术,实现在较小的主存空间里运行较 大的作业。 虚拟存储管理:实现较小主存空间运行较大的作业。 二、虚拟存储器 什么是虚拟存储器呢? 程序有些事互斥的,即把作业都装入主存中,作业的执行实际上没有同时执行这些 信息,有些在整个过程中甚至没有用到。 ,这称为虚拟存储器。 三、页式 虚拟存储管理 1、页式管理如何改成虚拟存储器:将作业全信息作为副本存放磁盘上。 支持哪些页已经在主存器,指出每一页副本在磁盘上的位置。 小结: 首先了解什么是页式存储,再了解什么是虚拟存储,之后再结合起来页式虚拟存储 器,并且分别掌握他们对应的管理方式,调度方式和相应的计算就容易上手了。
6月26日 qemu 1.5.1发布 特点是: 1 实验性质的支持usb3.0 2 支持VMware的PVSCSI 设备 3 支持VMwarw的半虚拟化网卡 vmxnet3 4 初步支持在kvm上模拟 ARM架构 5 x86平台支持虚拟机的TPM,前提是有硬件TPM 6 支持cpu添加 具体改进可以查看以下链接 http://wiki.qemu.org/ChangeLog/1.5 7月1日 libvirt 1.1.0发布 主要是bug修改和小的功能提升 具体改进可以查看以下链接 http://www.libvirt.org/news.html 7月2日 fedora 19 发布 虚拟化方面最激动人心的功能是带存储的迁移即在线不需要共享存储迁移虚拟机 具体改进可以查看以下链接 https://fedoraproject.org/wiki/Releases/19/FeatureList 7月3日 libguest 1.23.7发布 2013-07-03
一、安装kvm虚拟化 #如果本身是图形化界面可忽略 [root@kvm-test ~]# yum -y groupinstall "GNOME Desktop" #安装GNOME桌面环境 # 用来管理虚拟机磁盘格式 #如果本身就是图形化界面可忽略下一步 [root@kvm-test ~]# ls -sf /lib/systemd/system/graphical.target 2、安装完毕后,需重启系统,执行下面命令对系统进行检查: [root@kvm-test ~]# cat /proc/cpuinfo | grep vmx #查看Intel的CPU是否支持虚拟化,若是AMD (图形化创建虚拟机可参考博文:图形化桌面新建虚拟机) [root@kvm-test ~]# mkdir -p /kvm/{iso,disk} [root@kvm-test ~]# ls /kvm/iso / #准备要安装的虚拟机操作系统文件 CentOS-7-x86_64-DVD-1611.iso [root@kvm-test ~]# qemu-img create -f raw
虚拟化 虚拟化是目前的热点,也是高端存储发展的重要趋势。对于高端存储自己来说,虚拟化主要包含两个层面:块虚拟化和异构虚拟化。 块虚拟化抛弃了传统的RAID的虚拟化方式,把物理硬盘切分为许多的小容量逻辑盘,组成一个POOL,然后以这些逻辑盘为单位组建RAID。 这种块虚拟化的的典型代表是HP3PAR和华为OceanStor18000系列。 异构虚拟化指的是对第三方阵列的支持。这个技术最先由HDS引入高端存储,目前EMC和华为也相继支持。 高端存储一般需要支持静态数据加密功能,保证硬盘遗失或者维护过程中数据不被泄露。 在线升级: 高端存储承载的业务都是关键业务,一般要求7*24不间断运行。现在业务变化很快,用户很难准确估计业务的发展。 通过松耦合、虚拟化、高性能、高安全、智能化这5个关键词,西瓜哥概括了高端存储的发展趋势。
虚拟存储技术: 由程序局部性原理可以发现,程序装入内存的时候,没必要一下子全部装入,所以作业提交给系统时,首先进入辅存,运行时,只将其有关部分信息装入内存,大部分仍然在外存中,当运行过程中需要用到不在内存的信息时 ,再把它们调入,由外存和内存结合在一起,向用户提供一个其认为有的、但实际上不存在的大容量的内存,称为虚拟存储器。 这样虚拟存储器就成了一个将内、外存结合在一起,容量接近外存,速度接近内存的存储器。 实现虚拟存储技术的主要方法有,请求分页存储管理、请求分段存储管理和请求段页存储管理 关于具体实现看到了一篇比较好的文章,在此偷个懒直接将连接贴过来了http://blog.csdn.net/wang379275614
: CEPH(开源) HDFS(开源) FusionStorage(闭源)(华为自研) vSAN(闭源)(vmware自研) 2.2.5 虚拟化存储和非虚拟化存储: 2.2.5.1 虚拟化存储的转换路径 虚拟化存储: 3.1 架构: 硬盘转换成存储池 存储池包含NAS跟SAN两个存储池 在存储池中NAS会使用文件系统 SAN则使用逻辑划分将存储池中从存储空间划分成一个个逻辑卷 最后经由文件系统或是逻辑卷变成虚拟资源 非虚拟化存储: 4.1 架构: 硬盘转换成分布式存储池,根据逻辑划分 将存储池中的存储空间划分成一个个逻辑卷,再由逻辑卷转换成资源 优点 性能好。 缺点: 无法支持高级特性。 5. :CIFS、NFS 虚拟化集群的文件系统:VIMS(华为)、VMFS(vmware) 自己做虚拟化的厂商一般都会自己定义 格式化:重新写入文件系统、文件将会丢失 文件映射到磁盘的过程: 用户创建某个文件后 华为虚拟化产品存储架构 数据存储: 如何获得:对存储设备进行格式化的方式来获得数据存储 只有数据存储才能将资源分配给虚拟机 对数据存储分磁盘 存储设备: 如何获得:只能通过扫描存储资源的方式获得
一、安装kvm虚拟化 #如果本身是图形化界面可忽略 [root@kvm-test ~]# yum -y groupinstall "GNOME Desktop" #安装GNOME桌面环境 # 用来管理虚拟机磁盘格式 #如果本身就是图形化界面可忽略下一步 [root@kvm-test ~]# ls -sf /lib/systemd/system/graphical.target 2、安装完毕后,需重启系统,执行下面命令对系统进行检查: [root@kvm-test ~]# cat /proc/cpuinfo | grep vmx #查看Intel的CPU是否支持虚拟化,若是AMD (图形化创建虚拟机可参考博文:图形化桌面新建虚拟机) [root@kvm-test ~]# mkdir -p /kvm/{iso,disk} [root@kvm-test ~]# ls /kvm/iso / #准备要安装的虚拟机操作系统文件 CentOS-7-x86_64-DVD-1611.iso [root@kvm-test ~]# qemu-img create -f raw
虚拟存储实现思路 在实际运行过程,把有关作业的全部信息都装入主存储器后,作业执行时实际上不是同时使用全部信息的,有些部分运行一遍便再也不用,甚至有些部分在作业执行的整个过程中都不会被使用到(如错误处理部分 ,待用到这些信息时,再由系统自动把它们装入到主存储器中,这就是虚拟存储器的基本思路。 虚拟存储器定义 具有部分装入和部分对换功能,能从逻辑上对内存容量进行大幅度扩充,使用方便的一种存储器系统。 此时,用户作业空间称虚拟地址空间,其中的地址称虚地址 分页式虚拟存储系统 基本原理 分页式虚拟存储系统是将作业信息的副本存放在磁盘这一类辅助存储器中,当作业被调度投入运行时,并不把作业的程序和数据全部装入主存 如此反复 ,使得整个系统的页面调度非常频繁以至于大部时间都化在来回调度页面上。这种现象叫做 “抖动”(Thrashing),又称“颠簸”,一个好的调度算法应减少和避免抖动现象。
虚拟存储器 1.借助于磁盘辅助存储器实现 2.以透明方式提供给用户 3.一个比实际主存空间大得多的程序地址空间 4.在主存-外存层次间 作用: 扩大主存容量,有效管理存储系统 物理地址(实地址):(物理存储空间 )由CPU地址引脚送出,用于访问主存的地址 逻辑地址(虚地址):(逻辑地址空间)用户编制程序时使用的地址,是程序的逻辑地址 存储管理部件(MMU)负责将虚拟地址转为物理地址