Choosing a RAID level for a storage server
Eight 12 TB drives give you 96 TB raw and four sensible ways to arrange them. What each level costs in capacity, what it buys in redundancy, and how long a rebuild really takes.
Measure what your server is actually delivering, and raise the kernel defaults that cap a multi-gigabit link before you blame the network.
You need the server's IP, a root password or key, and an SSH client. Everything below assumes a fresh Debian or Ubuntu install.
Measure between two machines you control — your new server and a second host on a well-connected network. iperf3 is the right tool for this because it measures the link itself, not a web server's ability to keep up with it.
# on the far-end host
iperf3 -s
# on the server you are testing
iperf3 -c <far-end-ip> -P 8 -t 30 # your server -> far end
iperf3 -c <far-end-ip> -P 8 -t 30 -R # the reverse direction
Test both directions. They use different paths across the internet and one can be slow while the other is fine.
If HTTP is all you have, make your own test file on the far end and pull it:
# far-end host, once
fallocate -l 1G /var/www/html/1G.test
# on the server you are testing
curl -o /dev/null -w '%{speed_download}\n' http://<far-end-host>/1G.test
speed_download is bytes per second — divide by 125000 to read it as Mbit/s. A 10 Gbps port sustains far more than any single stream can pull, so use several in parallel (-P 8 above, or several curls at once) before concluding anything.
Do not use public speed-test websites for this. Most endpoints cap below 1 Gbps and will under-report a multi-gigabit link by an order of magnitude.
The stock TCP buffers on a stock kernel are sized for a 1 Gbps world.
| Setting | Default | Suggested on 10 Gbps+ |
|---|---|---|
net.core.rmem_max |
212992 | 67108864 |
net.core.wmem_max |
212992 | 67108864 |
net.ipv4.tcp_congestion_control |
cubic | bbr |
Apply them with sysctl -w, then persist in /etc/sysctl.d/.
One TCP stream is limited by latency and window size, not by your port. Parallel streams are the only honest way to measure a multi-gigabit link.
No. The port is unmetered and guaranteed — running it flat out is the product, not an exception. See what unmetered bandwidth actually means.