转载:http://www.searchvirtual.com.cn/showcontent_33111.htm#

    了解VMware站点恢复管理器(SRM:Site Recovery Manager)最重要的一个方面就是明白VMware虚拟机文件系统(VMFS:Virtual Machine File System)重新标识的含义。无论是选择使用SRM还是手动进行灾难恢复(DR:Disaster Recovery),VMFS重新标识对于所有的VMware管理员正确理解SRM来讲都是非常重要的。

  如果没有对VMFS很好的理解,则对后台运行很重要的一部分——重新标识仍然是未知,并且这样的的话故障诊断工作也会非常困难。

  如果目前没有SRM产品,则在ESX主机上挂载一个复制的卷或者LUN后的第一步就是重新标识流程。作为一个VMware认证讲员(VCI:VMware Certified Instructor),我通常都认为复制和重新标识需要在官方的指导说明中给出。并且对于很多部署VMware产品的单位来讲,复制在数据恢复和灾难恢复战略中都是非常必要的一部分。

  任何被复制用来使ESX主机能够访问的VMFS卷都必须实施重新标识过程。在默认情况下,重新标识完成之前,复制的卷不会显示在ESX主机上。该重新标识流程给复制的VMFS卷一个全新的卷和UUID。

  什么是重新标识?

  现在的问题是为什么ESX不能够直接访问卷?必须实施重新标识的原因何在?如下就是两个问题的原因。假设如果允许ESX同时可以访问原始的VMFS卷和VMFS卷的完全拷贝,则将会有两个VMFS卷拥有相同的卷标签和相同的UUID。ESX会陷入困境,因为将无法识别原始的卷和复制的卷。这样做将会导致数据崩溃,ESX主机遇到的问题就像是发信的邮差在同一条街道的邮箱上找到了具有相同门牌号的两所房子。ESX无法找到合适的交付对象,这里并不是邮件,而是找不到正确的VMFS卷读写。ESX使用来自VMFS卷元数据的LUN数字系统来区分原始的LUN和复制的LUN,区分出来之后停止显示该复制的卷———直到重新标识流程完成之后。

  在我开始之前,强调这个方法并不适用于网络文件系统(Network File System)是非常重要的;该方法仅仅适用于块级别的存储设备(如光纤通道或者iSCSI)访问时的VMFS。

  VMFS卷属性

  我们在开始之前先回顾VMFS卷的一些属性。

  在格式化光纤通道或者iSCSI上的VMFS卷前后,有很多种不同的方法可以用来处理存储设备:

  • 通过Linux设备名称:/dev/sdk
  • 通过VMkernel“运行时(Runtime)”设备名称:vmhba1:0:0:15
  • 通过唯一的网络地址授权(NAA:Network Address Authority)卷:naa.6000...
  • 通过卷名称(对于ESX主机来讲是唯一标识的):myvmfs
  • 通过其数据存储名称(对于vCenter来讲是唯一标识的):myvmfs
  • 通过统一的唯一标识符(UUID:Universally Unique Identifier):47877284-77d8f66b-fc04-001560ace43f

  对于使用NAA的情况,有一点是非常重要的:UUID必须是完全唯一标识的,并且一台ESX主机上不能够同时出现两个完全相同的UUID。UUID通过三个核心变量产生,其中包括数据、时间和用来保证UUID值的绝对唯一性是LUN号。这样做非常有意思,或者说如果LUN的编号没有保持一致性的话将会带来比较麻烦的结果,即如果ESX1确信LUN/Volume 15,另外一台ESX主机确信相同的存储块是LUN/Volume 20,这样问题就出现。
也可以这样说,当前的虚拟机通过良好的卷或者数据存储名称并不能够找到VMDK和VSWP文件。如果检查.VMX文件内容的话,就会看到UUID值的索引。

  注意:从上图中可以看到第二个虚拟磁盘(ctx01_1.vmdk)存储在作为虚拟机VmKernel交换文件(...ea5bc)的不同的卷(..ea5bb)上。如果虚拟磁盘作为VMX文件存储在同一个位置,则/vmfs/volumes 路径就不会出现在VMX文件中,但还可以使用得到。

  可以看到UUID号非常重要。对UUID唯一性的需求给DR带来了一些有意思的挑战。根据定义,任何在阵列中配置的快照或者复制流程都旨在创建一个VMFS卷完全相同的拷贝,按照定义这应该包括在UUID值中。