sources = disk.xpath('source')
                 for source in sources:
                     disk_file = source.get('file')
-                    disk_size = exec_cmd('ls -l %s' % disk_file).split()[4]
+                    disk_size = exec_cmd('qemu-img info '
+                                         '%s |grep \"virtual size:\"'
+                                         % disk_file).split()[2]
                     delete(disk_file)
-                    exec_cmd('fallocate -l %s %s' % (disk_size, disk_file))
+                    exec_cmd('qemu-img create -f qcow2 %s %s' % (disk_file,
+                                                                 disk_size))
 
     def node_eject_iso(self, node_id):
         vm_name = self.get_node_property(node_id, 'libvirtName')
 
             roles = self.dea.get_node_role(node_id)
             role = 'controller' if 'controller' in roles else 'compute'
             disk_size = disk_sizes[role]
-        exec_cmd('fallocate -l %s %s' % (disk_size, disk_path))
+        exec_cmd('qemu-img create -f qcow2 %s %s' % (disk_path, disk_size))
 
     def create_vms(self):
         temp_dir = tempfile.mkdtemp()
 
         disk_path = '%s/%s.raw' % (self.storage_dir, vm_name)
         disk_sizes = self.dha.get_disks()
         disk_size = disk_sizes['fuel']
-        exec_cmd('fallocate -l %s %s' % (disk_size, disk_path))
+        exec_cmd('qemu-img create -f qcow2 %s %s' % (disk_path, disk_size))
         temp_vm_file = '%s/%s' % (temp_dir, vm_name)
         exec_cmd('cp %s %s' % (vm_template, temp_vm_file))
         self.set_vm_nic(temp_vm_file)
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
       <readonly/>
     </disk>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcwo2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <target dev='vda' bus='virtio'/>
     </disk>
     <disk type='block' device='cdrom'>
 
   <devices>
     <emulator>/usr/libexec/qemu-kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <target dev='vda' bus='virtio'/>
     </disk>
     <disk type='block' device='cdrom'>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
       <readonly/>
     </disk>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
       <readonly/>
     </disk>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='file' device='disk'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <source file='disk.raw'/>
       <target dev='vda' bus='virtio'/>
     </disk>
 
   <devices>
     <emulator>/usr/bin/kvm</emulator>
     <disk type='block' device='cdrom'>
-      <driver name='qemu' type='raw'/>
+      <driver name='qemu' type='qcow2'/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>