I understand that your host os is GNU/Linux (Ubuntu) and that your guest vm OS is Windows 2003 Server. The pointers that I and others have given you will work. Here again is my advice, but worded differently so as to be clearer (hopefully

)
A. Your Current Setup
1. Host OS : Ubuntu
2. Physical Disk holding the vmdk file : 21GB total, 14GB used, 6GB free
3. Guest OS : Windows 2003 Server
4. Guest OS virtual disks : 1 virtual disk of 14GB capacity
5. Guest OS virtual disk type : Basic (I am assuming this to be the case)
B. Goals
1. Increase the size/capacity of the Guest OS virtual disk
2. Make all of the increased capacity appear as a single drive C: in the guest OS.
C. Method (my recommendation)
1. DO NOT perform a vmware-vdiskmanager expansion of the vmdk file - you do not have enough free space to do this, so....
2. DO create a second vmdk file and add it to the set of resources available to your guest OS as a second drive. This second drive will be 6GB in capacity, thus equaling the free space available on your host's 21GB drive.
3. Boot up your Windows 2003 guest vm. It will see the normal unchanged drive C: and a second drive that is not formatted or partitioned and has a capacity of 6GB.
4. In your guest vm running Windows 2003 convert your C: drive from a Basic disk to a Dynamic disk. This will let you add the second disk (and a third and fourth and so on) to the C: drive thus expanding the capacity of the C: drive dynamically. This will not create a D: drive nor require managing junction points etc.
If you are unfamiliar with the concepts and procedures of Windows' Basic and Dynamic disks then I suggest you do some Googling
Hope that this is a clearer explanation and gets you what you need.
Cheers,
Ron