Snapshot backup of Ignite native persistance data

classic Classic list List threaded Threaded
4 messages Options
arunkjn arunkjn
Reply | Threaded
Open this post in threaded view
|

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/
Ivan Rakov Ivan Rakov
Reply | Threaded
Open this post in threaded view
|

Re: Snapshot backup of Ignite native persistance data

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/

arunkjn arunkjn
Reply | Threaded
Open this post in threaded view
|

Re: Snapshot backup of Ignite native persistance data

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/
Ivan Rakov Ivan Rakov
Reply | Threaded
Open this post in threaded view
|

Re: Snapshot backup of Ignite native persistance data

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/