[libvirt] Share storage using iscsi [EDIT as I cut off part]

Łukasz Mierzwa l.mierzwa at gmail.com
Fri Aug 14 12:07:29 UTC 2009


Hi,

I'm trying to setup pool of machines (nodes) for virtual machines hosting and 
I got few question about shared storage. My main requirements are:
1. central management - I've got simple python app that stores information 
about all virtual machines and all nodes, this app needs to be able to manage 
volumes using libvirt API, so I need libvirt volume pools
2. live migration - I got shared storage with HA, I want to use it also for 
live migration in case one of nodes is dying or if I want to do some load 
balancing

Right now I'm thinking about 2 machines with disks synchronized using drdb, 
both acting as a identical iscsi targets, iscsi HA will be provided by 
heartbeat. So I will end up with virtual IP pointing to working iscsi target, 
drdb should keep storage is sync. But:

1. I can't just use single iscsi LUN and export it as libvirt storage pool to 
each node, because no pool type would work that way, right? 

2. http://libvirt.org/storage.html section "iSCSI volume pools" says:
"Volumes must be pre-allocated on the iSCSI server, and cannot be created via 
the libvirt APIs."
So even if I got one LUN per node and set it as iscsi volume pool I would need 
to create each volume on iscsi target. Libvirt can't manage volumes in such 
pool, it can only assign already created volumes to virtual machines, right?

3. So maybe my storage could be setup as LVM volume group and this lvm group 
would be managed as libvirt lvm volume pool on master (from heartbeat POV) 
iscsi target. I would create one logical volume per virtual machine, export 
this volume as a separate iscsi LUN, and use this LUN as iscsi volume for 
virtual machine.
To create new virtual machine I would:
a) create lvm volume on iscsi target using libvirt
b) export this volume using iscsi
c) define virtual machine with this volume
But can I create iscsi volume without pool?

Does it makes any sense? Are there better ways to *manage* volumes for virtual 
machines using iscsi?

Thanks for any tips.

Łukasz Mierzwa




More information about the libvir-list mailing list