AN!Cluster Tutorial 2 - Disk Performance Tuning
Alteeve 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;
- Optimize local storage performance.
- Optimize network performance.
- Optimize DRBD performance (testing on the raw /dev/drbd0 device).
- Optimize clustered LVM performance.
- Optimize raw virtio block device performance.
- 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
Average Write Speed (MiB/sec) | Strip Size (KiB) | Disk Cache | Note | Raw output |
---|---|---|---|---|
1150.62 | 64 | Disabled | Base-line | 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].
|
1907.14 | 64 | Enabled | Enabling disk caching is potentially dangerous | Testing: [/dev/sda5], averaging over: [5] loop(s), running for: [60] seconds per loop.
Virtual disk properties:
- Strip Size: ....... [64 KiB]
- Disk Cache: ....... [Enabled]
- Active Operations: [None]
- Encryption: ....... [FDE]
- Start Time: ....... [2015-12-07, 02:18:09]
- Estimated End Time: [2015-12-07, 02:23:09]
Please wait, the first loop has started...
Pass: [1], speed: [1872.80 MiB/sec].
Pass: [2], speed: [1929.70 MiB/sec].
Pass: [3], speed: [1907.40 MiB/sec].
Pass: [4], speed: [1917.10 MiB/sec].
Pass: [5], speed: [1908.70 MiB/sec].
Average write speed: [1907.14 MiB/sec].
|
Any questions, feedback, advice, complaints or meanderings are welcome. | |||
Alteeve's Niche! | Alteeve Enterprise Support | Community Support | |
© 2025 Alteeve. Intelligent Availability® is a registered trademark of Alteeve's Niche! Inc. 1997-2025 | |||
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. |