I wanted first to see what other people think about this feature. That’s why I 
posted it on Dev list. If enough people consider it as an useful feature for 
ACS,  then I can make formal feature request.

On 9/9/16, 1:25 PM, "Tutkowski, Mike" <mike.tutkow...@netapp.com> wrote:

    With CloudStack as it currently stands, I believe you will need to resort 
to storage tagging for your use case then.
    ________________________________________
    From: Yiping Zhang <yzh...@marketo.com>
    Sent: Friday, September 9, 2016 1:44 PM
    To: dev@cloudstack.apache.org
    Subject: Re: storage affinity groups
    
    Will described my use case perfectly.
    
    Ideally, the underlying storage technology used for the cloud should 
provide the reliability required.  But not every company has the money for the 
best storage technology on the market. So the next best thing is to provide 
some fault tolerance redundancy through the app and at the same time make it 
easy to use for end users and administrators alike.
    
    Regards,
    
    Yiping
    
    On 9/9/16, 11:49 AM, "Tutkowski, Mike" <mike.tutkow...@netapp.com> wrote:
    
        Yep, based on the recent e-mail Yiping sent, I would agree, Will.
    
        At the time being, you have two options: 1) storage tagging 2) 
fault-tolerant primary storage like a SAN.
        ________________________________________
        From: williamstev...@gmail.com <williamstev...@gmail.com> on behalf of 
Will Stevens <wstev...@cloudops.com>
        Sent: Friday, September 9, 2016 12:44 PM
        To: dev@cloudstack.apache.org
        Subject: Re: storage affinity groups
    
        My understanding is that he wants to do anti-affinity across primary
        storage endpoints.  So if he has two web servers, it would ensure that 
one
        of his web servers is on Primary1 and the other is on Primary2.  This 
means
        that if he loses a primary storage for some reason, he only loses one of
        his load balanced web servers.
    
        Does that sound about right?
    
        *Will STEVENS*
        Lead Developer
    
        *CloudOps* *| *Cloud Solutions Experts
        420 rue Guy *|* Montreal *|* Quebec *|* H3J 1S6
        w cloudops.com *|* tw @CloudOps_
    
        On Fri, Sep 9, 2016 at 2:40 PM, Tutkowski, Mike 
<mike.tutkow...@netapp.com>
        wrote:
    
        > Hi Yiping,
        >
        > Reading your most recent e-mail, it seems like you are looking for a
        > feature that does more than simply makes sure virtual disks are 
roughly
        > allocated equally across the primary storages of a given cluster.
        >
        > At first, that is what I imagined your request to be.
        >
        > From this e-mail, though, it looks like this is something you'd like 
users
        > to be able to personally choose (ex. a user might want virtual disk 1 
on
        > different storage than virtual disk 2).
        >
        > Is that a fair representation of your request?
        >
        > If so, I believe storage tagging (as was mentioned by Marty) is the 
only
        > way to do that at present. It does, as you indicated, lead to a
        > proliferation of offerings, however.
        >
        > As for how I personally solve this issue: I do not run a cloud. I 
work for
        > a storage vendor. In our situation, the clustered SAN that we develop 
is
        > highly fault tolerant. If the SAN is offline, then it probably means 
your
        > entire datacenter is offline (ex. power loss of some sort).
        >
        > Talk to you later,
        > Mike
        > ________________________________________
        > From: Yiping Zhang <yzh...@marketo.com>
        > Sent: Friday, September 9, 2016 11:08 AM
        > To: dev@cloudstack.apache.org
        > Subject: Re: storage affinity groups
        >
        > I am not a Java developer, so I am at a total loss on Mike’s 
approach. How
        > would end users choose this new storage pool allocator from UI when
        > provisioning new instance?
        >
        > My hope is that if the feature is added to ACS, end users can assign 
