在一个存储区域网络(SAN)上,有两种方法为虚拟机配置存储。一种方法是使用VMFS,这是VMware Infrastructure(VI)提供的专有高性能集群文件系统。对大多数企业应用来说,在VMFS上使用虚拟磁盘(VMDK文件)是首要选择,在VI里支持全部可用的功能,包括虚拟机快照、VMotion、Storage VMotion和VMware Consolidated Backup(VCB)。

  另一种配置存储的方法是Raw Device Mapping(原始设备映射,即RDM)。在对下面的存储进行虚拟化访问时,会干涉运行在虚拟机里的软件操作,这时候就需要使用RDM。这样的一个例子是SAN管理软件,它一般需要直接访问下面的硬件;因此需要使用RDM而不是虚拟磁盘。在本文中,TechTarget中国的特约作者Scott Lowe将讨论什么是RDM,并将说明在什么时候使用。

  定义原始设备映射

  RDM是VMFS卷上的一个文件,对原始物理设备来说,它就像一个代理或媒介。我们可以把RDM看作是一个到原始LUN的象征性链。RDM包含所访问原始物理设备的元数据和其他一些信息,取决于RDM的配置,能添加使用原始LUN像VMotion支持和虚拟机快照这样的功能。

  为什么使用RDM而不是虚拟磁盘文件?VMware将VMFS作为企业应用的优先选项,包括文件服务器、web服务器、EPR和CRM。在ESX Server和VMFS的之前版本里,RDM通常用于最小化VMFS开支,以便提高磁盘性能。不过,基于VMware使用VMFS-3所作的比较,在大多数情况下,VMFS-3和RDM之间的磁盘性能是差不多的。

  如果在多数情况下,使用VMFS和RDM所获得的性能差不多的话,那么还有其他什么原因使用RDM而不是VMFS呢?通常,这个答案在于应用要求。SAN管理软件已经作为一种需要RDM而不是虚拟磁盘的应用,这归功于SAN管理软件和存储阵列之间的直接通信。下面这些例子都表明哪里需要RDM而不是虚拟磁盘:

  在MSCS集群里需要RDM提供法定人数和数据盘。这包括跨ESX主机的V2V集群和P2V集群。注意,虚拟磁盘在单个物理主机上能用作“cluster-in-a-box”配置。

  运行在虚拟机里的SAN知道的应用的解决方案里需要RDM。这种情况有许多例子,比如NetApp的SnapManager系列应用。这些应用需要与存储阵列直接通信,因此不能使用虚拟磁盘。

  在使用NPIV(N_Port ID Virtualization)的解决方案里必须使用RDM。NPIV使用WWPN允许单个光纤通道HBA端口利用光纤通道结构进行注册。ESX 3.5新添NPIV支持,允许ESX在虚拟机面前表现得像个“虚拟HBA”。NPIV只能与RDM一起使用。

  RDM的局限

  有两种类型的RDM:虚拟兼容模式RDM和物理兼容模式RDM。尤其是物理兼容模式RDM有一些相当重要的局限:

l 不能使用VMware快照
l 不支持VCB,因为VCB需要VMware快照
l 使用物理模式RDM不能克隆虚拟机
l 在模板里使用物理模式RDM不能转换虚拟机
l 如果迁移包括复制磁盘,使用物理模式RDM不能迁移虚拟机
l 物理模式RDM不能使用VMotion功能
  虚拟模式RDM能解决这样一些问题,允许将原始LUN看作虚拟磁盘,并能使用像VMotion、快照和克隆这样的功能。如果需要使用RDM,大多数情况下,虚拟模式RDM比较受欢迎。例如,虚拟模式RDM能用于跨物理主机的V2V集群。不过注意,跨物理主机的P2V迁移需要使用物理模式RDM。

  在VI环境下,大多数应用和工作负载使用虚拟磁盘,不过RDM——不管是虚拟模式还是物理模式——能帮助消除潜在的兼容性问题或允许应用在虚拟状态下运行而没有功能的丢失。

