Hi All,
We are embarking on moving our Splunk 8.1.3 servers from old version of RHEL to new RHEL servers. The servers names are going to be different and we currently have the config based on IP/hostname as opposed to alias.
We have perused the answers community and as well, referred Splunk documentation and have identified the below approach for indexer cluster migration. There's no single Splunk document that talks about this fairly common occurrence in many environments. We also have raised a Splunk support case for advice but to no avail.
A few details about our existing cluster so you can factor that in while reviewing the below
Key concerns:
Can you please verify/validate/provide commentary/gotchas on this approach please? Would love suggestions on improving this as well
Proposed steps
1. Indexers in detention participate in searches, but not in ingestion or (inbound) replication. This is an important step in the migration process. If you can't put all old indexers into migration then you risk moving data multiple times and prolonging the process.
2. Putting the old indexers into detention is what prevents them from receiving data from other old indexers.
3. Do the data balance after all old indexers are removed from the cluster.
4. Taking a peer offline tells the cluster to ensure all data on that indexer exists elsewhere in the cluster and satisfies RF/SF. It may require a physical move to do so, depending on the replication status.
5. I don't know the answer to this question.
6. There's no need to change RF or SF.
I agree this procedure could be much better documented by Splunk.
Splunk Support is for break/fix issues rather than technical advice.
I think you've over-complicated things a little.
The procedure I prefer for replacing index cluster hardware is:
1) Install Splunk on the new hardware and configure it to match the old indexers
2) Add all of the new indexers to the cluster
3) Redirect forwarders to the new indexers
4) Put the old indexers into Detention. This will keep them from receiving new data.
5) Issue a 'splunk offline --enforce-counts' command to ONE old indexer
6) Wait for the buckets to migrate off the old indexer. Depending on the number of buckets, this could take a while. The indexer will shut itself down when migration is complete.
7) Repeat steps 5-6 for the remaining old indexers.
😎 Once all buckets are moved to the new indexers you can remove the old indexers from the cluster.
Hi @richgalloway Appreciate your quick response.
We were hoping for a simpler version as well. The current one does seem complex and lacks assurance around cluster performance. As for Splunk support, we believe they could offer some support (as developers of the product) in the lack of comprehensive documentation.
Anyways, a few questions and clarifications around the proposed approach
1. Indexers in detention participate in searches, but not in ingestion or (inbound) replication. This is an important step in the migration process. If you can't put all old indexers into migration then you risk moving data multiple times and prolonging the process.
2. Putting the old indexers into detention is what prevents them from receiving data from other old indexers.
3. Do the data balance after all old indexers are removed from the cluster.
4. Taking a peer offline tells the cluster to ensure all data on that indexer exists elsewhere in the cluster and satisfies RF/SF. It may require a physical move to do so, depending on the replication status.
5. I don't know the answer to this question.
6. There's no need to change RF or SF.
Thanks @richgalloway This helps.