Greetings fellow delvers of the deep data....
We recently made some changes to indexes.conf because we were not sure the config was doing what we wanted it to do.
The result of that poorly considered decision moved 2.6 TB of data out of hot/warm into cold, and another 400 GB into frozen that probably was prematurely aged out.
Let me preface this by saying for our size, we have a lot of SSD on our new indexers.
Current disk footprint
/dev/mapper/splunkdatacold 8.8T 4.4T 4.5T 49% /splunkdatacold
/dev/mapper/splunkdatafrozen 15T 2.5T 13T 17% /splunkdatafrozen
/dev/mapper/vg02-lv01 650G 414G 237G 64% /splunkdatamodels
/dev/mapper/vg02-lv00 11T 933G 9.1T 10% /splunkdatahot
The result of that grand data shuffle is that I have a 11 TB SSD volume for hot with 9.1 TB unused space. I also have 5 TB unallocated in the volume group that I could add.
I'm told that amount of SSD is somewhat uncommon, but we were going for a reasonably future proof configuration. I am about to cluster another indexer with the same space footprint into this, so I want to make sure we are utilizing the SSD effectively.
For the purpose of this question, I will stick to one of our big indexes.
We had these two settings and turning them off is what caused the multiple terabyte shift out of hot.
maxHotIdleSecs = 86400
maxWarmDBCount = 6800
One of our bigger and typical indexes definitions.
[networks]
homePath = volume:hot/networks/db
coldPath = volume:cold/networks/colddb
thawedPath = $SPLUNK_DB/networks/thaweddb
maxTotalDataSizeMB = 5083636
homePath.maxDataSizeMB = 3389260
coldPath.maxDataSizeMB = 1694376
#explicit path to frozen directory
coldToFrozenDir = /splunkdatafrozen/networks
We had thought that getting a 2/3 to 1/3 ratio between hot+warm/cold would be done by specifying the max Total size, and then the homepath.maxDataSizeMB and coldPath.maxDataSizeMB so that those two values added up to the maxTotal value.
So the question is, how do you go about engineering a 2/3 to 1/3 split between hot/cold? We want to utilize the SSD's as much as possible, which is why we have been playing with the maxwarmDBcount parm and maxHotIdleSecs
Today we turned both of those back on and change the networks sizing a bit. Just to see what actually happens, because the previous configuration never pushed hot past 30%
Current parms in place:
maxHotIdleSecs = 86400
maxWarmDBCount = 6800
[networks]
homePath = volume:hot/networks/db
coldPath = volume:cold/networks/colddb
thawedPath = $SPLUNK_DB/networks/thaweddb
maxTotalDataSizeMB = 5083636
#explicit path to frozen directory
coldToFrozenDir = /splunkdatafrozen/networks
maxTotalDataSizeMB = 5083636
homePath.maxDataSizeMB = 5083636
... View more