Solved

VMDK files

Posted on 2016-08-11
8
127 Views
Last Modified: 2016-08-17
When I browse Datastore in Vsphere, I see 3 .vmdk files
Servername.vmdk
servername_1.vmdk
servername_2.vmdk

In Fact the VM has 3 Hard disks, however in some documentation it says the .vmdk is a Descriptor of the hard disk. What does that mean ?
I also see the:
servername-ctk.vmdk
servername_1-ctk.vmdk
servername_2-ctk.vmdk

ctk files if I am correct are for change tracking, but what does that mean? do they get created whenever there is a snapshot? how do they get created ?

Thank you
0
Comment
Question by:jskfan
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
  • 2
  • +1
8 Comments
 
LVL 14

Assisted Solution

by:Schnell Solutions
Schnell Solutions earned 100 total points
ID: 41752635
They are used for snapshots, or continuous backups.
0
 
LVL 120

Accepted Solution

by:
Andrew Hancock (VMware vExpert / EE MVE^2) earned 200 total points
ID: 41752639
When you BROWSE you are not observing ALL the files, they are hidden because you are in "idiot view" mode.

there are a pair for every vmdk,

e.g.

server.vmdk
server-flat.vmdk
server-ctk.vmdk

only the server.vmdk contains the VM OS data...

a file with a server_X.vmdk, means another disk, e.g. disk X.

and a file that looks like server-0000X.vmdk is a snapshot.

HOW TO: VMware Snapshots :- Be Patient



As for the VMDK files there are two...

you can read here

Recreating a missing virtual machine disk descriptor file (1002511)

*.vmdk - the descriptor which describes the disk geometry.

see my EE Article, and look and read the comments, it explains it in detail, and how it's calculated

HOW TO: Shrink a VMware Virtual Machine Disk (VMDK) in 15 minutes

the flat file, actually contains the VM OS DATA.

This is what CTK files are all  is about... they track blocks which have been changed, change block tracking

from Anton Gostev from Veeam on CBT:

In essence, CBT is all about CTK files, these are the files which contain change tracking information of the corresponding VMDK file.

The concept is pretty simple, and if you are familiar with AD DirSync control, or Exchange ICS (public folders change tracking) – it is essentially the same: global USN (Update Sequence Number) for each object. CTK file describes the state of each block for tracking purposes, and contain USN for each block in the corresponding VMDK. After any block is updated, it is assigned the new global USN (which is previous USN value that was used on previously processed block plus 1). This way, any application can ask VMware API “tell me if this block was changed since THIS moment”, and the API will easily tell that by simply comparing the provided sequence number with the actual USN on each block. If provided USN is smaller than actual for particular block, it means that the block was changed (and needs to be backed up, replicated or otherwise processed). So multiple processes cannot conflict with each other anyhow. Each process just memorizes the USN corresponding to the snapshot that the application created during processing, and next time it will use the memorized USN to query for changed blocks.

There should be one CTK file per VMDK file, and CTK file cannot grow out of proportion with number of blocks in VMDK (as it stores only 1 record per VMDK block). CTK file is also thousands time smaller than actual VMDK, because it stores only a few bytes of information (USN) for each corresponding 256KB VMDK block (I am 90% sure it is 256KB, used to calculate it once using CTK debug/stats data, just don’t remember for sure – unimportant info escapes my head automatically to prevent overload with useless facts ;) . For the same reasons, I/O overhead is barely noticeable with CBT: change few extra bytes to write for each 256000 bytes of data.

The CTK files are permanent, and should not be deleted after backup/replication.
0
 
LVL 10

Assisted Solution

by:Richardson Porto
Richardson Porto earned 200 total points
ID: 41752646
A VMware virtual disk is composed by two files, one descriptor file (that contains information about the virtual data disk) and a flat file (that contain the actual content data of the virtual disk).

The descriptor is something like mydisk.vmdk (it have small size) and the flat disk is something like mydisk-flat.vmdk (that may be a big file, depending of how much data you have on disk and/or how big is your virtual disk).

Browsing using the Datastore Browser through the vSphere Client, you will not see the files -flat.vmdk, to see these files you will need to log in through SSH on host.

The CTK files are created once any application that use the Change Block Tracking for example backup the virtual machine.

The file created by snapshots are the delta files, and it should looks like -00001.vmdk and -00001-delta.vmdk.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 120
ID: 41752658
didn't we do this here on the 15 July 2016 ?

vmware VMDK Files

do you have poor memory ? forget ? easier to post and ask the question again, rather than look up your previous answer ?
0
 

Author Comment

by:jskfan
ID: 41752707
*.vmdk - the descriptor which describes the disk geometry.

.VMDK I see it is 40GB it got to be the physical file of the first hard disk
_1.VMDK I see it is 62GB it got to be the physical file of the second hard disk
_2.VMDK I see it is 52GB it got to be the physical file of the third hard disk

so where is the descriptor ?
0
 
LVL 120
ID: 41752722
logon to the console, or remotely via SSH, and view the files.

in vSphere Client Browser Mode, it groups all the files together, "idiot mode"

you cannot see the pair of files which make up the virtual machine disk ?

server.vmdk is a TEXT FILE!

Understand now ?
0
 
LVL 10

Assisted Solution

by:Richardson Porto
Richardson Porto earned 200 total points
ID: 41752777
To see both files (descriptor and flat) separately you have to login on host through SSH, navigate to the folder where files are stored. After you locate the file you can open the mydisk.vmdk with a text editor, like vi.
0
 

Author Closing Comment

by:jskfan
ID: 41760366
Thank you
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article, I show you step by step with screenshots to assist you - HOW TO: Deploy and Install the VMware vCenter Server Appliance 6.5 (VCSA 6.5), with some helpful tips along the way.
In this article, I will show you HOW TO: Perform a Physical to Virtual (P2V) Conversion the easy way from a computer backup (image).
Teach the user how to edit .vmx files to add advanced configuration options Open vSphere Web Client: Edit Settings for a VM: Choose VM Options -> Advanced: Add Configuration Parameters:
Teach the user how to configure vSphere Replication and how to protect and recover VMs Open vSphere Web Client: Verify vsphere Replication is enabled: Enable vSphere Replication for a virtual machine: Verify replicated VM is created: Recover replica…

732 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question