(Solved) CA Auto Turbo Write Mode - Settings Explained


Recommended Posts

I am trying to figure how to use the CA Auto Turbo Write Mode. I have read almost everything that I had found here, however it is still unclear for me

Turbo write, By RobJ, September 22, 2016

The Turbo write details are quite clear.Into Settings -> Disk Settings, and look for Tunable (md_write_method) - there are 3 options:

1. Auto - auto is not currently (version 6.5.3) implemented, therefore is doing the same as 2. read/modify/write

2. read/modify/write - is calculating the parity based on the Parity checksums, does not require all disks to spin

3. reconstruct write - it does not take into account the old data on Parity disks, it just calculate again the parity by reading data from all data disks. Requires all disk to spin.

-------------------------------------------------

[Plugin] CA Auto Turbo Write Mode, By Squid, March 12, 2017

 

The TurboWrite Plugin, as described, will enable / disable Turbo Write Mode (reconstruct write) based upon the number of hard drives currently spun down. My understanding is that plugin should do what Auto mode is not currently doing.

-------------------------------------------------

Please help me to clarify the following questions:

1. With the CA Auto Turbo Write Mode how should be the Settings -> Disk Settings -> Tunable (md_write_method) configured?

2. What is the Disks Allowed To Be Spun Down Before Invoking Turbo Mode doing?

As defined into Turbo write details you need all disks to spin to benefit of the reconstruct write. Is Turbo Mode plugin doing a mix between reconstruct write and read/modify/write methods or how should be this option used?

3. The reconstruct write option can lead to have all the time all disks spinning up, therefore into the CA Auto Turbo Write Mode plugin was added the option to define your own schedules for enabling/disabling the TurboMode.

I have added the following schedule:

image.png.d64c93ef8955ffe9309785f883694a80.png

image.png.47f82f8e8c298f4ec572d16c0f88fc0e.png

then received the following errors into syslog:

Quote

Jun 19 11:45:23 Tower root: Starting Auto Turbo
Jun 19 11:45:23 Tower root: CA Auto Turbo Schedules currently in process
Jun 19 11:46:01 Tower root: Executing /usr/local/emhttp/plugins/ca.turbo/scripts/turboSchedule.php enable 60
Jun 19 11:46:01 Tower root: Warning: Overlapping schedules of CA Auto Turbo Mode Detected
Jun 19 11:46:01 Tower kernel: mdcmd (87): set md_write_method 1
Jun 19 11:46:01 Tower kernel:
Jun 19 11:48:15 Tower root: Starting Auto Turbo
Jun 19 11:48:16 Tower root: CA Auto Turbo Schedules currently in process
Jun 19 12:00:01 Tower root: Mover schedule disabled
Jun 19 12:01:01 Tower root: Warning: Overlapping schedules of CA Auto Turbo Mode Detected
Jun 19 12:03:41 Tower root: Starting Auto Turbo
Jun 19 12:03:41 Tower root: CA Auto Turbo Schedules currently in process
Jun 19 12:04:01 Tower root: Executing /usr/local/emhttp/plugins/ca.turbo/scripts/turboSchedule.php enable 60
Jun 19 12:04:01 Tower root: Warning: Overlapping schedules of CA Auto Turbo Mode Detected
Jun 19 12:04:01 Tower kernel: mdcmd (88): set md_write_method 1
Jun 19 12:04:01 Tower kernel:
Jun 19 12:17:01 Tower root: Warning: Overlapping schedules of CA Auto Turbo Mode Detected
Jun 19 12:26:22 Tower emhttpd: req (13): startArray=yes&spindownDelay=15&spinupGroups=no&defaultFormat=2&defaultFsType=btrfs&shutdownTimeout=90&poll_attributes=1800&queueDepth=auto&nr_r
equests=128&md_num_stripes=1280&md_sync_window=384&md_sync_thresh=192&md_write_method=auto&changeDisk=Apply&csrf_token=****************

 

