首頁 > VMware Workstation > 什麼是VMware中的RDM?(以VW示範)

什麼是VMware中的RDM?(以VW示範)

2010年1月4日 發表評論 閱讀評論

RDM01
VMware ESX提供了一個RDM模式,就是原生設備對映(Raw Device Mapping)。雖然VMware不斷在鼓吹RDM模式的好處,但真正應用或了解RDM的人卻不多。本來嘉許也沒注意這個問題,但最近常常有許多已經用了VMware很久的人、儲存設備的老手,也開始問我什麼是RDM時,嘉許覺得是說明一下這個好用東西的時候了。我舉一個例子好了。嘉許有一個客戶使用VMware Workstation安裝Linux,在安裝時,他不使用VMDK,而對應到一個全新的實體硬碟。事實上連VMware的說明都是「choose this option to give the virtual machine direct acces to local hard disk」。
RDM02

結果他安裝完之後,就將這個硬碟拆下來,拿到別台機器開機,他以為這就可以開機成功了。因為是Direct Access to local hard disk,因此照VMware的說明,應該是sector by sector的實體硬碟,就算是驅動程式不同,也應該可以開機後再安裝新機器的驅動程式就行了啊?但是很抱歉,就是無法開機,在其它的機器下,這個硬碟被認出來是「Raw Device」。

事實上,這就是一般人對VMware Workstation中實體硬碟的誤解。嘉許用VMware Workstation來舉例子,就是要說明在VMware ESX中RDM的誤解,通常也和這個情況一模一樣。要了解哪裏做錯了,我們就來看看VMware的Workstation直接硬碟模式或是ESX的RDM模式的原理。

1、當你建立新的VM時,選擇直接完整硬碟。
rdm03

2、什麼?還是要建立VMDK?對的,就算你選擇RDM,還是會叫你建立一個VMDK。
rdm04

3、可以看到硬體設備中的完整硬碟。
rdm05

4、建立好之後,系統會列出這個VM使用的是PhysicalDrive。
RDM06

大家一定會覺得奇怪,都選擇了PhysicalDrive,為什麼還要VMDK?事實上,RDM模式雖然是直接存取,但這話只說對一半,對於Raw Device的存取,VM還是會透過一個Meta File來存取實體硬碟。而這個Meta File就是這個VMDK,在VMware中稱之為「Disk DescriptorFile」。在RDM模式時,VMDK就是純文字檔了。裏頭記載著這個VM對應到實體硬碟的資料。我們可以在下圖看到檔案的內容。
rdm08

在非RDM模式時,VMDK的檔案就是虛擬硬碟檔,其中也含有Meta Data,但這個檔案主要還是一個二進位檔案,用來存放真正的硬碟資料,如下圖所示。
rdm09

