Deployment Architecture

Data Recovery: Is there a way to force a backup containing a hot directory to cold so I can move into thaweddb?

paimonsoror
Builder

Hi All;

This may have been a complicated question, but I was wondering if there was a way to force hot directories that were in a filesystem snapshot to cold so that I can move them to my thaweddb?

We had a file system issue this past week in a clustered environment and lost a ton of historical data in Splunk (possibly human error, so i wont get into that). One thing that we were able to do, is recover our data from a nightly backup of our filesystems. The great thing was that we were able to do this without any service interruption as we:

  1. Restored all of the backup data to a local directory on each indexer
  2. Ran the splunk fdsk check to make sure the data wasn't damaged
  3. For each indexer, took all the 'db_' buckets for priority indexes and threw them into the thaweddb.

This worked just great as the data was instantly restored (albeit now i have to manage that space moving forward). I did see however that some indexes still have significant gaps. The likely culprit is that these indexes still had hot buckets during their backup snapshot. I was wondering, is there a way that I can either:

A. throw those hot buckets into thaweddb and have them work as well as the cold buckets did
B. force the hot buckets in the local backup directory to cold, so that i can put them in thaweddb

Thanks for the assistance!

0 Karma
1 Solution

paimonsoror
Builder

All;

I managed to solve this problem using one of the answers from the following posting:

https://answers.splunk.com/answers/13032/is-there-a-way-to-restore-hot-buckets.html?utm_source=newca...

I can verify that this still works with v6.4.2.

What I did was copied my backed up hot buckets to the production index's db directory. The most important part however is that you need to take the hot bucket reference lines from the .bucketManifest on the backup and add them to the production bucketManifest. If you dont, the indexer will fail to start as it will see directories in the db directory that it doesn't know about.

Once I did that, a start of the indexer caused the hot buckets to roll to warm.

View solution in original post

paimonsoror
Builder

All;

I managed to solve this problem using one of the answers from the following posting:

https://answers.splunk.com/answers/13032/is-there-a-way-to-restore-hot-buckets.html?utm_source=newca...

I can verify that this still works with v6.4.2.

What I did was copied my backed up hot buckets to the production index's db directory. The most important part however is that you need to take the hot bucket reference lines from the .bucketManifest on the backup and add them to the production bucketManifest. If you dont, the indexer will fail to start as it will see directories in the db directory that it doesn't know about.

Once I did that, a start of the indexer caused the hot buckets to roll to warm.

paimonsoror
Builder

One thing I was able to conclude is that you cannot move a backed up hot bucket to the index's db even if there is no bucket collissions. Once you restart the indexer, it will roll the latest self-created hot bucket to warm, but the old (restored) hot buckets won't roll. Instead you will get an error alerting you to the fact that there are manually-copied hot buckets 😞

0 Karma
Get Updates on the Splunk Community!

Adoption of RUM and APM at Splunk

    Unleash the power of Splunk Observability   Watch Now In this can't miss Tech Talk! The Splunk Growth ...

Routing logs with Splunk OTel Collector for Kubernetes

The Splunk Distribution of the OpenTelemetry (OTel) Collector is a product that provides a way to ingest ...

Welcome to the Splunk Community!

(view in My Videos) We're so glad you're here! The Splunk Community is place to connect, learn, give back, and ...