My best guess, but I could not find this anywhere documented, is that we should use a fixed hour, minute, second time instead of interval. - Is this assumption correct ?

 

4. When should be Enable or Disable Turbo Write: Enable used and Enable or Disable Turbo Write: Disable be used. Does it make sense to have those 2 options?

 

5. With TurboWrite enabled sometimes the writing speed is lower that without. I get 18MB/s instead of 25-30MB/s in read/modify/write mode.

Why is this happening and is it any possibility to fall back into normal read/modify/write mode when this is happening?

 

Thanks in advance to @Squid or to whom will help to clarify my questions.

 

 

 

 

 

 

 

Edited by FlorinB
Link to comment
2 hours ago, FlorinB said:

1. With the CA Auto Turbo Write Mode how should be the Settings -> Disk Settings -> Tunable (md_write_method) configured?

Doesn't particularly matter, but "read/modify/write" would be how you want it set initially

 

2 hours ago, FlorinB said:

2. What is the Disks Allowed To Be Spun Down Before Invoking Turbo Mode doing?

 

The number of data disks that are allowed to be spun down before turbo mode is invoked.  IE: 0 means all disks have to be spun up for turbo mode to kick in.  1 means that all but one data disk is allowed to be spun up, etc

2 hours ago, FlorinB said:

As defined into Turbo write details you need all disks to spin to benefit of the reconstruct write. Is Turbo Mode plugin doing a mix between reconstruct write and read/modify/write methods or how should be this option used?

Nope.  It just enables / disables the setting according to the parameters you set.

Runs Command every minute on hours ...

It overlaps.  The command to turn on turbo runs every minute, and you've also set it to last for 60 minutes.  There's 59 overlaps in every hour.

2 hours ago, FlorinB said:

4. When should be Enable or Disable Turbo Write: Enable used and Enable or Disable Turbo Write: Disable be used. Does it make sense to have those 2 options?

Sure.  You can force turbo mode on (enabled) or off (disabled) at certain time periods.  When the schedule expires, the setting in Disk Settings takes effect.

 

2 hours ago, FlorinB said:

5. With TurboWrite enabled sometimes the writing speed is lower that without. I get 18MB/s instead of 25-30MB/s in read/modify/write mode.

Why is this happening and is it any possibility to fall back into normal read/modify/write mode when this is happening?

