Let me back up and say I don't think you'd use a vdi style on an iscsi lun.
I think you'd want to treat it as a RAW format. Otherwise you're putting a
filesystem on your lun, mounting it, creating a QCOW2 disk image, and that
seems unnecessary and a performance killer.

So probably attaching the raw iscsi lun as a disk to the VM, and handling
snapshots on the San side via the storage plugin is best. My impression
from the storage plugin refactor was that there was a snapshot service that
would allow the San to handle snapshots.
On Sep 13, 2013 7:15 PM, "Marcus Sorensen" <shadow...@gmail.com> wrote:

> Ideally volume snapshots can be handled by the SAN back end, if the SAN
> supports it. The cloudstack mgmt server could call your plugin for volume
> snapshot and it would be hypervisor agnostic. As far as space, that would
> depend on how your SAN handles it. With ours, we carve out luns from a
> pool, and the snapshot spave comes from the pool and is independent of the
> LUN size the host sees.
> On Sep 13, 2013 7:10 PM, "Mike Tutkowski" <mike.tutkow...@solidfire.com>
> wrote:
>
>> Hey Marcus,
>>
>> I wonder if the iSCSI storage pool type for libvirt won't work when you
>> take into consideration hypervisor snapshots?
>>
>> On XenServer, when you take a hypervisor snapshot, the VDI for the
>> snapshot is placed on the same storage repository as the volume is on.
>>
>> Same idea for VMware, I believe.
>>
>> So, what would happen in my case (let's say for XenServer and VMware for
>> 4.3 because I don't support hypervisor snapshots in 4.2) is I'd make an
>> iSCSI target that is larger than what the user requested for the CloudStack
>> volume (which is fine because our SAN thinly provisions volumes, so the
>> space is not actually used unless it needs to be). The CloudStack volume
>> would be the only "object" on the SAN volume until a hypervisor snapshot is
>> taken. This snapshot would also reside on the SAN volume.
>>
>> If this is also how KVM behaves and there is no creation of LUNs within
>> an iSCSI target from libvirt (which, even if there were support for this,
>> our SAN currently only allows one LUN per iSCSI target), then I don't see
>> how using this model will work.
>>
>> Perhaps I will have to go enhance the current way this works with DIR?
>>
>> What do you think?
>>
>> Thanks
>>
>>
>>
>> On Fri, Sep 13, 2013 at 6:28 PM, Mike Tutkowski <
>> mike.tutkow...@solidfire.com> wrote:
>>
>>> That appears to be the way it's used for iSCSI access today.
>>>
>>> I suppose I could go that route, too, but I might as well leverage what
>>> libvirt has for iSCSI instead.
>>>
>>>
>>> On Fri, Sep 13, 2013 at 6:26 PM, Marcus Sorensen <shadow...@gmail.com>wrote:
>>>
>>>> To your question about SharedMountPoint, I believe it just acts like a
>>>> 'DIR' storage type or something similar to that. The end-user is
>>>> responsible for mounting a file system that all KVM hosts can access,
>>>> and CloudStack is oblivious to what is providing the storage. It could
>>>> be NFS, or OCFS2, or some other clustered filesystem, cloudstack just
>>>> knows that the provided directory path has VM images.
>>>>
>>>> On Fri, Sep 13, 2013 at 6:23 PM, Marcus Sorensen <shadow...@gmail.com>
>>>> wrote:
>>>> > Oh yes, you can use NFS, LVM, and iSCSI all at the same time.
>>>> > Multiples, in fact.
>>>> >
>>>> > On Fri, Sep 13, 2013 at 6:19 PM, Mike Tutkowski
>>>> > <mike.tutkow...@solidfire.com> wrote:
>>>> >> Looks like you can have multiple storage pools:
>>>> >>
>>>> >> mtutkowski@ubuntu:~$ virsh pool-list
>>>> >> Name                 State      Autostart
>>>> >> -----------------------------------------
>>>> >> default              active     yes
>>>> >> iSCSI                active     no
>>>> >>
>>>> >>
>>>> >> On Fri, Sep 13, 2013 at 6:12 PM, Mike Tutkowski
>>>> >> <mike.tutkow...@solidfire.com> wrote:
>>>> >>>
>>>> >>> Reading through the docs you pointed out.
>>>> >>>
>>>> >>> I see what you're saying now.
>>>> >>>
>>>> >>> You can create an iSCSI (libvirt) storage pool based on an iSCSI
>>>> target.
>>>> >>>
>>>> >>> In my case, the iSCSI target would only have one LUN, so there
>>>> would only
>>>> >>> be one iSCSI (libvirt) storage volume in the (libvirt) storage pool.
>>>> >>>
>>>> >>> As you say, my plug-in creates and destroys iSCSI targets/LUNs on
>>>> the
>>>> >>> SolidFire SAN, so it is not a problem that libvirt does not support
>>>> >>> creating/deleting iSCSI targets/LUNs.
>>>> >>>
>>>> >>> It looks like I need to test this a bit to see if libvirt supports
>>>> >>> multiple iSCSI storage pools (as you mentioned, since each one of
>>>> its
>>>> >>> storage pools would map to one of my iSCSI targets/LUNs).
>>>> >>>
>>>> >>>
>>>> >>> On Fri, Sep 13, 2013 at 5:58 PM, Mike Tutkowski
>>>> >>> <mike.tutkow...@solidfire.com> wrote:
>>>> >>>>
>>>> >>>> LibvirtStoragePoolDef has this type:
>>>> >>>>
>>>> >>>>     public enum poolType {
>>>> >>>>
>>>> >>>>         ISCSI("iscsi"), NETFS("netfs"), LOGICAL("logical"),
>>>> DIR("dir"),
>>>> >>>> RBD("rbd");
>>>> >>>>
>>>> >>>>         String _poolType;
>>>> >>>>
>>>> >>>>         poolType(String poolType) {
>>>> >>>>
>>>> >>>>             _poolType = poolType;
>>>> >>>>
>>>> >>>>         }
>>>> >>>>
>>>> >>>>         @Override
>>>> >>>>
>>>> >>>>         public String toString() {
>>>> >>>>
>>>> >>>>             return _poolType;
>>>> >>>>
>>>> >>>>         }
>>>> >>>>
>>>> >>>>     }
>>>> >>>>
>>>> >>>>
>>>> >>>> It doesn't look like the iSCSI type is currently being used, but
>>>> I'm
>>>> >>>> understanding more what you were getting at.
>>>> >>>>
>>>> >>>>
>>>> >>>> Can you tell me for today (say, 4.2), when someone selects the
>>>> >>>> SharedMountPoint option and uses it with iSCSI, is that the
>>>> "netfs" option
>>>> >>>> above or is that just for NFS?
>>>> >>>>
>>>> >>>>
>>>> >>>> Thanks!
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>> On Fri, Sep 13, 2013 at 5:50 PM, Marcus Sorensen <
>>>> shadow...@gmail.com>
>>>> >>>> wrote:
>>>> >>>>>
>>>> >>>>> Take a look at this:
>>>> >>>>>
>>>> >>>>> http://libvirt.org/storage.html#StorageBackendISCSI
>>>> >>>>>
>>>> >>>>> "Volumes must be pre-allocated on the iSCSI server, and cannot be
>>>> >>>>> created via the libvirt APIs.", which I believe your plugin will
>>>> take
>>>> >>>>> care of. Libvirt just does the work of logging in and hooking it
>>>> up to
>>>> >>>>> the VM (I believe the Xen api does that work in the Xen stuff).
>>>> >>>>>
>>>> >>>>> What I'm not sure about is whether this provides a 1:1 mapping,
>>>> or if
>>>> >>>>> it just allows you to register 1 iscsi device as a pool. You may
>>>> need
>>>> >>>>> to write some test code or read up a bit more about this. Let us
>>>> know.
>>>> >>>>> If it doesn't, you may just have to write your own storage adaptor
>>>> >>>>> rather than changing LibvirtStorageAdaptor.java.  We can cross
>>>> that
>>>> >>>>> bridge when we get there.
>>>> >>>>>
>>>> >>>>> As far as interfacing with libvirt, see the java bindings doc.
>>>> >>>>> http://libvirt.org/sources/java/javadoc/  Normally, you'll see a
>>>> >>>>> connection object be made, then calls made to that 'conn' object.
>>>> You
>>>> >>>>> can look at the LibvirtStorageAdaptor to see how that is done for
>>>> >>>>> other pool types, and maybe write some test java code to see if
>>>> you
>>>> >>>>> can interface with libvirt and register iscsi storage pools
>>>> before you
>>>> >>>>> get started.
>>>> >>>>>
>>>> >>>>> On Fri, Sep 13, 2013 at 5:31 PM, Mike Tutkowski
>>>> >>>>> <mike.tutkow...@solidfire.com> wrote:
>>>> >>>>> > So, Marcus, I need to investigate libvirt more, but you figure
>>>> it
>>>> >>>>> > supports
>>>> >>>>> > connecting to/disconnecting from iSCSI targets, right?
>>>> >>>>> >
>>>> >>>>> >
>>>> >>>>> > On Fri, Sep 13, 2013 at 5:29 PM, Mike Tutkowski
>>>> >>>>> > <mike.tutkow...@solidfire.com> wrote:
>>>> >>>>> >>
>>>> >>>>> >> OK, thanks, Marcus
>>>> >>>>> >>
>>>> >>>>> >> I am currently looking through some of the classes you pointed
>>>> out
>>>> >>>>> >> last
>>>> >>>>> >> week or so.
>>>> >>>>> >>
>>>> >>>>> >>
>>>> >>>>> >> On Fri, Sep 13, 2013 at 5:26 PM, Marcus Sorensen
>>>> >>>>> >> <shadow...@gmail.com>
>>>> >>>>> >> wrote:
>>>> >>>>> >>>
>>>> >>>>> >>> Yes, my guess is that you will need the iscsi initiator
>>>> utilities
>>>> >>>>> >>> installed. There should be standard packages for any distro.
>>>> Then
>>>> >>>>> >>> you'd call
>>>> >>>>> >>> an agent storage adaptor to do the initiator login. See the
>>>> info I
>>>> >>>>> >>> sent
>>>> >>>>> >>> previously about LibvirtStorageAdaptor.java and libvirt iscsi
>>>> >>>>> >>> storage type
>>>> >>>>> >>> to see if that fits your need.
>>>> >>>>> >>>
>>>> >>>>> >>> On Sep 13, 2013 4:55 PM, "Mike Tutkowski"
>>>> >>>>> >>> <mike.tutkow...@solidfire.com>
>>>> >>>>> >>> wrote:
>>>> >>>>> >>>>
>>>> >>>>> >>>> Hi,
>>>> >>>>> >>>>
>>>> >>>>> >>>> As you may remember, during the 4.2 release I developed a
>>>> SolidFire
>>>> >>>>> >>>> (storage) plug-in for CloudStack.
>>>> >>>>> >>>>
>>>> >>>>> >>>> This plug-in was invoked by the storage framework at the
>>>> necessary
>>>> >>>>> >>>> times
>>>> >>>>> >>>> so that I could dynamically create and delete volumes on the
>>>> >>>>> >>>> SolidFire SAN
>>>> >>>>> >>>> (among other activities).
>>>> >>>>> >>>>
>>>> >>>>> >>>> This is necessary so I can establish a 1:1 mapping between a
>>>> >>>>> >>>> CloudStack
>>>> >>>>> >>>> volume and a SolidFire volume for QoS.
>>>> >>>>> >>>>
>>>> >>>>> >>>> In the past, CloudStack always expected the admin to create
>>>> large
>>>> >>>>> >>>> volumes ahead of time and those volumes would likely house
>>>> many
>>>> >>>>> >>>> root and
>>>> >>>>> >>>> data disks (which is not QoS friendly).
>>>> >>>>> >>>>
>>>> >>>>> >>>> To make this 1:1 mapping scheme work, I needed to modify
>>>> logic in
>>>> >>>>> >>>> the
>>>> >>>>> >>>> XenServer and VMware plug-ins so they could create/delete
>>>> storage
>>>> >>>>> >>>> repositories/datastores as needed.
>>>> >>>>> >>>>
>>>> >>>>> >>>> For 4.3 I want to make this happen with KVM.
>>>> >>>>> >>>>
>>>> >>>>> >>>> I'm coming up to speed with how this might work on KVM, but
>>>> I'm
>>>> >>>>> >>>> still
>>>> >>>>> >>>> pretty new to KVM.
>>>> >>>>> >>>>
>>>> >>>>> >>>> Does anyone familiar with KVM know how I will need to
>>>> interact with
>>>> >>>>> >>>> the
>>>> >>>>> >>>> iSCSI target? For example, will I have to expect Open iSCSI
>>>> will be
>>>> >>>>> >>>> installed on the KVM host and use it for this to work?
>>>> >>>>> >>>>
>>>> >>>>> >>>> Thanks for any suggestions,
>>>> >>>>> >>>> Mike
>>>> >>>>> >>>>
>>>> >>>>> >>>> --
>>>> >>>>> >>>> Mike Tutkowski
>>>> >>>>> >>>> Senior CloudStack Developer, SolidFire Inc.
>>>> >>>>> >>>> e: mike.tutkow...@solidfire.com
>>>> >>>>> >>>> o: 303.746.7302
>>>> >>>>> >>>> Advancing the way the world uses the cloud™
>>>> >>>>> >>
>>>> >>>>> >>
>>>> >>>>> >>
>>>> >>>>> >>
>>>> >>>>> >> --
>>>> >>>>> >> Mike Tutkowski
>>>> >>>>> >> Senior CloudStack Developer, SolidFire Inc.
>>>> >>>>> >> e: mike.tutkow...@solidfire.com
>>>> >>>>> >> o: 303.746.7302
>>>> >>>>> >> Advancing the way the world uses the cloud™
>>>> >>>>> >
>>>> >>>>> >
>>>> >>>>> >
>>>> >>>>> >
>>>> >>>>> > --
>>>> >>>>> > Mike Tutkowski
>>>> >>>>> > Senior CloudStack Developer, SolidFire Inc.
>>>> >>>>> > e: mike.tutkow...@solidfire.com
>>>> >>>>> > o: 303.746.7302
>>>> >>>>> > Advancing the way the world uses the cloud™
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>> --
>>>> >>>> Mike Tutkowski
>>>> >>>> Senior CloudStack Developer, SolidFire Inc.
>>>> >>>> e: mike.tutkow...@solidfire.com
>>>> >>>> o: 303.746.7302
>>>> >>>> Advancing the way the world uses the cloud™
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>>
>>>> >>> --
>>>> >>> Mike Tutkowski
>>>> >>> Senior CloudStack Developer, SolidFire Inc.
>>>> >>> e: mike.tutkow...@solidfire.com
>>>> >>> o: 303.746.7302
>>>> >>> Advancing the way the world uses the cloud™
>>>> >>
>>>> >>
>>>> >>
>>>> >>
>>>> >> --
>>>> >> Mike Tutkowski
>>>> >> Senior CloudStack Developer, SolidFire Inc.
>>>> >> e: mike.tutkow...@solidfire.com
>>>> >> o: 303.746.7302
>>>> >> Advancing the way the world uses the cloud™
>>>>
>>>
>>>
>>>
>>> --
>>> *Mike Tutkowski*
>>> *Senior CloudStack Developer, SolidFire Inc.*
>>> e: mike.tutkow...@solidfire.com
>>> o: 303.746.7302
>>> Advancing the way the world uses the 
>>> cloud<http://solidfire.com/solution/overview/?video=play>
>>> *™*
>>>
>>
>>
>>
>> --
>> *Mike Tutkowski*
>> *Senior CloudStack Developer, SolidFire Inc.*
>> e: mike.tutkow...@solidfire.com
>> o: 303.746.7302
>> Advancing the way the world uses the 
>> cloud<http://solidfire.com/solution/overview/?video=play>
>> *™*
>>
>

Reply via email to