Hi All,
Apologies that this is yet another SLOG post but I've searched high and low and cannot find the specific answer I'm looking for. Having read up on SLOG for the last few days, I'm looking to have someone confirm my understanding.
I'm a home user and I'm running 3x 4TB spinning HDDs in RAIDZ1. My rig is running only 16Gb of RAM. I'm running all synchronous writes since I don't have a UPS.
The specific question I have is whether having a SLOG would allow for fast writes regardless of how quickly the array can accept the data on the SLOG.
As I understand it, writing files to an array using a SLOG entails the data being written to the SLOG, then declared as complete before being written to the array and flushed off the SLOG. However, while I know that the SLOG is flushed every 5 seconds, I'm not sure what happens if the data that is written to the SLOG cannot be flushed to the array in the 5s.
For example, if I attempted to write a 5Gb file to my pool with an NVMe drive set up as a SLOG, my array will not be fast enough to accept all of that 5Gb file onto the HDDs within the 5s but the NVMe drive would happily ingest all of that within the timeframe. The question is, would the array still "write" the data to the array (i.e. onto the SLOG) at the speed of the NVMe drive and then flush to the array over multiple flush cycles (i.e. numerous 5s cycles) or would my SLOG be limited to accepting what my HDD array can accept within a 5s window?
In otherwords, I have a RAIDZ1 array of spinning rust. I'll be synchronously writing large singular files to the array. Will adding an NVMe drive (or mirrored drives) as a SLOG increase my write speed of my pool to that of the NVMe drive or will it be in some way limited?
Btw, I am aware that it's advisable to have PLP on the SLOG(s) but since this is only for home use, I have assessed that so long as I use a DRAM-less drive as the SLOG, I am comfortable with the residual risk of data loss as a result of the lack of PLP.
Thanks in advance.
Apologies that this is yet another SLOG post but I've searched high and low and cannot find the specific answer I'm looking for. Having read up on SLOG for the last few days, I'm looking to have someone confirm my understanding.
I'm a home user and I'm running 3x 4TB spinning HDDs in RAIDZ1. My rig is running only 16Gb of RAM. I'm running all synchronous writes since I don't have a UPS.
The specific question I have is whether having a SLOG would allow for fast writes regardless of how quickly the array can accept the data on the SLOG.
As I understand it, writing files to an array using a SLOG entails the data being written to the SLOG, then declared as complete before being written to the array and flushed off the SLOG. However, while I know that the SLOG is flushed every 5 seconds, I'm not sure what happens if the data that is written to the SLOG cannot be flushed to the array in the 5s.
For example, if I attempted to write a 5Gb file to my pool with an NVMe drive set up as a SLOG, my array will not be fast enough to accept all of that 5Gb file onto the HDDs within the 5s but the NVMe drive would happily ingest all of that within the timeframe. The question is, would the array still "write" the data to the array (i.e. onto the SLOG) at the speed of the NVMe drive and then flush to the array over multiple flush cycles (i.e. numerous 5s cycles) or would my SLOG be limited to accepting what my HDD array can accept within a 5s window?
In otherwords, I have a RAIDZ1 array of spinning rust. I'll be synchronously writing large singular files to the array. Will adding an NVMe drive (or mirrored drives) as a SLOG increase my write speed of my pool to that of the NVMe drive or will it be in some way limited?
Btw, I am aware that it's advisable to have PLP on the SLOG(s) but since this is only for home use, I have assessed that so long as I use a DRAM-less drive as the SLOG, I am comfortable with the residual risk of data loss as a result of the lack of PLP.
Thanks in advance.