You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by arunkjn <ar...@gmail.com> on 2018/02/19 09:15:46 UTC

Snapshot backup of Ignite native persistance data

Hi,

I have an ignite cluster which has some durable caches. These caches are
using amazon EBS volumes. I want to backup each EBS node daily for disaster
recovery since we cannot afford losing the data and want disaster recovery
capability.

I was looking around to see if ignite offers a native way of taking reliable
snapshots. I could see its support in the grid gain
distribution(https://www.gridgain.com/products/software/ultimate-edition/cluster-snapshots).
Is there anything available in ignite to do the same?



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Snapshot backup of Ignite native persistance data

Posted by Ivan Rakov <iv...@gmail.com>.
Arun,

1. First option - you'll get something like this

> Method threw 'org.apache.ignite.IgniteException' exception: Can not 
> perform the operation because the cluster is inactive. Note, that the 
> cluster is considered inactive by default if Ignite Persistent Store 
> is used to let all the nodes join the cluster. To activate the cluster 
> call Ignite.active(true). 
2. active(false) is synchronous. You can consider that the cluster is 
deactivated when ignite.cluster().active(false) call returned.
3. Every node in cluster has unique consistent ID. It should remain 
unchanged after node restart. By default, it's generated automatically 
from something like host:port, but you can override it via 
IgniteConfiguration#setConsistentId.
This is necessary because {$IGNITE_HOME}\work\db and 
{$IGNITE_HOME}\work\db\wal has subfolders with names of consistent IDs 
ever started locally. If you change consistent ID, old Ignite Native 
Persistence files won't be found and node will start from scratch.

Best Regards,
Ivan Rakov

On 19.02.2018 15:22, arunkjn wrote:
> Hi Ivan,
>
> Thanks for you reply.
>
> I have some follow up questions.
> 1. What is the behaviour of cluster when it is in
> ignite.cluster.active(false) state? Does it throw error when a cache seek
> operation is performed? Or does it wait for cluster to become active again?
> 2. How can I reliably know if cluster has become inactive before taking
> backup? Is cluster.active(false) a synchronous operation?
> 3. What do you mean by "consistent ID of your nodes"? Can you please
> elaborate?
>
> Thanks,
> Arun
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/


Re: Snapshot backup of Ignite native persistance data

Posted by arunkjn <ar...@gmail.com>.
Hi Ivan,

Thanks for you reply.

I have some follow up questions.
1. What is the behaviour of cluster when it is in
ignite.cluster.active(false) state? Does it throw error when a cache seek
operation is performed? Or does it wait for cluster to become active again? 
2. How can I reliably know if cluster has become inactive before taking
backup? Is cluster.active(false) a synchronous operation?
3. What do you mean by "consistent ID of your nodes"? Can you please
elaborate?

Thanks,
Arun



--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Re: Snapshot backup of Ignite native persistance data

Posted by Ivan Rakov <iv...@gmail.com>.
Hi!

If it's possible to turn off your system for a while on a daily basis, 
you can stop the grid and move your Ignite Native Persistence files 
manually. This can be just one script run for the whole cluster if 
you'll use tools like Ansible.

Here's step-by-step guide:
1) Turn off your Ignite cluster by calling ignite.cluster().active(false)
2) Copy content of your {$IGNITE_HOME}\work\db folder (with default 
settings, all Ignite Native Persistence files reside here) to your 
backup folder
3) Turn on your system back by calling ignite.cluster().active(true)

If you want to perform a restore from backup, you should just deactivate 
- copy files back - activate.
Please mind that you should restore on the same topology, and consistent 
ID of your nodes should remain unchanged. Good luck!

Best Regards,
Ivan Rakov

On 19.02.2018 12:15, arunkjn wrote:
> Hi,
>
> I have an ignite cluster which has some durable caches. These caches are
> using amazon EBS volumes. I want to backup each EBS node daily for disaster
> recovery since we cannot afford losing the data and want disaster recovery
> capability.
>
> I was looking around to see if ignite offers a native way of taking reliable
> snapshots. I could see its support in the grid gain
> distribution(https://www.gridgain.com/products/software/ultimate-edition/cluster-snapshots).
> Is there anything available in ignite to do the same?
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/