RAID, IOPS, MBps and more Excel Cheat Sheet

I’m working on an Excel spreadsheet (cheatsheet) that will allow for user input to calculate some of the following:

  • Calculate IOPS, Usable Space, MB/s  based on Number of Disks, Spindle Speed, RAID type and Read/Write Percentages.
  • Calculate Number of Disks required for IOPs
  • Calculate/Convert MB/s to IOPS
  • Calculate/Convert IOPS to MB/s

It also contains some basic information and formulas:

  • Formula for Total Raw IOPS
  • Formula for Functional IOPS
  • Formula for MB/s from IOPS
  • Formula for IOPS from MB/s
  • Formula to determine number disks required for IOPs based on RAID type and spindle speed.

Here’s a screenshot:

RAID/IOPS Calculator Cheat Sheet
RAID/IOPS Calculator Cheat Sheet

Here are some of the formulas used:

  • Total Raw IOPS = Disk Speed IOPS * Number of Disks
  • Functional IOPS = (((Total Raw IOPS*Write%))/(RAID Penalty))+(Total Raw IOPS*Read%)
  • MB/s = (IOPS * KB per IO) / 1024
  • IOPS=(MBps Throughput / KB per IO) * 1024
  • Formula to determine disks required for IOPs (total required IOPS * read%) + (total required IOPS * write% * RAID penalty) = total IOPS required take that and divide by IOPS provided by disk type (15k=175, 10k=125, etc.)

Download the Spreadsheet (XLSX):  Download

Testing Disk in Linux using fio

I recently discovered a utility called fio that allows you to benchmark disk subsystem in Linux. Here are the results for this test.
What is fio?

fio is an I/O tool meant to be used both for benchmark and stress/hardware verification. It has support for 13 different types of I/O engines (sync, mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio, and more), I/O priorities (for newer Linux kernels), rate I/O, forked or threaded jobs, and much more. It can work on block devices as well as files. fio accepts job descriptions in a simple-to-understand text format. Several example job files are included. fio displays all sorts of I/O performance information. Fio is in wide use in many places, for both benchmarking, QA, and verification purposes. It supports Linux, FreeBSD, NetBSD, OS X, OpenSolaris, AIX, HP-UX, and Windows.

Windows fio download:  http://www.bluestop.org/fio/
OS – Debian Linux “Wheezy” AMD64
RAM – 8GB
Virtualized – YES
VMware Tools – YES
Disk – 1 x 50GB Thin Provisioned
Test File – 10GB
Note:  Disk is on a LUN that is comprised of RAID5 using 6 disks @ 15kRPM – no throttling for disk/cpu is configured on VM.

 
Here are my fio test files:

[randrw]
rw=randread
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=randr-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=randread
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=randr-8k
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=randrw
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=randrw-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=randrw
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=randrw-8k
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=randwrite
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=randw-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=randrw
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=random-rw-direct
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=read
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqr-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=read
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqr-8k
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=rw
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqrw-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=rw
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqrw-8k
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=write
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqw-4k
bs=4k
runtime=30
write_iops_log
write_lat_log
write_bw_log
[randrw]
rw=write
size=10G
direct=1
directory=/tmp/
numjobs=1
group_reporting
name=seqw-8k
bs=8k
runtime=30
write_iops_log
write_lat_log
write_bw_log

I used fio_generate_plot to generate gnuplot graphs.

RAID, IOPS, MBps and more Excel Cheat Sheet

[stextbox id=alert]Hi Everyone!  I have taken the XLS file offline.  There were a ton of bugs, as pointed out in comments and through emails/Twitter.  I am working on solidifying the functions and migrating this to an actual application instead of Excel.   In the meantime, you can check out other calculators here.[/stextbox]
Updated:  I am going to take this offline for awhile.  I really need to sit back down and go over what I had intended this to be used for since I’m starting to mix all types of things on this sheet and my terminology I’m sure does not match correctly with what I’m trying to express in the sheet.  I’ll repost the download when I have had time to review.
Updated:  You can download the Excel workbook RAID-and-IOPS which has updates/bugfixes through December 3, 2012 as noted in comments below.
I’m working on an Excel spreadsheet (cheatsheet) that will allow for user input to calculate some of the following:

  • Calculate IOPS, Usable Space, MB/s  based on Number of Disks, Spindle Speed, RAID type and Read/Write Percentages.
  • Calculate Number of Disks required for IOPs
  • Calculate/Convert MB/s to IOPS
  • Calculate/Convert IOPS to MB/s

It also contains some basic information and formulas:

  • Formula for Total Raw IOPS
  • Formula for Functional IOPS
  • Formula for MB/s from IOPS
  • Formula for IOPS from MB/s
  • Formula to determine number disks required for IOPs based on RAID type and spindle speed.

Here’s a screenshot:

RAID/IOPS Calculator Cheat Sheet

Here are some of the formulas used:

  • Total Raw IOPS = Disk Speed IOPS * Number of Disks
  • Functional IOPS = (((Total Raw IOPS*Write%))/(RAID Penalty))+(Total Raw IOPS*Read%)
  • MB/s = (IOPS * KB per IO) / 1024
  • IOPS=(MBps Throughput / KB per IO) * 1024
  • Formula to determine disks required for IOPs (total required IOPS * read%) + (total required IOPS * write% * RAID penalty) = total IOPS required take that and divide by IOPS provided by disk type (15k=175, 10k=125, etc.)

 

How to factory reset Cisco Small Business SLM2048

One of the Cisco Small Business Smart Switches, this easy-to-install, high-speed small-business switch offers many of the same quality of service (QoS) and security features found in Cisco’s premium managed switches, but without the complexity. The intuitive, easy-to-use web interface allows you to fully utilize the switch’s spectrum of features.
The SLM2048 bundles traffic-shaping capabilities into its assortment of features, prioritizing your network’s high-bandwidth applications to deliver consistent, quality feeds for voice and video. Should you interconnect multiple switches, the redundancy features can keep the totality of your network alive if a connection fails.
Additional features of the SLM2048 Gigabit Smart Switch include:

  • 48 10/100/1000 Gigabit copper ports with two shared copper or optical (SFP) uplink interfaces
  • A nonblocking switching capacity of 96 Gbps
  • Port-level security using 802.1x authentication
  • Support for port-based and 802.1q-based VLANs
  • Two mini-GBIC/SFP slots for Gigabit Ethernet expansion
  • Options including link aggregation and spanning tree
  • 802.1x port authentication and MAC address filtering
  • Numerous QoS features
  • Limited lifetime warranty with one year of technical support and free software fixes

How To Factory Reset the Cisco SLM2048 Small Business Smart Switch

Press and hold the reset button on the front of the switch for 10 seconds while the switch is powered on.

Default Information
Cisco SLM2048 Default IP Address is 192.168.1.254
Cisco SLM2048 Default Login is admin/admin