[one-users] Removing frontend dependency in shared storage

Rangababu Chakravarthula rbabu at hexagrid.com
Sat Aug 6 13:33:13 PDT 2011


We are using 1.4 with KVM with multiple remote storage servers with
NFS. We followed the storage customization doc to export the image
repository from management node to compute node. Everything was
working fine except for scenarios where the management node had to be
taken down for hardware maintenance. Since the VM_DIR is exported from
management node the VM's would access the disk on the remote storage
via the management node. When ever management node goes down, VM's
would see the impact.

To address this we made the following changes to LibvirtDriver.cc

added

        sourcedisk = disk->vector_value("SOURCE");

changed the following

      file << "\t\t<disk type='file' device='disk'>" << endl
                 << "\t\t\t<driver name='qemu' type='" << disktype <<
"' cache='" << cache << "'/>" << endl
                 //<< "\t\t\t<source file='" << vm->get_remote_dir() << "/disk."
                 //<< i << "'/>" << endl;
                 << "\t\t\t<source file='" << sourcedisk  << "'/> " <<endl;
        }


By doing this the source for VM is the mount path of remote storage.
(Remote storage is directly mounted on compute nodes).

Also commented out the portion in tm_ln script where it creates
symbolic links. So far it seems to be working. Appreciate if anybody
can suggest, if there are any other things that we might have
overlooked.

P.S. We are not using the suspend/resume operations.


More information about the Users mailing list