IOPS = input output operations per second
A measure of demand and a measure of capability.
IOPS Demand
Servers - perform monitoring, refer to os & app vendor information on requirements
Users (virtual desktop) - about 25 iops for a typical user running multiple apps at once, 2GB RAM, single CPU.
IOPS Capability
IOPS per disk = Rotational latency + Seek Latency / 1000
Disk Speed Est IOPS
7200 rpm 75
10000 rpm 125
15000 rpm 175
SSD 6000 (?)
Read vs Write
Typical average:
40% Read, 60% Write
RAID "Penalty"
Write operations to RAID disk arrays require additional io operations to write parity data.
see more at theithollow.com
RAID Level Write i/o Penalty
0 1
1 2
5 4
6 6
Calculation of required capability to meet demand:
IOPS Required =
(IOPS Demand * Read i/o%) + (Target IOPS * Write i/o% * RAID Penalty)
Unfortunately, I don't find such a scientific way to factor in the affect of caching/etc.
For example
Demand = 25 iops
read% = 40, write% = 60
RAID 5
(25 * 0.40 + 25 * 0.60 / 4) = 70
** Nearly triple!
So for 1000 users generating 25000 iops, we need 70000 iops on the "back end."
70000/175 = 400 15K disks would be required - holy moly
also see yellowbricks.com
Showing posts with label storage. Show all posts
Showing posts with label storage. Show all posts
7/25/2013
6/30/2013
Gathering List of HP Blade Server WWN's
Powershell - Gather list of HP Blade Server WWN's
####################################################################################################
#
# server-list.ps1
#
# Gather inventory of profiles, bay assigned, and WWN's
#
$vcips = ("10.2.1.10","10.2.1.11")
$vcuser = "admin"
$outfile = ".\hpbl-wwns.csv"
$pw = Read-Host "Enter Password for $vcuser" -AsSecureString
$alldevicebays=@{}
$allprofiles=@()
$wwn1=@{}
$wwn2=@{}
clear-host
foreach ($vcip in $vcips) {
$profiles=@() #the profiles on this enclosure
$devicebays=@{}
$vcip
#convert $pw to plain text
$pass = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pw))
$go = "show profile" # Command Line
$result = (./plink.exe -batch -ssh -l $vcuser -pw $pass $vcip $go) | out-string
$pass ='' #erase plain txt pw
$list = ($result -split'[\n]')
if ($list.Length -lt 2) { break }
write-host " Getting Profile List"
foreach ($item in $list) {
if ($item.Length -gt 0) {
if (!$item.Contains("===============================================================")) {
if (!$item.Contains("---------------------------------------------------------------")) {
if (($item.Substring(0,1) -ne " ")) {
$name = $item.Substring(0,12)
$name = $name.Trim()
$bay = $item.Substring(12,14)
$bay = $bay.Trim()
if ($name -ne "Name") {
$profiles = $profiles + $name
$allprofiles = $allprofiles + $name
$devicebays[$name] = $bay
$alldevicebays[$name] = $bay
}
}#end if
} #end if
}#end if
}#end if
}#end foreach
write-host " Finding WWN's"
foreach ($profile in $profiles) {
write-host " "$profile
if ($devicebays[$profile] -ne "") {
#Port 1
$port = 1
write-host " port "$port
$go = "show fcoe-connection "+$profile+":"+$port
$pass = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pw))
$result = (./plink.exe -ssh -l $vcuser -pw $pass $vcip $go) | out-string
$pass=""
$list = ($result -split'[\n]')
foreach ($item in $list) {
if ($item.Length -gt 0) {
$items = ($item -split': ')
$field = $items[0]
$field = $field.Trim()
$data = $items[1]
$data = $data.Trim()
if ($field -eq "Port WWN") {
$wwn1[$profile] = $data
}#end if
}#end if null
}#end foreach item
#port 2
$port = 2
write-host " port "$port
$go = "show fcoe-connection "+$profile+":"+$port
$pass = [Runtime.InteropServices.Marshal]::PtrToStringAuto(
[Runtime.InteropServices.Marshal]::SecureStringToBSTR($pw))
$result = (./plink.exe -ssh -l $vcuser -pw $pass $vcip $go) | out-string
$pass=""
$list = ($result -split'[\n]')
foreach ($item in $list) {
if ($item.Length -gt 0) {
$items = ($item -split': ')
$field = $items[0]
$field = $field.Trim()
$data = $items[1]
$data = $data.Trim()
if ($field -eq "Port WWN") {
$wwn2[$profile] = $data
}#end if
}#end if null
}#end foreach item
#end port 2
}#end if UNASSIGNED
}#end foreach profile
}#end foreach enclosure
$profiles = $profiles | sort-object
#create report
write-host "generating output file: " $outfile
#delete output file if it exists
if ( test-path $outfile ) { remove-item $outfile }
get-date -format g | out-file $outfile -encoding ascii
"Profile, Bay, hbaA, hbaB" | out-file $outfile -encoding ascii -append
write-host "Profile, Bay, hbaA, hbaB"
foreach ($profile in $allprofiles) {
$bay = ($alldevicebays[$profile])
$wwnA = ($wwn1[$profile])
$wwnB = ($wwn2[$profile])
write-host $profile "," $bay "," $wwnA "," $wwnB
write "$profile,$bay,$wwnA,$wwnB" | out-file $outfile -encoding ascii -append
}#end foreach
4/26/2013
Cisco MDS switch cmdline
Saved 30 minutes of click, click, drag, click, commit, drag, commit, activate, blah blah in Fabric Manager:
zone name privh08_hba_B_to_vnx vsan 3
member pwwn 50:06:01:64:3e:e0:04:7d
member pwwn 50:06:01:6c:3e:e0:04:7d
member pwwn 20:00:00:25:b5:11:bf:0f
zone name privh09_hba_B_to_vnx vsan 3
member pwwn 50:06:01:64:3e:e0:04:7d
member pwwn 50:06:01:6c:3e:e0:04:7d
member pwwn 20:00:00:25:b5:11:bf:1f
zone name privh10_hba_B_to_vnx vsan 3
member pwwn 50:06:01:64:3e:e0:04:7d
member pwwn 50:06:01:6c:3e:e0:04:7d
member pwwn 20:00:00:25:b5:11:bf:df
zone name privh11_hba_B_to_vnx vsan 3
member pwwn 50:06:01:64:3e:e0:04:7d
member pwwn 50:06:01:6c:3e:e0:04:7d
member pwwn 20:00:00:25:b5:11:bf:ef
zone name privh12_hba_B_to_vnx vsan 3
member pwwn 50:06:01:64:3e:e0:04:7d
member pwwn 50:06:01:6c:3e:e0:04:7d
member pwwn 20:00:00:25:b5:11:bf:bf
zoneset name SAN1-SAN2-FAB-B vsan 3
member privh08_hba_B_to_vnx
member privh09_hba_B_to_vnx
member privh10_hba_B_to_vnx
member privh11_hba_B_to_vnx
member privh12_hba_B_to_vnx
zoneset activate name SAN1-SAN2-FAB-B vsan 3
zone commit vsan 3
copy run start
12/31/2012
VMware KB: Disabling auto-registration to EMC CX-4 storage arrays
VMware KB: Disabling auto-registration to EMC CX-4 storage arrays:
In some cases, you may need to disable the auto-registration feature that is enabled by default for EMC CLARiiON arrays on vSphere and use manual registration. To perform manual registration using storage management software, turn off the ESX/ESXi auto-registration feature.
To disable the auto-registration feature:
In some cases, you may need to disable the auto-registration feature that is enabled by default for EMC CLARiiON arrays on vSphere and use manual registration. To perform manual registration using storage management software, turn off the ESX/ESXi auto-registration feature.
To disable the auto-registration feature:
- In the vSphere Client, select the host in the inventory.
- Click the Configuration tab and click Advanced Settings under Software.
- Select Disk in the left panel and scroll to Disk.EnableNaviReg.
- Change the default value to 0.
- Reboot the ESX host for the changes to take effect.
12/18/2012
Designing and Deploying a Cisco Unified Computing System SAN Using Cisco MDS 9000 Family Switches [Cisco MDS 9500 Series Multilayer Directors] - Cisco Systems
Designing and Deploying a Cisco Unified Computing System SAN Using Cisco MDS 9000 Family Switches [Cisco MDS 9500 Series Multilayer Directors] - Cisco Systems: Designing and Deploying a Cisco Unified Computing System SAN Using Cisco MDS 9000 Family Switches
12/17/2012
VMware Communities: Boot from SAN issue - UCS B-series, VNX...
Boot from SAN: VNX, UCS, VMWare
Need Cisco drivers during the VMWare installation
- Find the drivers you need (the Cisco drivers were here: https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/5_0#drivers_tools?cc=www&client=VMware_Site&entqr=0&ud=1&num=20&output=xml_no_dtd&proxystylesheet=VMware_gsa_Site&site=VMware_Site&ie=UTF-8&oe=UTF-8&q=download%20drivers&x=0&y=0 )
- Use this KB (http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2005205) to add async drives to the ISO.
Need Cisco drivers during the VMWare installation
- Find the drivers you need (the Cisco drivers were here: https://my.vmware.com/web/vmware/info/slug/datacenter_cloud_infrastructure/vmware_vsphere/5_0#drivers_tools?cc=www&client=VMware_Site&entqr=0&ud=1&num=20&output=xml_no_dtd&proxystylesheet=VMware_gsa_Site&site=VMware_Site&ie=UTF-8&oe=UTF-8&q=download%20drivers&x=0&y=0 )
- Use this KB (http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2005205) to add async drives to the ISO.
2/19/2012
11/30/2011
Isilon
Isilon OneFS 6.5.4.4, lsassd has a memory leak. Upgraded to 6.5.4.9 fixed memory leak and also supposed to emulate support for extended attributes.
Interesting: running top from SSH console of machine showed lsassd process grow over a period of a few hours. Isilon has another process that checks for any processes taking up over 512MB memory and kills them.
In this case, that disconnected all my SecureCopy sessions.
Interesting: running top from SSH console of machine showed lsassd process grow over a period of a few hours. Isilon has another process that checks for any processes taking up over 512MB memory and kills them.
In this case, that disconnected all my SecureCopy sessions.
3/27/2011
iSCSI and VMWare
Some iSCSI may be in my future. Unless we jump straight to NFS.
This is a great article: VirtualGeek
This is a great article: VirtualGeek
1/24/2008
Storage::Alphabet Soup
JBOD = "Just a Bunch Of Disks"
SBOD = "Switched Bunch Of Disks"
Switched = Better ;)
Article
Subscribe to:
Posts (Atom)