因此我們可以了解,在VMware下的RDM,其實還是要有一個對應的Meta Data,才能去存取實際的硬碟。由於Meta Data並不複雜,因此真正的速度也很快,如果你希望整個VM的速度不被硬碟所拖累,選擇Raw Device當然是最好的方法。下一篇文章我會談談RDM最大的好處是什麼。
image_45

  1. fljcn
    2010年1月4日17:10 | #1

    不错,受益非浅。我的理解RDM模式就是虚拟机直接使用实体机的硬盘空间。

  2. fljcn
    2010年1月4日17:19 | #2

    请教胡老师一个问题,在一个环境中有ESX4.0和ESX3.5,虚拟机都存在磁盘阵列上,我想把ESX4.0中的虚拟机迁移到ESX3.5中如何实现(冷迁移-虚拟机关闭后迁)。

    注:ESX4.0中的虚拟机版本是7,ESX3.5中的虚拟机版本是4.从ESX3.5中迁到ESX4.0中成功。有人建议在ESX4.0中创建一个新虚拟机使用虚拟机版本4,把虚拟机版本7中的VMDX原以为文件挂过来,我试了不行,生成OVF模板导入到ESX3.5也不行,不知有其他办法没有?有一部分老机器只能安装ESX3.5。

    • 嘉許
      2010年1月5日03:12 | #3

      您好,

      目前我還沒碰到這個問題,我來實驗一下,或是在網上找找有沒有相關的資料。

  3. 嘉許
    2010年1月5日01:25 | #4

    @fljcn
    RDM的好處多多,我會在之後的文章多寫一些RDM的應用 :grin:

  4. yifeng
    2010年1月5日01:55 | #5

    很好奇 Hyper-V 的直接存取是不是也….

  5. Ray
    2010年1月6日13:18 | #6

    鄙视说明书式的教学书,鄙视装B教学书,鄙视故弄玄虚教学书,鄙视傻逼出书!憎恶之极!误人子弟!嘉许这样的书籍才是真正的我们想要的书,深入浅出,系统全面,负责而带有感情色彩,相当的好,其实技术类书籍本来就应该是这样的!一定要努力哦,希望能多多看到你的书! :lol: 加油!

    • 嘉許
      2010年1月6日16:56 | #7

      哇!

      謝謝你這麼支持我,我只是想把我會的一點點東西讓大家都能在最快速的情況下了解。如果這本書真的讓你學到你要的,我真的會很有成就感。我也會不斷努力學習,大家教學相長,常常來討論,才會進步神速,再一次謝謝你。

  6. Ray Tian
    2010年1月7日02:28 | #8

    @嘉許
    嘉许,我是通过mstsc登陆到VC的,我想把我自己电脑里面的一个image上传到Vcenter的database里面,但是我进入database的时候发现上传镜像只能在VC的那台服务器上选择,能直接把我自己电脑里的镜像上传到VC的database吗?谢谢嘉许!

    • 嘉許
      2010年1月7日12:00 | #9

      可以開放ESX的FTP,但還是不要這麼做比較好。用獨立的STORAGE是最好的解決方法。

  7. Ray Tian
    2010年1月7日02:30 | #10

    @Ray Tian 一定要保持你的书的风格哦,嘿嘿!

    • 嘉許
      2010年1月7日11:59 | #11

      您好,

      謝謝,我會繼續加油的,大家也別忘了介紹朋友上來多交流。

  8. Ray Tian
    2010年1月7日07:46 | #12

    嘉许:

    向您请教一个问题:如何把本机的文件传到远方ESX server 的VM里面呢?我一开始把本机的程序upload到database里面的OS文件夹里,结果看不到,难道必须要用ftp之类的第三方软件吗?

    • 嘉許
      2010年1月7日11:59 | #13

      您好,

      如果是在同一個網段就好辦了,用網路分享即可。但以目前來說,如果是非網段的,只能用傳統的samba、ftp、網芳等辦法。這還牽涉到Linux或Windows的分享問題。不過如果你有獨立的儲存,事情就好解決了:)

  9. chunshing
    2010年1月21日02:26 | #14

    不錯,每每來到這邊看,感覺都學到新知識;
    我想這邊會是一個學虛擬的好地方~感謝!!

    • 嘉許
      2010年1月21日12:56 | #15

      謝謝你,

      大家的討論是我最大的動力,也希望你真的能學到東西,到時別忘了常常回來啊,謝謝。

  10. zz
    2010年2月26日09:15 | #16

    有开mstsc么??这个工具就可以把本地驱动映射上去了呀!

    • 嘉許
      2010年2月27日05:58 | #17

      您好,

      請問能將問題描述再詳細一點,這樣子有點看不懂哦,呵呵。

  11. 2010年7月24日02:17 | #18

    嘉許兄, 想請教你一件事, 很多謝你的教學,
    我用了一顆 2.5′ 320gb 7200rpm的硬碟利用vmware workstation 7做到直接存取
    並成功安裝了Server 2003
    但問題來了, 我在這台server 2003 的一些檔案, 抄到實體機器須時很久
    只有5-8MB/sec, 但先前用虛擬硬碟還有25-30MB/sec 的
    問題在那裡, 希望指教一下

  1. 目前尚無任何 trackbacks 和 pingbacks。