Depends.  For small files, Windows (if you're measuring through it) may calculate it including the time required to spin up the drives.  The real advantage in turbo mode is large files and/or many small writes consecutively .

 

Personally, I don't bother with using turbo mode at all.  I get around 60-70MB/s over the network writing to any given array only share, and most of the writes to the array happen automatically by various docker clients, so I can't even tell (nor would I care) if a transfer takes 1 minute or 5 minutes.

Link to comment

Now i understand how it works - actually the CA Auto Turbo Write Mode can be considered/used like a replacement of the Tunable (md_write_method):Auto, but you sould set that parameter initially to read/modify/writeIn addition to this you can define how many disks from array (no parity disks, no cache disks, no outside of array disks) may be stopped, so that the reconstruct write will kick in.

 

11 hours ago, Squid said:

The number of data disks that are allowed to be spun down before turbo mode is invoked. 

This is a kind of negation thinking, as we need always to do some math to calculate how many disks may be stopped, instead of how many disks should be already active that reconstruct write will kick in.

 

Example for the current situation: I have 7 data disks into my array and I would like to have the reconstruct write enabled as soon as 2 disks from array are active. That would be 7-2=x and x=5. I have to set the Disks Allowed To Be Spun Down Before Invoking Turbo Mode: 5

Would not be easier to say I want to kick in the reconstruct write when minimal 2 disks are spun up?

 

Important: Kicking in reconstruct write mode will automatically wake up/spin all disks from array, including the parity disks. 

 

I did the following tests to clarify completely how this is working:

 

1. set all disks to standby mode. This can be done either from the Web GUI -> Main-> Spin Down button or from command line using the command 

Quote

hdparm -y /dev/sd[b-m] #-this will put in standby mode all disks from sdb to sdm

Usage:  hdparm  [options] 

 -y   Put drive in standby mode

2. Using the plugin unBALANCE->Gather, I was browsing to a folder with some big files. At this moment the first disk - source - from array started

 

Quote

Jun 19 22:42:28 Tower root: #012/dev/sdb:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sdc:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sde:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sdf:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sdg:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sdm:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: #012/dev/sdl:#012 drive state is:  standby
Jun 19 22:42:28 Tower root: Total Spundown: 7
Jun 19 22:42:58 Tower root: #012/dev/sdb:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: #012/dev/sdc:#012 drive state is:  active/idle
Jun 19 22:42:58 Tower root: #012/dev/sde:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: #012/dev/sdf:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: #012/dev/sdg:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: #012/dev/sdm:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: #012/dev/sdl:#012 drive state is:  standby
Jun 19 22:42:58 Tower root: Total Spundown: 6

3. Select where to move the folder and started the moving process. At this point the second disk - destination - from array started

Quote

Jun 19 22:43:28 Tower root: #012/dev/sdb:#012 drive state is:  standby
Jun 19 22:43:28 Tower root: #012/dev/sdc:#012 drive state is:  active/idle
Jun 19 22:43:28 Tower root: #012/dev/sde:#012 drive state is:  standby
Jun 19 22:43:28 Tower root: #012/dev/sdf:#012 drive state is:  standby
Jun 19 22:43:28 Tower root: #012/dev/sdg:#012 drive state is:  standby
Jun 19 22:43:28 Tower root: #012/dev/sdm:#012 drive state is:  standby
Jun 19 22:43:28 Tower root: #012/dev/sdl:#012 drive state is:  active/idle
Jun 19 22:43:28 Tower root: Total Spundown: 5

4. Since the settings of the CA Auto Turbo Write Mode were Disks Allowed To Be Spun Down Before Invoking Turbo Mode: 5,

image.png.e7e3c9fc3caaa1ecc024ca4e497b56d0.png

with 2 disks already spinning the reconstruct write mode was activated and activating the reconstruct write leaded to set all disks from array to active.

Quote

Jun 19 22:43:28 Tower root: Entering Turbo Mode
Jun 19 22:43:28 Tower kernel: mdcmd (85): set md_write_method 1
Jun 19 22:43:28 Tower kernel:
Jun 19 22:43:58 Tower root: #012/dev/sdb:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sdc:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sde:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sdf:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sdg:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sdm:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: #012/dev/sdl:#012 drive state is:  active/idle
Jun 19 22:43:58 Tower root: Total Spundown: 0

 

Note: Remeber that I have 7 disks into my array and I want Turbo Mode to kick in when 2 or more disks are spinning (7-2=5).

 

Results without Turbo Mode (reconstruct write) active 

Quote

10.6GB transferred in 5min 27sec => 10600 / 327=32.41MB/s

 

Results with Turbo Mode (reconstruct write) active

Quote

10.6GB transferred in 3min 52sec => 10600 / 232=45.68MB/s 

 

 

With Turbo Mode enabled there is an increase of 30% of the transfer speed, in my case. That would mean If you want to transfer 1TB of data with Turbo Mode enabled it will take 1000000 / 45.68 =21891 sec (6h 4min 51 sec) vs 1000000 / 32.41 = 30854 sec (8h 34min 14 sec) without Turbo Mode enabled. The downside of the reconstruct write enabled is that the power consumption is bigger and also the generated heat.

 

Once more thank you very much Squid for your clarifications and the quick reply.

 

 

 

 

 

 

 

 

 

 

Edited by FlorinB
Link to comment
  • FlorinB changed the title to (Solved) CA Auto Turbo Write Mode - Settings Explained
  • 2 years later...
  • JorgeB locked this topic
Guest
This topic is now closed to further replies.