stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Praneesha Chandrasiri <pranee...@wso2.com>
Subject Re: How to Use persistance mapping in Stratos.
Date Sat, 19 Apr 2014 14:16:01 GMT
Hi Udara,

I have added the above information in [1].

Please review & advise.

[1]
https://cwiki.apache.org/confluence/display/STRATOS/4.0.0+Persistence+Volume+Mapping


On Fri, Apr 18, 2014 at 10:54 AM, Praneesha Chandrasiri
<praneesha@wso2.com>wrote:

> Hi Udara,
>
> Thanks a lot for the information.
>
> Will create a seperate page including these details in the wiki.
>
>
> On Fri, Apr 18, 2014 at 10:30 AM, Udara Liyanage <udara@wso2.com> wrote:
>
>> Hi,
>>
>> I thought of summarizing this since this has discussed in several mailing
>> threads.
>>
>> Please correct if you see anything missing in this mail.
>>
>> *Use case *: Adding persistence volume is very much similar to adding a
>> virtual hard drive to your instance.In Amazon EC2 it is adding a EBS
>> storage device to the instance. Please refer to [1] for more details.
>> Persistence volume capability comes handy when you want to store your
>> content in a separate place and make the data available even after the
>> instance is terminated or deleted. MySQL, MongoDB are examples where you
>> may need this capability.
>>
>> Below are the steps you need to perform to enable persistence volume
>> mapping capability.
>>
>> * *Cartridge Definition*
>> You need to add a similar configuration to the cartridge definition.
>> Please note that the persistence is an optional configuration which user
>> specify if he wants additional volumes to store his content.
>>
>>  "persistence": {
>>         "isRequired": true,
>>         "volume" : [
>>             {
>>             "device": "/dev/sdc",
>>             "mappingPath": "/home/ubuntu/sdc",
>>             "size": "10",
>>             "removeOnTermination": "false"
>>             }
>>      ]
>>      }
>>
>> Here I say I want an extra volumes to store my content. Linux device of
>> the first volume should be /dev/sdc which will be mounted to the directory
>> /home/ubuntu/sdc. The capacity of the volume should be 10GB.
>> removeOnTermination parameter specify what should be done to the volume
>> created after the termination of the instance. if removeOnTermination=false
>> the volume and its data will exist even after the volume is terminated so
>> data is not deleted.
>>
>> * *Subscribe with persistence volumes *
>> Just by adding to the cartridge definition does not provide volumes for
>> the instances. We have to specify we require volumes at the time of
>> subscribing.
>>
>> * by CLI
>> [2] shows how to subscribe with persistence mappings
>>  * by UI
>>                If you are subscribing with the Stratos Ui, there is tick
>> as "persistence mappings" on the "subscribe to cartridge" page. Please tick
>> it and provide required details.
>>
>> * *Multiple persistence volumes*
>>
>> Stratos provides the capability to specify multiple persistence volumes
>> in case you require more that one additional volume.
>>
>>  "persistence": {
>>         "isRequired": true,
>>         "volume" : [
>>             {
>>             "device": "/dev/sdc",
>>             "mappingPath": "/home/ubuntu/sdc",
>>             "size": "10",
>>             "removeOnTermination": "false"
>>             },
>>             {
>>             "device": "/dev/sdf",
>>             "mappingPath": "/home/ubuntu/sdf",
>>             "size": "20",
>>             "removeOnTermination": "false"
>>             }
>>      ]
>>      }
>>
>> Note that don't specify the same mappingPath to multiple volumes. Then it
>> will be mapped to the last volume which can not be predicted, other volumes
>> will not be mapped to a directory.
>>
>> *What happens behind the scene.*
>>
>> If you subscribe with persistence mappings, Stratos will,
>> 1 Create the volumes.
>>  2 Format and create a writable file system (ext3)
>> 3 Mount volumes to the directory specified as mappingPath
>> Please note that the formatting and creating a file system happens at the
>> first time only. Next time when the volume is attaching to another instance
>> (after first instance is terminated), it is no longer needed to create a
>> file system since file system is already there.
>>
>> * *How to verify if the volumes are created.*
>>
>> Log in to the instance created by ssh and execute the command "df -h".
>> You will see a output similar to below.
>>
>> df -h
>> Filesystem      Size  Used Avail Use% Mounted on
>> /dev/xvdc        10G  7.1G   97G  3% /home/ubuntu/sdc
>> /dev/sda1       4000G  40G   320G  10% /home
>>
>> * *Limitations.*
>>
>> In most IAASes such as EC2 one volume can be attached to only one
>> instance. So if your deployment policy has maxInstance count more than 1,
>> you might encounter problems when Stratos tries to attach the the volume to
>> the second instance.
>>
>> This has tested only in EC2, need to be tested in other IAASes as well.
>>
>> * *Improvements*
>>
>> Currently size parameter is mandatory at the time of subscription. But in
>> ideal case the size specified in cartridge definition should be considered
>> as the default if the size is not given at the time of subscription.
>>
>>
>> [1]
>> http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-attaching-volume.html
>>
>>
>>
>> --
>>
>> Udara Liyanage
>> Software Engineer
>> WSO2, Inc.: http://wso2.com
>> lean. enterprise. middleware
>>
>> web: http://udaraliyanage.wordpress.com
>> phone: +94 71 443 6897
>>
>
>
>
> --
> Thanks & Best Regards,
> *Praneesha Chandrasiri*
> *Technical Writer*
> *WSO2 Inc. *
> *Mobile: +(94) 718156888 <%2B%2894%29%20718156888>*
> *E-mail: praneesha@wso2.com <praneesha@wso2.com>*
>
>


-- 
Thanks & Best Regards,
*Praneesha Chandrasiri*
*Technical Writer*
*WSO2 Inc. *
*Mobile: +(94) 718156888*
*E-mail: praneesha@wso2.com <praneesha@wso2.com>*

Mime
View raw message