VMware Cloud Community
EncryptedToast
Contributor
Contributor
Jump to solution

VM won't start: no such device?

Hi all,

I was working on an issue that I asked about here:

http://communities.vmware.com/message/851295

I decided to do a reboot of the ESX server. When it came back up, I notied the VM was not running. When I tried to power it on I saw:

Cannot open the disk.

'/vmfs/volumes/4695.....b2c/LABDC01_1/LABDC01_1.vmdk' or one of the snapshot disks it depends on.

Reason: No such device.

I logged into the ESX server and looked at the path and that file actually does exist. The odd thing is, if I run the 'file' command on that file, it says:

LABDC01_1-rdm.vmdk: can't read `LABDC01_1-rdm.vmdk' (No such device).

Is this file some sort of character device or special file? It doesnt make sense to me that it would show up with an ls, but trying to find out what kind of file it is tells me it basically doesn't exist.

Is there anything else I should be looking at here? I am baffled.

Reply
0 Kudos
1 Solution

Accepted Solutions
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

No this is not the way RDM LUN's work. A RDM / RAW LUN is a for example NTFS formatted LUN

An native ESX LUN is a VMFS formatted LUN.

When you attach a RAW LUN to a VM as for example secondary disk you'll get a ....-rdm.vmdk file. This file it just a pointer to the RAW LUN so there isn't any data in it at all.

So you cannot find the RAW LUN anymore on the SAN? This could be overwritten and formatted with VMFS?

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

View solution in original post

Reply
0 Kudos
14 Replies
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

Have you tried to remove the harddisk from the VM configuration and re-add it?

Apparently it's a RAW LUN so it should be possible to just "reconnect" the LUN to the VM.

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Reply
0 Kudos
jgalexan
Enthusiast
Enthusiast
Jump to solution

There are actually 2 files that make up a vmdk file. When viewing your directory while logged in via ssh you will see 2 *.vmdk files. The first one is <vmname>-flat.vmdk and the other is <vmname>.vmdk. If you issue the command ls -al you will see that the -flat file is actually the file that is the same size as the drive for the vm. ESX\Virtual Center does not like it when you manually modify file names. If you are missing one of the files, would you be able to restore from backup?

Reply
0 Kudos
EncryptedToast
Contributor
Contributor
Jump to solution

Have you tried to remove the harddisk from the VM configuration and re-add it?

Apparently it's a RAW LUN so it should be possible to just "reconnect" the LUN to the VM.

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

I have not tried that but I thought about it and wanted to make sure I will do it the right way. Does this mean:

Vm > Edit Settings > Hard Disk 1 (remove)

And then add it again as Hard Disk 1, pointing to that same path?

Reply
0 Kudos
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

Yep, delete the correct corresponding harddisk. Save the config, re-edit again and add point toward the LUN again.

EncryptedToast
Contributor
Contributor
Jump to solution

There are actually 2 files that make up a vmdk file. When viewing your directory while logged in via ssh you will see 2 *.vmdk files. The first one is <vmname>-flat.vmdk and the other is <vmname>.vmdk. If you issue the command ls -al you will see that the -flat file is actually the file that is the same size as the drive for the vm. ESX\Virtual Center does not like it when you manually modify file names. If you are missing one of the files, would you be able to restore from backup?

I do see all those files, in fact the two that are not right are these:

LABDC01_1-rdm.vmdk: can't read `LABDC01_1-rdm.vmdk' (No such device).

LABDC01_2-rdmp.vmdk: can't read `LABDC01_2-rdmp.vmdk' (No such device).

I don't have any backups, this is a lab environment and I am trying to learn VMware; oddly enough I had just installed the backup client on the guest OS but didnt get to the host yet...ack.

Reply
0 Kudos
EncryptedToast
Contributor
Contributor
Jump to solution

Yep, delete the correct corresponding harddisk. Save the config, re-edit again and add point toward the LUN again.

Ok, I did just that. I get the same error Smiley Sad

Reply
0 Kudos
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

Well then there's something wrong with the either the LUN or the LUN publishment to ESX.

Can you rescan the HBA's to be sure that the LUN ID is still valid?

If so can you test what happens if you attach the RAW LUN to a physical server? Is windows able to read that LUN?

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

EncryptedToast
Contributor
Contributor
Jump to solution

Well then there's something from the either the LUN or the LUN publishment to ESX.

Can you rescan the HBA's to be sure that the LUN ID is still valid?

If so can you test what happens if you attach the RAW LUN to a physical server? Is windows able to read that LUN?

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Good call; I do not see the lun anymore. I have no clue what happened to it...unless when I added the 250GB to that VM, I somehow blew the other one away? I can't imagine how, but that appears to be

