Was this article helpful?

Object Storage (swift) Functional Spec

Some investigations

 

httpfs on swift solution may not work for ISO and Template


one requirement for https is http server needs to support loading arbitrary parts of the file with a Range-Header in the GET-Request , I checked swift document and code, I don't think swift support this. I'll do some tests about this.

 

vhd coalesce needs cache,


I thought vhd coalesce work with the http download(from swift) stream, then we don't need to save snapshot temparorily and do coalesce, I think it doesn't work, vhd coalese will access vhd file randomly

 

swift support big file > 5G

     It is still true, but with different mechanism previouly , proxy will do the segment, now swift client needs to do the segment.

Design


swift account


   1)CS uses one swift account
   2)ISO, one iso container
   3)template, one template container
   4)snapshot, one container per volume
  

template/iso  upload,


   through SSVM to swift
 

create VM from template/iso


   download template/iso from swift to primary storage

  1. template, no problem
  2. nfs/iso,  copy iso to nfs share, symbolic link to local ISO SR
  3. iscsi/iso dd iso to a lvm volume, which is not managed by XenServer like heartbeat volume, symblic link to local ISO SR

   symbolic in #2) works, need to test symbolic in #3)
 

create snapshot


   1) upload snapshot to swift
   2) full + n delta
 

create template/volume from snapshot


   1) download snapshot to primary storage
   2) do coalesce
   3) introduce new vdi.

 

template.properties


1) rename it to “template-name”. properties.
2) need to change script to update system vm and built-in template
     Or, we set up a swift, use can get system vm and built-in template from it, and some built-in ISO, it will simply installation.
3) use can update other templates to swift by using this script, then click a VM sync button in CS, CS will get latest template.

 

volume export


1) do a vdi-copy in primary storage( vhd coalese)
2) update the new vhd to swift
3) destroy the vhd
5) return url of the volume to user ( SSVM don’t need to run apache)
 

Was this article helpful?
Page statistics
1111 view(s), 4 edit(s) and 2943 character(s)

Tags

This page has no custom tags set.

Comments

You must to post a comment.

Attach file

Attachments