Meeting notes:

Date: Sep 17, 2013

Attendees:

NetApp: Chris, David

Citrix: Alex, Animesh, Edison, Srinivas



1. TakeSnapshot method on storage plugin.

    Chris: TakeSnapshot method is implemented, but backup snapshot is failed on 
the hypervisor side, as the default backup snapshot procedure will send a 
copycommand to Xenserver resource, which can't recognize the snapshot created 
by NetApp storage plugin.

   Edison: take snapshot, then backup snapshot to secondary storage immediately 
is the default behavior in CloudStack. There is a way to customize it, by 
extends SnapshotStrategy interface. For example, we can write a 
SnapshotStrategy, which doesn't back up unless anther backup snapshot API is 
called. Or we can add a global configuration parameter to disable backup.

   Chris: backup snapshot is fine, but we need a way to customize the backup 
logic. Should we need to let hypervisor knows the snapshot created by NetApp, 
Xenserver has an API to introduce a volume/snapshot, but VMware seems doesn't 
have that kind of API.

   Edison: There is ways to customize the copy logic, by extending copyAsync in 
storage plugin. Everytime, mgt server sends a copycommand, it will go through 
both source storage provider and destination storage provider, If any of them  
knows how to handle the copycommand, then mgt server will handle it to storage 
provider, otherwise, mgt server will handle it to DataMotionService. So there 
are two ways to customize copycommand:

      a. implement copyAsync in storage plugin,

      b. add a new DataMotionService.

  Method a, is easier than method b.

   In copyAsync implementation, we can send the copyCommand to SSVM to handle 
the actual snapshot copy, instead of sending to hypervisor host.

   Chris: Need the detail about how to implement copyAsync in storage plugin:

  [Action]: Edison needs to provide detailed information on how to 
implementation of copyAsync



2. RevertSnapshot

    Chris: RevertSnapshot is never been called in CloudStack.

    Edison: CloudStack always assumes the snapshot is created, then will be 
backed up to image store immediately, so no need to revert snapshot.

    Chris: need to add revert snapshot functionality on the UI, and API to 
implement revert Snapshot functionality, as the snapshot created on NetApp can 
be reverted back.

    [Action]: Edison needs to implement RevertSnapshot, and call storage 
plugin's RevertSnapshot accordingly.



3.  NetApp volume snapshot.

   David: Due to the limitation of NetApp hardware(the number of snapshots can 
be stored on one NetApp volume is limited, less than 255?), we need to 
implement volume snapshot, instead of per VM volume snapshot.

   David: Need to change storage plugin API to take snapshots for all the VMs 
created on the primary storage, instead of per one volume, such as 
takeSnapshot(List<VM> vms), then NetApp can take only one snapshot on the whole 
NetApp volume.

   Animesh: Does NetApp's hardware has the information for VM's each volumes, 
as there is only one snapshot taking on primary storage?

   David: Yes, there is information per volume, we can store them in snapshot's 
path column in CloudStack DB.

   Alex: How about queue taking snapshot methods call in storage plugin? For 
example, queue the taking snapshot for several minutes, then issue only one 
take-snapshot command to NetApp hardware.

   David: It's doable, but maybe it's better to be done at the CloudStack mgt 
server level.

   Alex: Better to send out a proposal on the mailing list, let's see what 
other storage vendor's feedback. If we agree on it's better to implement it at 
mgt server level, then can definitely can implement that.

   Alex: Due to tight 4.3 schedule, maybe implement it at the storage driver 
level is more practical.

   [Action] NetApp will send out a proposal to mailing list.



4. Can't add multiple image storage providers in one CloudStack setup.

   Chris: There is on way to let customer to migrate existing NFS secondary 
storage to NetApp's image store, due to the above limitation.

   Edison: The reason for only one image storage provider is that: whenever 
CloudStack mgt server needs to access image store, mgt server has not hint to 
pick up an image store, if there are multiple image stores. As both image 
stores are in the same scope. And for operations, like template sync between 
image stores, template copy between zones, will be much complicated if there 
are multiple image stores.

   Edison: the proposal is putting the existing image store into maintenance 
mode, then migrate existing templates/snapshots stored on the image store to 
new image store.

   [Action] Edison needs to implement image store maintenance mode. NetApp may 
need to provide way to migrate image store.



5. How to store configuration for storage plugin:

    Animesh: Alex, is it OK to create DB table in storage plugin?

    Alex: Better to use *_details table

    Chris: For configurations like NetApp server info, or any other 
configuration parameter, it's not suitable in *_details

    Alex: Then can store them in configuration table

    Chris: configuration table is global, is it OK to store this kind of plugin 
specific information in global configuration?

    Alex: In 4.3, people are talking about ConfigurationDepot on the mailing 
list, which is suitable for your case.

    [Action]: Chris will take a look at ConfigDepot.



6. How to quiescing VMs:

   David: What we did in other VMware products is creating a VM snapshot first, 
 new linked clone will be created, all the data write will go to the new linked 
clone. NetApp can take snapshot on the parent linked clone, then backup it to 
secondary storage, then revert the snapshot, and delete the new linked clone. 
In this way, we can leverage VM snapshot to quiecse VM, then actually backup 
snapshot through NetApp.

   Alex: it's great! We maybe finally have a way to backup VMware snapshot 
efficiently. We need to investigate it, not only for VMware but also for 
Xenserver.

   [Action] Both need to investigate the possible way to quiesce VM, then come 
up with new APIs to quiesce/unquiese VM.







Reply via email to