Better to wire up the lun directly to the vm unless there is a good reason
not to.
On Sep 13, 2013 7:40 PM, "Marcus Sorensen" <shadow...@gmail.com> wrote:

> You could do that, but as mentioned I think its a mistake to go to the
> trouble of creating a 1:1 mapping of CS volumes to luns and then putting a
> filesystem on it, mounting it, and then putting a QCOW2 or even RAW disk
> image on that filesystem. You'll lose a lot of iops along the way, and have
> more overhead with the filesystem and its journaling, etc.
> On Sep 13, 2013 7:33 PM, "Mike Tutkowski" <mike.tutkow...@solidfire.com>
> wrote:
>
>> Ah, OK, I didn't know that was such new ground in KVM with CS.
>>
>> So, the way people use our SAN with KVM and CS today is by selecting
>> SharedMountPoint and specifying the location of the share.
>>
>> They can set up their share using Open iSCSI by discovering their iSCSI
>> target, logging in to it, then mounting it somewhere on their file system.
>>
>> Would it make sense for me to just do that discovery, logging in, and
>> mounting behind the scenes for them and letting the current code manage the
>> rest as it currently does?
>>
>>
>> On Fri, Sep 13, 2013 at 7:27 PM, Marcus Sorensen <shadow...@gmail.com>wrote:
>>
>>> Oh, hypervisor snapshots are a bit different. I need to catch up on the
>>> work done in KVM, but this is basically just disk snapshots + memory dump.
>>> I still think disk snapshots would preferably be handled by the SAN, and
>>> then memory dumps can go to secondary storage or something else. This is
>>> relatively new ground with CS and KVM, so we will want to see how others
>>> are planning theirs.
>>>  On Sep 13, 2013 7:20 PM, "Marcus Sorensen" <shadow...@gmail.com> wrote:
>>>
>>>> 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>
>>>>>> *™*
>>>>>>
>>>>>
>>
>>
>> --
>> *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