the case. I don't even know where to start at this point, somebody else set up this environment and I don't know how to zone a LUN to be used for a VM. Is there a decent white paper that I can start going over?

The SAN is a CX-300, I can find my way around Navisphere and bind luns. Just not sure if anything special has to be done in this case.

Reply
0 Kudos
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

Well, the LUN not being published is better news than a corrupted LUN Smiley Happy

Well LUN numbers have unique numbers so it's hard to believe that you blown the other away, unless you somehow recreated something and used the same LUN number.

Check Navisphere for the corresponding LUN, check it's LUN number and check to which hosts it's published.

I won't really bother about the zoning since nothing happed in there I assume

Alternately you can check the /var/log/vmkernel.log to see if there are some specific error on a LUN logged.

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Reply
0 Kudos
EncryptedToast
Contributor
Contributor
Jump to solution

Well, the LUN not being published is better news than a corrupted LUN Smiley Happy

Well LUN numbers have unique numbers so it's hard to believe that you blown the other away, unless you somehow recreated something and used the same LUN number.

Check Navisphere for the corresponding LUN, check it's LUN number and check to which hosts it's published.

I won't really bother about the zoning since nothing happed in there I assume

Alternately you can check the /var/log/vmkernel.log to see if there are some specific error on a LUN logged.

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Ok, I took a look. I only see one LUN assigned to this host. That is the 250GB Lun I tried to add. Nothing else. So apparently, the LUN that was assigned for the VM operating system itself is history.

I am wondering:

If I zone another LUN to this host, can I copy these existing .vmdk files to that LUN and expect it to work as it was before I mucked it all up?

Or is my only recourse to zone another LUN and rebuild the VM from scratch?

Reply
0 Kudos
jgalexan
Enthusiast
Enthusiast
Jump to solution

It is possible to get the VM to work again, provided you have all of the peices. The disk that the VM could not find at boot, was that a secondary drive? Did it have any OS data on it? If there are OS pieces missing, then you will have to rebuild. Once you get the VM to work again you can move the VM to another Datastore using "Migrate" - when the vm is powered down, or "SVmotion" when it is powered on in 3.5 VI2.5. Hope this helps.

Reply
0 Kudos
VirtualKenneth
Virtuoso
Virtuoso
Jump to solution

No this is not the way RDM LUN's work. A RDM / RAW LUN is a for example NTFS formatted LUN

An native ESX LUN is a VMFS formatted LUN.

When you attach a RAW LUN to a VM as for example secondary disk you'll get a ....-rdm.vmdk file. This file it just a pointer to the RAW LUN so there isn't any data in it at all.

So you cannot find the RAW LUN anymore on the SAN? This could be overwritten and formatted with VMFS?

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Reply
0 Kudos
EncryptedToast
Contributor
Contributor
Jump to solution

No this is not the way RDM LUN's work. A RDM / RAW LUN is a for example NTFS formatted LUN

An native ESX LUN is a VMFS formatted LUN.

When you attach a RAW LUN to a VM as for example secondary disk you'll get a ....-rdm.vmdk file. This file it just a pointer to the RAW LUN so there isn't any data in it at all.

So you cannot find the RAW LUN anymore on the SAN? This could be overwritten and formatted with VMFS?

Signature:

If you found this information useful, please consider awarding points for "Correct" or "Helpful". Thanx!

Correct, I cannot find the raw LUN anymore on the SAN. I don't think it was on local disk either I didnt see anything in /etc/fstab that woud indicate that:

UUID=f518ae3e-a0ae-4427-9c73-95ef445ee658 / ext3 defaul ts 1 1

UUID=bdd3fd51-aeaf-4fe9-b0a9-5919f752ac6d /boot ext3 defaul ts 1 2

none /dev/pts devpts gid=5,mode=620 0 0

none /proc proc defaults 0 0

none /dev/shm tmpfs defaults 0 0

UUID=0ed6e8a1-1b09-4a34-af88-ec3403615869 /var/log ext3 defaul ts 1 2

UUID=847fc3ee-6ffe-4d73-94ef-97d4b48eeec4 swap swap defaul ts 0 0

/dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,r o 0 0

/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

Looks like my only option is to start over. Not a huge loss, the only thing I had on there was a Netbackup NOM server.

Reply
0 Kudos
vgalino
Contributor
Contributor
Jump to solution

Hello.

Looking on google i go to this thread.

On my case, i do a configure -> storage adapters -> rescan all and they works perfect

Many thanks to all

Regards

Victor

Reply
0 Kudos