1 Reply Latest reply on Aug 11, 2018 2:20 PM by budachst

    oracle vm 3.2 missing vmdisk

    954879

      Hi, everyone.

       

      This is a weird case of lost vm disk. I have a Windows Server 2008 guest running on OV 3.2. The server is working fine, but, when I check the console (web or CLi) shows that the guest doesn't have a disk associated.

      However, the server is writing files on... a phantom disk I guess...

       

      OVM> show vm name=wserver2008

      Command: show vm name= wserver2008

      Status: Success

      Time: 2018-08-09 15:52:35,633 ART

      Data:

        Name = wserver2008

        Id = 0004fb0000060000c890071eb9bce1df

        Status = Running

        Memory (MB) = 4098

        Max. Memory (MB) = 4098

        Max. Processors = 2

        Processors = 2

        Priority = 50

        Processor Cap = 100

        High Availability = Yes

        Operating System = Microsoft Windows Server 2008

        Mouse Type = USB Tablet

        Domain Type = Xen HVM, PV Drivers

        Keymap = en-us

        Boot Order 1 = CDROM

        Boot Order 2 = Disk

        description =

        Server = 30:33:34:36:35:36:58:4d:51:32:33:37:30:38:54:59  [oraserv]

        Repository = 0004fb000003000054c5d53d671f750e  [repo01]

        Vnic 1 = 0004fb0000070000f01d9efe075561ec  [00:21:f6:01:01:46]

      -------> no VmDiskMapping

       

      But if I run on the server xm --list by id:

       

      [root@oraserv ~]# xm list --long 0004fb0000060000c890071eb9bce1df -->id of the guest

       

      (device

              (vbd

                  (protocol x86_32-abi)

                  (uuid 6f5d42a1-ad8e-0f51-b0b1-6daf9ef42fea)

                  (bootable 1)

                  (dev xvda:disk)

                  (uname

                      file:/OVS/Repositories/0004fb0000030000ecb93bb102f63ab3/VirtualDisks/0004fb00001200000752c3eee6847633.img ---> the disk reference appears

                  )

                  (mode w)

                  (backend 0)

                  (VDI '')

              )

       

      Also I did a :

       

      [root@oraserv ~]# find /OVS/Repositories/ -name 0004fb00001200000752c3eee6847633.img and the file is missing.

       

      We have a previous similar case an year ago and, when the guest was restarted it didn't come up showing a missing disk error. So we know that if we reset this server it won't boot again.

       

      So, the questions that maybe someone could answer )and help me!) are:

       

      - how can I check where is the missing vdisk file

      and

      - how is possible for a guest to run OK if it doesn't have a disk!!

       

      thanks for your kindly help. Bye!

        • 1. Re: oracle vm 3.2 missing vmdisk
          budachst

          Hi,

           

          this is strange and all I can think of is, that someone probably deleted that file from the directory, while it still was open. This will make the file disappear from the filesystem but this will not close any open handle. So from the perspective of the filesystem, the file is gone, but the OS will not let go of it, until the last handle has been closed, which will occur, once you shutdown or reboot the guest.

           

          As this is a HVM/PV guest, it's vdisks are mounted using the loop interface. Try a

           

          losetup -a

           

          and see, if you can still see the vdisk there. Since the guest can still write to this vdisk, I'd assume, that it is still listed there.

           

          However, I actually can't think of any option to get this file back into the filesystem, so depending on how hard it would be, if you lost that vdisk, one option would be to create a new vdisk and attach it to the guest while it it is running and perform a backup in Windows.

           

          Another option may be to pause the guest using xm and then use dd to clone the mounted loop volume to a new file. If you are able to pause your guest, you could clone your current vdisk to a new one like this:

           

          dd if=/dev/loop[x] bs=1024k of=/path/to/new/vdisk

           

          If you happen to have pv installed (I can't remember, if it was available in 3.2), you could also run a

           

          pv /dev/loop[x] > /path/to/new/vdisk

           

          which would provide you with a progress bar and eta for the completion of the copy process.

           

          Cheers,

          budy