RDM原始设备映射的更多相关文章

  1. Azure IoT Hub 十分钟入门系列 (3)- 使用消息路由将原始设备数据记录存档

    本文主要分享一个案例: 10分钟使用消息路由将原始设备数据记录存档 B站视频讲解:https://www.bilibili.com/video/av90223893/ 本文主要有如下内容: 1.理解什 ...

  2. Linux配置和管理设备映射多路径multipath

    (一)多路径管理软件的由来 在企业中,服务器与存储通常是分开放置的,服务器上的硬盘通常用来安装操作系统和应用软件,业务数据则是存储在单独的存储设备上,那么,服务器与存储是如何连接的呢?根据存储协议,经 ...

  3. /boot/grub/device.map【设备映射】

    grub-install 安装 GRUB 在第一个硬盘的 MBR: # grub-install '(hd0)' grub-install 会先搜寻设备对应的文件(/boot/grub/device. ...

  4. USB-Redirector-Technician 永久破解版(USB设备映射软件)

    USB-Redirector-Technician 这个软件对于搞安卓刷机的人想必非常熟悉,淘宝破解版售价:38 一个的东西 除了远程刷机,用于映射一些小型设备是没问题的,只要网跟得上~ USB-Re ...

  5. Debian添加raw裸设备

    一.检查系统是否已经启用了raw模块 root@frog:~# lsmod|grep raw 如果系统没有启用raw模块! 二. 设置系统自动启用raw root@frog:~# echo raw & ...

  6. SQL Server 虚拟化(2)——理想的SQL Server虚拟机架构

    本文属于SQL Server虚拟化系列 搭建SQL Server虚拟机,在各个组织之间都有自己的标准和最佳实践.从第一眼看去,光物理配置就有过百种,所有的这些细微差别都有可能为后续日常管理过程中故障侦 ...

  7. vMware存储:SAN配置基础

    VMware存储不仅仅是将LUN映射给物理服务器这么简单.VMware vSphere允许系统管理员在一个物理机上创建多个虚拟机. 潜在的hypervisor和vSphere ESXi,能够使gues ...

  8. MTD NANDFLASH驱动相关知识介绍

    转:http://blog.csdn.net/zhouzhuan2008/article/details/11053877 目录 MTD总概述 MTD数据结构 MTD相关层实现 MTD,Memory ...

  9. 【驱动】MTD子系统分析

    MTD介绍 MTD,Memory Technology Device即内存技术设备 字符设备和块设备的区别在于前者只能被顺序读写,后者可以随机访问:同时,两者读写数据的基本单元不同. 字符设备,以字节 ...

随机推荐

  1. Ansible学习 ad-hoc命令

    Ansible提供两种方式去执行命令,一种是ad-hoc命令,一种是写入Ansible playbook.类似于前者在命令行敲shell,后者是写shell-script脚本,前者解决一些简单的任务, ...

  2. ADSL_自动拨号源码(Delphi),已经测试通过

    下载地址: http://files.cnblogs.com/lwm8246/ADSL_%E8%87%AA%E5%8A%A8%E6%8B%A8%E5%8F%B7.rar

  3. python requests第三方库详解

    异常处理:try ... except ...

  4. wordCount的执行流程

    我们对于wordCount的这个流程,在清晰不过了,不过我们在使用spark以及hadoop本身的mapReduce的时候,我们是否理解其中的原理呢,今天我们就来介绍一下wordCount的执行原理, ...

  5. AD15添加导入组件

  6. 安装macports

    Mac下面除了用dmg.pkg来安装软件外,比较方便的还有用MacPorts来帮助你安装其他应用程序,跟BSD中的ports道理一样.MacPorts就像apt-get.yum一样,可以快速安装些软件 ...

  7. 【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星

    Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本 如何在同一系统里同时启动多个Tomcat    http://www.cnb ...

  8. VS Extension+NVelocity系列(一)——构建一个简单的NVelocity解析环境

    一.前言 本节我们将实际实现一个简单的NVelocity解析环境,以便为以后的实例做一些基本工作,虽然NVelocity如何使用已经属于老掉牙的话题,但我只能专门挑出来一章来做铺垫.人生就是这样无奈啊 ...

  9. 《Cracking the Coding Interview》——第4章:树和图——题目5

    2014-03-19 04:11 题目:设计算法检查一棵二叉树是否为二叉搜索树. 解法:既然是二叉搜索树,也就是说左子树所有节点都小于根,右子树所有节点都大于根.如果你真的全都检查的话,那就做了很多重 ...

  10. mongodb导入json文件(WINDOWS)

    mongodb导入json格式的文件的命令是mongoimport: 在下面的这个例子中,使用mongoimport命令将文件pi.json中的内容导入loacal数据库的pi集合中. 打开CMD,进 ...