Yes

With non-managed storage, the admin determines when to manually create and
delete datastores.

I think this will only be a problem with managed storage on VMware.


On Fri, Mar 28, 2014 at 5:14 PM, Alena Prokharchyk <
alena.prokharc...@citrix.com> wrote:

>  So it only affects managed storage?
>
>   From: Mike Tutkowski <mike.tutkow...@solidfire.com>
> Date: Friday, March 28, 2014 at 4:10 PM
> To: Alena Prokharchyk <alena.prokharc...@citrix.com>
> Cc: "dev@cloudstack.apache.org" <dev@cloudstack.apache.org>, "
> shadow...@gmail.com" <shadow...@gmail.com>
>
> Subject: Re: [PROPOSAL] ROOT volume detach - feature for CS 4.5
>
>   Let me illustrate this with an example:
>
>  * User creates a VM whose root disk is placed on managed storage
>
>  * Storage plug-in creates a volume on its SAN
>
>  * VMware server resource creates a datastore based on the newly created
> SAN volume (let me stress that this datastore was created by the VMware
> server resource - not manually by an admin as would be the case for
> non-managed storage)
>
>  * Inside the datastore are placed the VMDK file (root disk) along with
> VM config files like VMX, NVRAM, etc.
>
>  * User detaches the root volume (the VMDK file and VM config files
> remain in the datastore)
>
>  * User attaches another root volume to the VM (the VMDK file is stored
> in a datastore different from the datastore where the VM config files
> reside, which is fine for now)
>
>  * User deletes and expunges the original root disk (this leads to the
> datastore the VMDK file is on being removed...as a side effect, you will
> also lose your VM config files), SAN volume is deleted, CloudStack volume
> is marked as deleted in the database
>
>
> On Fri, Mar 28, 2014 at 5:05 PM, Mike Tutkowski <
> mike.tutkow...@solidfire.com> wrote:
>
>> So, do you guys see my concern with VMware, though?
>>
>>  VMware is different from XenServer and KVM in that its VM config files
>> are stored in the datastore along side the root volume (in CloudStack 4.3,
>> for example).
>>
>>  If you switch the VM to use a VMDK file in a different datastore, the
>> config files will remain in the original datastore (unless we transfer them
>> ourselves to the new datastore).
>>
>>  If they remain in the original datastore and that disk is deleted
>> later, the datastore that contains that disk will be removed (along with
>> the VM config files that are new being used in conjunction with a disk in
>> another datastore).
>>
>>
>> On Fri, Mar 28, 2014 at 4:58 PM, Alena Prokharchyk <
>> alena.prokharc...@citrix.com> wrote:
>>
>>>
>>>
>>> On 3/28/14, 3:50 PM, "Marcus" <shadow...@gmail.com> wrote:
>>>
>>> > I see this feature as mainly just shuffling around object properties
>>> >in the database. I don't expect any major issues to arise with any
>>> >storage if an inactive "root" disk is marked as a "data" disk in the
>>> >DB, for example. In the end, when you start a VM you're always going
>>> >to have a root disk in the vm instance object, and volumes that are
>>> >attached/detached are going to be passed as data disks (If I
>>> >understand correctly). It doesn't really matter to the storage drivers
>>> >if the volume object was previously of type root or data.
>>>
>>>  Correct. That¹s what I reflected in the spec. But I¹m going to test it
>>> on
>>> all major supported hypervisors - KVM/Xen/VmWare - anyway, just to be
>>> 100%
>>> sure nothing breaks.
>>>
>>>
>>>
>>> >
>>> >On Fri, Mar 28, 2014 at 12:48 PM, Alena Prokharchyk
>>> ><alena.prokharc...@citrix.com> wrote:
>>> >> I will look into it more, Mike. vmWare indeed can be different.
>>> >>
>>> >> -Alena.
>>> >>
>>> >> From: Mike Tutkowski
>>> >><mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>>
>>> >> Date: Friday, March 28, 2014 at 11:39 AM
>>> >> To: Alena Prokharchyk
>>> >><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>> >> Cc: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>"
>>> >><dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>
>>> >> Subject: Re: [PROPOSAL] ROOT volume detach - feature for CS 4.5
>>> >>
>>> >> VMware is also different because when you shut a VMware VM down from
>>> >>CloudStack, the VM still exists in vCenter Server (whereas for
>>> XenServer
>>> >>and KVM, the VM is gone).
>>> >>
>>> >> Since the life of a datastore that was created for managed storage is
>>> >>tied to the life of the CloudStack volume it stores, when the
>>> CloudStack
>>> >>volume is deleted, the datastore goes away, as well.
>>> >>
>>> >> If the datastore in question was automatically created to store a root
>>> >>disk (alongside VM config files) and you switch the VM to another root
>>> >>disk (which has to necessarily be in another datastore), you won't see
>>> a
>>> >>problem until the original root volume is expunged by CloudStack. At
>>> >>this point, its datastore will go away along with your VM config files.
>>> >>
>>> >>
>>> >> On Fri, Mar 28, 2014 at 12:31 PM, Mike Tutkowski
>>> >><mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>>
>>> >>wrote:
>>> >> Well, the reason I brought it up was mainly due to VMware.
>>> >>
>>> >> Let's use that as an example:
>>> >>
>>> >> I initiate the process of spinning up a VM based on managed storage.
>>> >> A volume is dynamically created on a SAN.
>>> >> VmwareStorageProcessor dynamically creates a datastore to consume the
>>> >>newly created SAN volume.
>>> >> All VMware VM files (ex. VMX, NVRAM) are placed in the datastore
>>> >>alongside the VMDK file that represents the root volume.
>>> >>
>>> >> Now, let's say we want to detach this root volume and give the VM a
>>> new
>>> >>root volume.
>>> >>
>>> >> The new root volume will necessarily be on a different datastore than
>>> >>the datastore of the previous root volume (because a datastore created
>>> >>to consume managed storage will have at most one VMDK file*).
>>> >>
>>> >> Is it going to be a problem that the VM's files (ex. VMX, NVRAM) are
>>> on
>>> >>one datastore, but its root disk is on another?
>>> >>
>>> >> I don't think it's really a problem until you go to delete the
>>> original
>>> >>root volume from CloudStack. At that point, its datastore will be
>>> >>removed (including, of course, your VM's VMX, NVRAM, etc. files).
>>> >>
>>> >> This is not really a problem on XenServer because XenServer does not
>>> >>store VM config files in the SR, so I think we're OK there.
>>> >>
>>> >> We should also be OK for KVM.
>>> >>
>>> >> * Technically it can have many if those other VMDK files are delta
>>> >>snapshots, but they still - together - represent a single disk.
>>> >>
>>> >>
>>> >> On Fri, Mar 28, 2014 at 10:36 AM, Alena Prokharchyk
>>> >><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>> >>wrote:
>>> >> Mike, thank you for the explanation on managed storage.. As far as I
>>> >>understand from your email, the main difference is instead of creating
>>> >>an SR on the PS, CloudStack will recognize pre-existing volume created
>>> >>outside of the CS. Am I correct?
>>> >>
>>> >> If so, I don't think there would be any difference. When root volume
>>> >>detach happens, no storage attributes - path, clusterId - are being
>>> >>changed. And we would apply the same set of checks to the root volume
>>> >>attach, as for a dataDisk attach.
>>> >>
>>> >> -Alena.
>>> >>
>>> >> From: Mike Tutkowski
>>> >><mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>>
>>> >> Date: Thursday, March 27, 2014 at 9:40 PM
>>> >> To: Alena Prokharchyk
>>> >><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>> >> Cc: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>"
>>> >><dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>
>>> >> Subject: Re: [PROPOSAL] ROOT volume detach - feature for CS 4.5
>>> >>
>>> >> Hi Alena,
>>> >>
>>> >> I was wondering if you've taken "managed" storage into consideration
>>> >>for this?
>>> >>
>>> >> If you're unfamiliar with it, managed storage is named as such because
>>> >>CloudStack manages it on behalf of the admin (ex. dynamically creating
>>> >>SRs as needed).
>>> >>
>>> >> For example, when I add primary storage to CloudStack that is based on
>>> >>the SolidFire SAN, I use the SolidFire plug-in, which is an example of
>>> >>managed storage.
>>> >>
>>> >> In this case, the primary storage represents a SAN as opposed to a
>>> >>preallocated volume.
>>> >>
>>> >> When the time comes to, say, attach a data disk to a VM for the first
>>> >>time, the SolidFire plug-in goes off to its SAN and dynamically creates
>>> >>a new volume on it (with the appropriate size and IOPS requirements).
>>> >>
>>> >> CloudStack has logic that recognizes managed storage.
>>> >>
>>> >> For example, for XenServer, its logic has been augmented to
>>> >>automatically create an SR based on the iSCSI target that was created
>>> on
>>> >>the SAN and to create a VDI within it that is attached to the VM in
>>> >>question.
>>> >>
>>> >> The big takeaway is that each CloudStack volume here will be
>>> associated
>>> >>with a unique volume on a SAN and consumed as an SR (XenServer) or
>>> >>datastore (ESX) (KVM handles this differently). In this situation,
>>> there
>>> >>is a 1:1 mapping between a SAN volume and an SR. No other VDIs are
>>> >>stored on the SR except for the one representing this one CloudStack
>>> >>volume.
>>> >>
>>> >> That being the case, I was wondering what you thought of this with
>>> >>regards to your root-volume-detach feature?
>>> >>
>>> >> If we don't want to look into this for 4.5, it might be best to simply
>>> >>fail to detach a root volume from a VM if the volume is based on
>>> managed
>>> >>storage or to fail to attach a bootable volume to a VM if it is based
>>> on
>>> >>managed storage.
>>> >>
>>> >> Talk to you later,
>>> >> Mike
>>> >>
>>> >>
>>> >> On Tue, Mar 25, 2014 at 1:24 PM, Alena Prokharchyk
>>> >><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>> >>wrote:
>>> >> Mike,
>>> >>
>>> >> Volume has a template_id referencing vm_template table. Vm_template
>>> has
>>> >> bootable flag, so we will derive information from there.
>>> >> And sure, this information will not change if the root disk is
>>> detached.
>>> >>
>>> >> On 3/25/14, 12:18 PM, "Mike Tutkowski"
>>> >><mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>>
>>> >> wrote:
>>> >>
>>> >>>Hi Alena,
>>> >>>
>>> >>>I was wondering how we plan to keep track of the new "bootable"
>>> >>>property?
>>> >>>When we create a VM, would we just mark its root disk as bootable and
>>> >>>then
>>> >>>that property becomes immutable (for the upgrade case, all root disks
>>> >>>would
>>> >>>be marked as bootable)?
>>> >>>
>>> >>>I'm thinking we'd want to keep track of bootable disks even when there
>>> >>>are
>>> >>>detached and turned into data disks. Is that what you had in mind?
>>> >>>
>>> >>>Thanks!
>>> >>>Mike
>>> >>>
>>> >>>
>>> >>>On Tue, Mar 25, 2014 at 12:20 PM, Alena Prokharchyk <
>>> >>>alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>
>>> >>>wrote:
>>> >>>
>>> >>>> Here is the link to the corresponding FS (placed in "4.5 Design
>>> >>>>documents"
>>> >>>> section)
>>> >>>>
>>> >>>>
>>> >>>>
>>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/ROOT+volume+deta
>>> >>>>ch
>>> >>>>
>>> >>>> -Alena.
>>> >>>>
>>> >>>> From: Alena Prokharchyk
>>> >>>><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com
>>> ><mail
>>> >>>>to:
>>> >>>> alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>>>
>>> >>>> Date: Monday, March 24, 2014 at 11:37 AM
>>> >>>> To:
>>> >>>>"dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org><mailto:
>>> dev
>>> >>>>@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>" <
>>> >>>>
>>> >>>>dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org><mailto:
>>> dev@
>>> >>>>cloudstack.apache.org<mailto:dev@cloudstack.apache.org>>>
>>> >>>> Subject: [PROPOSAL] ROOT volume detach - feature for CS 4.5
>>> >>>>
>>> >>>> I would like to propose a new feature for CS 4.5 - "ROOT volume
>>> >>>>detach"
>>> >>>>-
>>> >>>> that enables support for following use cases:
>>> >>>>
>>> >>>> 1) Replace current ROOT volume with the new one for  existing vm.
>>> >>>> 2) Case when ROOT volume of vm1 gets corrupted, and you want to
>>> attach
>>> >>>>it
>>> >>>> to vm2 to run the recovery utils on it. With current CS
>>> implemntation,
>>> >>>>you
>>> >>>> have to perform several steps - create snapshot of vm1's volume,
>>> >>>>create
>>> >>>> volume from snapshot, attach volume to the vm2. New implementation
>>> >>>>will
>>> >>>> merge it all to one step.
>>> >>>>
>>> >>>>
>>> >>>> With the planned implementation, once the ROOT volume is detached,
>>> it
>>> >>>>can
>>> >>>> be attached to any existing vm (with respect to
>>> Admin/Domain/Physical
>>> >>>> resources limitations), either as a DataDisk or a Root disk.
>>> >>>>
>>> >>>> Amazon EC2 already has this functionality in place, so I think CS
>>> >>>>would
>>> >>>> only benefit from having it. Storage experts (Edison, others) please
>>> >>>>raise
>>> >>>> your concerns if you have any, or if you see any potential problems
>>> >>>>with
>>> >>>> the planned implementation. And if anyone can think of other use
>>> cases
>>> >>>>this
>>> >>>> feature can possible solve, I would appreciate this input as well.
>>> >>>>
>>> >>>>
>>> >>>> Feature limitations:
>>> >>>>
>>> >>>> * ROOT volume can be detached only when vm is in Stopped state
>>> >>>> * CS will fail to start the vm not having a ROOT volume
>>> >>>>
>>> >>>> I will send out the link to the FS once I start getting feedback on
>>> >>>>the
>>> >>>> proposal.
>>> >>>>
>>> >>>> -Alena.
>>> >>>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>--
>>> >>>*Mike Tutkowski*
>>> >>>*Senior CloudStack Developer, SolidFire Inc.*
>>> >>>e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
>>> >>>o: 303.746.7302<tel:303.746.7302>
>>> >>>Advancing the way the world uses the
>>> >>>cloud<http://solidfire.com/solution/overview/?video=play>
>>> >>>*(tm)*
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Mike Tutkowski
>>> >> Senior CloudStack Developer, SolidFire Inc.
>>> >> e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
>>> >> o: 303.746.7302<tel:303.746.7302>
>>> >> Advancing the way the world uses the
>>> >>cloud<http://solidfire.com/solution/overview/?video=play>(tm)
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Mike Tutkowski
>>> >> Senior CloudStack Developer, SolidFire Inc.
>>> >> e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
>>> >> o: 303.746.7302<tel:303.746.7302>
>>> >> Advancing the way the world uses the
>>> >>cloud<http://solidfire.com/solution/overview/?video=play>(tm)
>>> >>
>>> >>
>>> >>
>>> >> --
>>> >> Mike Tutkowski
>>> >> Senior CloudStack Developer, SolidFire Inc.
>>> >> e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
>>> >> o: 303.746.7302
>>> >> Advancing the way the world uses the
>>> >>cloud<http://solidfire.com/solution/overview/?video=play>(tm)
>>>
>>>
>>
>>
>>  --
>> *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>
>> *(tm)*
>>
>
>
>
>  --
> *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>
> *(tm)*
>



-- 
*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>
*(tm)*

Reply via email to