an
        > anti-storage affinity group to VM instances, just as assign anti-host
        > affinity groups from UI or API, either at VM creation time, or update
        > assignments for existing instances (along with any necessary VM 
stop/start,
        > storage migration actions, etc).
        >
        > Obviously, this feature is useful only when there are more than one
        > primary storage devices available for the same cluster or zone (in 
case for
        > zone wide primary storage volumes).
        >
        > Just curious, how many primary storage volumes are available for your
        > clusters/zones?
        >
        > Regards,
        > Yiping
        >
        > On 9/8/16, 6:04 PM, "Tutkowski, Mike" <mike.tutkow...@netapp.com> 
wrote:
        >
        >     Personally, I think the most flexible way is if you have a 
developer
        > write a storage-pool allocator to customize the placement of virtual 
disks
        > as you see fit.
        >
        >     You extend the StoragePoolAllocator class, write your logic, and
        > update a config file so that Spring is aware of the new allocator and
        > creates an instance of it when the management server is started up.
        >
        >     You might even want to extend ClusterScopeStoragePoolAllocator
        > (instead of directly implementing StoragePoolAllocator) as it possibly
        > provides some useful functionality for you already.
        >     ________________________________________
        >     From: Marty Godsey <ma...@gonsource.com>
        >     Sent: Thursday, September 8, 2016 6:27 PM
        >     To: dev@cloudstack.apache.org
        >     Subject: RE: storage affinity groups
        >
        >     So what would be the best way to do it? I use templates to make it
        > simple for my users so that the Xen tools are already installed as an
        > example.
        >
        >     Regards,
        >     Marty Godsey
        >
        >     -----Original Message-----
        >     From: Yiping Zhang [mailto:yzh...@marketo.com]
        >     Sent: Thursday, September 8, 2016 7:55 PM
        >     To: dev@cloudstack.apache.org
        >     Subject: Re: storage affinity groups
        >
        >     Well, using tags leads to proliferation of templates or service
        > offerings etc. It is not very scalable and gets out of hand very 
quickly.
        >
        >     Yiping
        >
        >     On 9/8/16, 4:25 PM, "Marty Godsey" <ma...@gonsource.com> wrote:
        >
        >         I do this by using storage tags. As an example I have some
        > templates that are either created on SSD or magnetic storage. The 
template
        > has a storage tag associated with it and then I assigned the 
appropriate
        > storage tag to the primary storage.
        >
        >         Regards,
        >         Marty Godsey
        >
        >         -----Original Message-----
        >         From: Tutkowski, Mike [mailto:mike.tutkow...@netapp.com]
        >         Sent: Thursday, September 8, 2016 7:16 PM
        >         To: dev@cloudstack.apache.org
        >         Subject: Re: storage affinity groups
        >
        >         If one doesn't already exist, you can write a custom storage
        > allocator to handle this scenario.
        >
        >         > On Sep 8, 2016, at 4:25 PM, Yiping Zhang 
<yzh...@marketo.com>
        > wrote:
        >         >
        >         > Hi,  Devs:
        >         >
        >         > We all know how (anti)-host affinity group works in 
CloudStack,
        > I am wondering if there is a similar concept for (anti)-storage 
affinity
        > group?
        >         >
        >         > The use case is as this:  in a setup with just one 
(somewhat)
        > unreliable primary storage, if the primary storage is off line, then 
all VM
        > instances would be impacted. Now if we have two primary storage 
volumes for
        > the cluster, then when one of them goes offline, only half of VM 
instances
        > would be impacted (assuming the VM instances are evenly distributed 
between
        > the two primary storage volumes).  Thus, the (anti)-storage affinity 
groups
        > would make sure that instance's disk volumes are distributed among
        > available primary storage volumes just like (anti)-host affinity 
groups
        > would distribute instances among hosts.
        >         >
        >         > Does anyone else see the benefits of anti-storage affinity
        > groups?
        >         >
        >         > Yiping
        >
        >
        >
        >
        >
    
    
    

Reply via email to