使用ESX troubleshooting恢复虚拟原始设备映射数据
从ESX逻辑单元号(LUN)删除分区之后,我们的虚拟化专家Edward Haletky必须恢复对虚拟机文件系统(VMFS)的访问以便访问数据。在这一系列的第一篇文章中,他讨论了如何恢复对VMFS的访问。不过我们的专家立即发现他不能以同样的方式恢复虚拟原始设备映射(RDM),这也意味着可能丢失大量的可用历史数据。下面的文章将解决这个问题。
第一篇文章讨论了恢复对虚拟机文件系统(VMFS)的访问,Vizioncore vRanger Pro帮助我恢复了VMFS要使用的必要分区。我也试着用同样的方法恢复原始设备映射(RDM),但是出现“Cannot create file”这样的错误信息。
接下来,我尝试使用Vizioncore的vcbRestore文件将镜像手动恢复到ESX主机。由于服务器信息块(SMB/CIFS)不能正常工作也失败了。我的方法是使用下面的命令恢复所有文件:
/tmp/vcbrestore -D -I ./VM_4.tvzc -O /dev/stdout | tar -xvf -
不幸的是这也不起作用。(偶然发现这时可以将vcbRestore文件移动到不同的逻辑单元号,并尝试用这样的方式执行恢复,不过我没有足够的LUN空间。)
接下来,我尝试从ESX主机的服务控制台重新创建Linux logical volume manager (LVM) 2文件系统。但那样的努力在我重新启动虚拟机时也失败了:
# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.
更改只保留在内存里,除非你决定写入它们。当然,先前的内容不能恢复。
The number of cylinders for this disk is set to 39162.
这样做没错,但这比1024大,并且在某些设置下可能会导致两个方面的问题:在启动时间运行软件(如LILO的旧版本(或者从其他操作系统(如DOS FDISK和OS/2 FDISK)启动或划分软件。
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-39162, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-39162, default 39162):
Using default value 39162
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): fb
Changed system type of partition 1 to fb (Unknown)
Command (m for help): x
Expert command (m for help): b
Partition number (1-4): 1
New beginning of data (63-629137529, default 63): 128
Expert command (m for help): w
The partition table has been altered!
重新启动时,系统提醒进入调试模式以修复问题。