AN!Cluster Tutorial 2 - Disk Performance Tuning

From Alteeve Wiki
Jump to navigation Jump to search

 AN!Wiki :: How To :: AN!Cluster Tutorial 2 - Disk Performance Tuning

The goal of this tutorial is to show the process of tuning an Anvil! to maximize storage performance for a given workload.

Warning: This is NOT complete and is largely a dumping ground of raw data. It's probably useless to most people at this time.

The Workload

Our client specified the following 'fio' test as the simulated workload to optimize:

PATH="/data0/test"
fio --name certification --filename $PATH --ioengine libaio --direct 1 --bs 4M --rw randwrite --size 2g  --iodepth 64 --numjobs 4 --runtime 30 --time_based --group_reporting

The '$PATH' will, eventually, be an xfs partition in a server hosted on an Anvil!.

The Setup

Each node is built on two Fujitsu RX2540 M1 nodes. The storage configuration is;

  • 24x 1.8 TB 10krpm self-encrypting SAS drives.
    • RAID level 6 using 22 drives in the array and 2 hot-spares.
    • AVAGO MegaRAID 9361-8i Controller with 1 GiB of FBWC and SafeStore drive encryption management.
    • DRBD v8.4.6.
    • 4 KiB Native sector size drives using UEFI boot.

This configuration is designed for maximum availability and security. Performance is critical, but secondary to these priorities. As such, this tutorial will likely fall short of the maximum performance possible.

The Optimization Process

Tuning will be done in stages;

  1. Optimize local storage performance.
  2. Optimize network performance.
  3. Optimize DRBD performance (testing on the raw /dev/drbd0 device).
  4. Optimize clustered LVM performance.
  5. Optimize raw virtio block device performance.
  6. Optimize xfs performance inside the server.

Optimize

Local Storage

Local storage optimization requires tuning the RAID controller and virtual disk properties. Write-back caching is used and cached data is protected by flash-backed storage on the controller.

These tests are performed with no background operating in progress, optimal array and full disk encryption enabled.

Recorded test result is from 5 loops, each running for 60 seconds.

Call: /sbin/dashboard/hap-fio-tester --location /dev/sda5 --loops 5 --runtime 60

Strip Size (KiB) Disk Cache Average Write Speed (MiB/sec) Raw output
64 Disabled 1150.62
 
Testing: [/dev/sda5], averaging over: [5] loop(s), running for: [60] seconds per loop.
Virtual disk properties:
- Strip Size: ....... [64 KiB]
- Disk Cache: ....... [Disabled]
- Active Operations:  [None]
- Encryption: ....... [FDE]
- Start Time: ....... [2015-12-07, 01:58:27]
- Estimated End Time: [2015-12-07, 02:03:27]
Please wait, the first loop has started...
Pass: [1], speed: [1142.20 MiB/sec].
Pass: [2], speed: [1144.70 MiB/sec].
Pass: [3], speed: [1159.70 MiB/sec].
Pass: [4], speed: [1148.90 MiB/sec].
Pass: [5], speed: [1157.60 MiB/sec].
Average write speed: [1150.62 MiB/sec].


 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.