<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4755664707565425900</id><updated>2012-02-23T03:05:55.511-08:00</updated><category term='vss'/><category term='Red Hat'/><category term='dfstab'/><category term='MBps'/><category term='vsphere 4.1'/><category term='Performance'/><category term='sharemgr'/><category term='Dynamic Provisioning'/><category term='bplist'/><category term='HNAS'/><category term='USPVM'/><category term='Windows'/><category term='HUR'/><category term='Commvault'/><category term='fcip'/><category term='Thumper'/><category term='USP-V'/><category term='powershell'/><category term='boot sector recovery'/><category term='IOPS'/><category term='p-vol'/><category term='Simpana'/><category term='RDM'/><category term='vSphere'/><category term='Scale'/><category term='solaris'/><category term='6941744'/><category term='Mercury'/><category term='data ontap'/><category term='Dynamic Tiering'/><category term='donut'/><category term='dfs'/><category term='HDS'/><category term='CentOS'/><category term='X4500'/><category term='Lumenate'/><category term='Storage Tiering'/><category term='USPV'/><category term='RAID Performance RAID 10 RAID 5 RAID 6'/><category term='Thin Provisioning'/><category term='Storage Pools'/><category term='s-vol'/><category term='VAAI'/><category term='VCS'/><category term='VMware'/><category term='CCI'/><category term='Symantec'/><category term='shareall'/><category term='HDT'/><category term='Bad Ideas'/><category term='brocade'/><category term='VMware NFS performance flexibiltiy size limitations support'/><category term='NTFS data corruption'/><category term='USP V Clustering'/><category term='Storage Tiering Hitachi Dynamic Tiering FAST Compellent'/><category term='vmware vsphere hds cci srm'/><category term='USP V'/><category term='Storage Navigator'/><category term='Silicon FS 7'/><category term='Calculations'/><category term='file descriptors'/><category term='RAID Performance RAID 10 RAID 5 RAID 6 IOPS MBPS'/><category term='Virtualize'/><category term='RHEL'/><category term='zfs'/><category term='commserve'/><category term='MTFS'/><category term='Exchange'/><category term='Oracle'/><category term='snapshot'/><category term='Virtual Storage Platform'/><category term='USP-VM'/><category term='Disk'/><category term='netbackup'/><category term='Storage Foundation'/><category term='UVM'/><category term='Hitachi Dynamic Tiering'/><category term='Bluearc'/><category term='disaster recovery'/><category term='external storage'/><category term='VSP'/><category term='catalog'/><category term='rlim_fd_cur'/><category term='Hitachi High Availabiltiy Manager'/><category term='Netbackup Oracle RMAN Hitachi ShadowImage Snapshot'/><category term='ZPR'/><category term='AMS2000'/><category term='Hitachi Dynamic Provisioning'/><category term='MPxIO'/><category term='migration'/><category term='HDP'/><category term='COMSTAR'/><category term='fx8-24'/><category term='refresh'/><category term='Victoria'/><category term='File Systems'/><category term='Stripe Sets'/><category term='Sun'/><category term='VERITAS Cluster Server'/><category term='Bluearc Silicon FS 7'/><category term='netapp'/><category term='Linux'/><category term='Hitachi'/><category term='Spans'/><category term='disk cache performance workloads'/><category term='SSD'/><category term='Titan'/><category term='Multi Tier File System'/><category term='microsoft'/><category term='Speed'/><category term='Workload disk raid IOPS MBps formula example'/><category term='VMware ESX SnapMirror SRM SRA NetApp NDRA how-to'/><category term='shadow copy service'/><title type='text'>Storage Meat</title><subtitle type='html'>A technical blog created and maintained by the technical team of Lumenate.  Lumenate is a technical consulting firm focused on storage, business continuity and virtualized infrastructure.  Visit their website to find out more information http://www.lumenate.com</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>66</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6877541605962964388</id><published>2012-01-05T06:31:00.000-08:00</published><updated>2012-01-05T06:31:36.170-08:00</updated><title type='text'>HDS Hitachi Content Platform HCP</title><content type='html'>&lt;span xmlns=""&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;Back in 2007, HDS purchased a small software company named Archivas.  Archivas was formed by some ex-EMC folks.  They set out to create a product that was better than EMC's Centerra archive platform.  The product became known as the HDS HCAP platform after the HDS acquisition.  It was specifically designed to be an archive platform for fixed content.  It answered the need to comply with recent regulations requiring certain industries to retain immutable copies of their data.  The HCAP platform provided client access via standard network attached file system APIs such as CIFS and NFS. &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;HDS realized that the market desired more than just a strict compliance platform.  Decreasing storage cost in the SATA and nearline disk technologies provided the cost justification for organizations to utilize online archive/repositories rather than cutting tapes.  With the maturation of virtualization technology, why purchase multiple silos or platforms.  Hence, HDS removed the "A" from HCAP and created HCP.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;HCP can still provide the strict compliance archive functionality of its predecessor, but the new version adds the capability to have virtual entities for sharing the platform across business units, groups and even allows for service provisioning. The virtual entities are comprised of two levels: Tenants and Name Spaces.  The Tenants provide an administration domain for its Name Spaces and the Name Spaces provide data space for authenticated users.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;The supreme user for the platform is the Service Console Administrator which manages physical attributes of the platform and creates Tenants.  Upon Tenant creation, an Admin user is specified along with a quota of storage space.  From there, the administrator for the tenant can create Name Spaces with quotas carved from the Tenant quota.  The Tenant administrator manages Data Access Accounts which are used to authenticate users for file manipulation in the name space.  The Data Access Accounts are the actual end user accounts for storing and retrieving data from the Name Space.  Quotas and access rights are inherited from the parent and can be reduced by the administrator at each level.  So each administration level can tweak the permissions that it allows for its children.  Note the Service Console Administrator does not have access to data in the Name Spaces, so security is maintained within a Tenant.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;Two different operating modes are available for Tenants.  They can be run in a strict Compliance mode or the default Enterprise mode.  Compliance mode offers similar functionality to the original HCAP.  The Enterprise mode offers more flexibility in a repository type implementation.  In Enterprise mode a "Privileged Delete" function can be passed down to allow a Tenant Administrator to delete files that are under retention.  All activities are recorded and the privileged delete function requires that a description of the activity be entered into the log.  And on that note, the log is never truncated or deleted.  So a permanent record exists for all administrative activities. &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;In order for HDS to provide the virtual functionality, they had to make a tradeoff on the APIs that would be available.  Traditional CIFS and NFS access are provided for the "Default Name Space," which mimics the initial HCAP implementation.  As for the Tenant name spaces, access is limited to the REST API interface via HTTP or HTTPS.  REST (Representational State Transfer) is a software architecture that defines communications between clients and servers via HTTP(S).  HDS provides a few utilities with the platform that can migrate and copy data to HCP via the REST interface.  Otherwise, you need an application that can communicate with HCP.  Many popular backup and archive packages support communication with HCP.   In addition, HDS provides a product named Hitachi Data Ingestor (HDI) which provides a traditional CIFS/NFS interface, but communicates to the HCP via HTTPS/REST.  The HDI appliance serves as a cache and can be used for remote site to central site archiving.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;So how does HCP store data and ensure its integrity?  In general, two types of HCP appliances are available:  HCP300 &amp;amp; HCP500.  Each utilizes Hitachi's CR220 – 2U rackmount server.  The HCP300 uses the internal drive bays on the server for the repository data and appliance boot.  In contrast, the HCP500 has no internal disks and uses a Hitachi disk array for both boot and data repository storage.  The HCP500 Appliance version comes with an AMS2000 series array and the diskless version relies on customer provided Hitachi storage.  Of course, the HCP500 is a little more cumbersome to setup, but provides more scaling and flexibility.  Both versions checksum the data and keep two copies of the checksum.  In the event of a disagreement, the data or checksum are repaired if possible.  In replication configurations (one HCP replicates to another local or remote) corrupt data blocks can be recovered/repaired from the remote HCP system.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;In order to locate and manage data, HCP provides a search function via Search Nodes.  Search Nodes can be added to the cluster as necessary to increase search index scalability.  The search function allows a Data Access Account user with search permission to locate files using a variety of metadata attributes and perform subsequent operations on the search set.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;As for scaling, the HCP300 scales horizontally by adding nodes, whereas, the HCP500 can scale by adding nodes or mapping additional storage to existing nodes.  The HCP300 requires that two copies of all data be stored, whereas, the HCP500 requires only one copy due to RAID technology in the AMS2000 array.  Up to four copies of data can be stored depending on user requirements.  Both configurations are configured as "clusters."  Failure of a single node in either configuration will allow continued data access.  Even failure of multiple nodes without loss of data access is possible, unless it is the wrong two nodes.  In the HCP300 most likely some data will be inaccessible for a multiple node failure situation. Unaffected data will remain available.  In the case of the HCP500, multiple node failures can bring the entire HCP "cluster" down due to loss of quorum.  It depends on the number of nodes in the configuration.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;So, what about the CLOUD?  As discussed previously, the HCP300 or HCP500 can provide a central repository for remote locations utilizing HDI as a gateway.  In addition to being just a gateway, the Hitachi HDI appliance provides local caching, compression and encryption.   When we put all the pieces together, we have an internal storage cloud that is secure, searchable and maintains necessary compliance attributes.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6877541605962964388?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6877541605962964388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2012/01/hds-hitachi-content-platform-hcp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6877541605962964388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6877541605962964388'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2012/01/hds-hitachi-content-platform-hcp.html' title='HDS Hitachi Content Platform HCP'/><author><name>stevek</name><uri>http://www.blogger.com/profile/07308754104687537983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-1544818846951520100</id><published>2011-10-28T09:00:00.000-07:00</published><updated>2011-10-28T09:00:00.650-07:00</updated><title type='text'>Storage MBps Performance Concepts</title><content type='html'>&lt;div&gt;&lt;br /&gt;We recently had a reader post a question about the other aspect of storage performance – MBps. In most cases my clients are concerned with IOPS more so than transfer rate so it doesn’t come up that often. When it does it normally gets back to economics, applications such as streaming video, audio or even backups tend to be sequential and require a lot of capacity. As with IOPS the higher RPM drives tend to outperform the lower RPM drives but the difference in not nearly as substantial as it is with IOPS.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Here are some data transfer performance numbers of a few modern disk drives. I’m using Seagate drives as a reference point simply because their website is user friendly. Note that this information is not listed directly on the website but it can be found in the product manual that you can download once you click on the specifications tab. Be aware that each manual includes the internal data rate as well as the sustained data rate. The internal data rate is often called the burst rate and represents the rate to / from the buffer cache on the drive. The sustained rate represents the actual transfer rates from the drive media itself. The sustained transfer rate is the number you should be focusing on.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Seagate specifies the internal data rate numbers on their 15K and 10K drives in Gbps while their 7200RPM drives are listed in MBps. I’ve listed them all in Megabytes per second to make it easier to understand.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Cheetah 15K.7 SAS 6-Gb/s 600-GB Hard Drive Model # ST3600057SS&lt;br /&gt;&lt;/strong&gt;· Internal data rate (Burst Rate) 190 -303MB/s&lt;br /&gt;· Sustained Transfer Rate 122 – 204 MB/s&lt;br /&gt;· Areal Density 225 Gbits/inch2&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Cheetah NS.2 SAS 6-GB/s 600-GB Hard Drive Model # ST3600002SS (10K RPM)&lt;/strong&gt;&lt;br /&gt;· Internal data rate (Burst Rate) 129.28 – 235.52MB/s&lt;br /&gt;· Sustained Transfer Rate 82 – 150 MB/s&lt;br /&gt;· Areal Density 225 Gbits/inch2 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;strong&gt;Seagate® Constellation® ES.2 SAS 6Gb/s 3-TB Hard Drive Model # ST33000650SS (7200 RPM)&lt;br /&gt;&lt;/strong&gt;· Internal data rate (Burst Rate) 113 to 239 MB/s&lt;br /&gt;· Sustained Transfer Rate Sustained Transfer Rate 82 – 150 MB/s&lt;br /&gt;· Areal density 444Gb/in2 &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;A couple of things to note.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;· The 15K and 10K drives listed above are identical with the exception of RPMs. The RPMs on the 15K drive make it outperform the 10K drive. This is as expected. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;· What may be surprising is that the sustained transfer rates of the 10K drive and the 7200 RPM drive are identical. How can that be? The answer is that the 7200 RPM in this example has a higher recording density, or more correctly, areal density. Areal density describes how many tracks are on a platter and how many sectors are on each track. The number of tracks isn’t relevant to performance but the number of sectors per tracks is. Since the data is more tightly packed on the 7200 RPM drive it reads more sectors, per rotation than the 10K drive and therefore evens out the total transfer rates. By contrast the 15K drive operates at over twice the speed of the 7200 RPM drive and is able to maintain its performance advantage even with a smaller areal density.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The third element to consider is which tracks are being accessed during the IO. Outer tracks provide the highest performance and performance declines as you move towards the center of the drive.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;· The outer tracks contain more sectors than the innermost tracks. This concept is referred to zone bit recording, where the drive is divided into zones and each zone has X number of tracks with Y number of sectors per track. The results it that in a single rotation you can read more data from an outer track. To read the equivalent amount of data from the center of the drive would require accessing multiple tracks and you would experience the performance penalty associated with the extra read / write head positioning.&lt;br /&gt;&lt;br /&gt;This is why the sustained transfer rates are always provided in a range, because it depends on which tracks are involved in the IO. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;So that’s the logic behind it, as for the math, you would need to look at the RPM of the drive and the sectors per track, which as we mentioned would vary depending on the zone. Here is an example using the Seagate 15K.7 drive listed above. &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 413px; DISPLAY: block; HEIGHT: 149px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5668205005337974354" border="0" alt="" src="http://1.bp.blogspot.com/-_7aKfp-aQX0/TqmCa8FC1lI/AAAAAAAAAC4/UfeAV1YN5eQ/s320/MBps%2BChart.png" /&gt;Keep in mind that it is not always easy to find documentation that will provide the zoning information that will allow you to do this exercise. From a practical standpoint I deploy storage for a living and I’ve never had the occasion to calculate the MBps for a drive since the manufacturer provides this number as long as you know where to look, meaning the sustained transfer rate rather than the internal transfer rate. That being said I personally found this to be a very interesting exercise. When I first started writing these performance entries I envisioned a few simple posts that would cover the most common scenarios and questions we were asked. As more questions came in there always seemed to be another area to explore. As an example, from a practical standpoint I work with arrays not individual disk drives and I know that most storage arrays do not provide the type of MBps performance you would expect if you simply added up the capabilities of each drive in the array. This is a given and frankly I’ve never spent much time trying to determine why this is. I know some things that impact it and I have some suspicions but I’ve never satisfied the question in my mind. As organizations begin to shift from tape to disk based backups the MBps capabilities of an array will become more important. I guess I need to look into that question as well.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-1544818846951520100?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/1544818846951520100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/10/storage-mbps-performance-concepts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1544818846951520100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1544818846951520100'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/10/storage-mbps-performance-concepts.html' title='Storage MBps Performance Concepts'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-_7aKfp-aQX0/TqmCa8FC1lI/AAAAAAAAAC4/UfeAV1YN5eQ/s72-c/MBps%2BChart.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-5984597968710355059</id><published>2011-10-24T08:58:00.000-07:00</published><updated>2011-10-24T08:58:18.514-07:00</updated><title type='text'>Cisco MDS switch interoperability with Brocade Access Gateway and Qlogic Adapters</title><content type='html'>&lt;span xmlns=""&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;During a recent SAN switch migration from McData directors to Cisco MDS 9509 switches, I came across two interoperability issues.  The first issue involves certain Qlogic adapters connected to the Cisco MDS switches where the area portion of the Fiber Channel ID (FCID) is the same for the initiator and target.  The second issue has to do with internal routing in the Brocade 4Gb switches running in "Access Gateway" mode.  In my case the Brocades were embedded in blade chassis, but they could be stand alone.  Note, the 8Gb version of the Brocade switches did not exhibit the routing issue.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;Common to both issues are particular FCID combinations.   The FCID is comprised of 3 bytes, 0xDDAAPP, where the letters stand for Domain, Area and Port numbers.  The domain portion is unique between switches or VSANs in a fabric, but the same for all ports on a particular switch or VSAN.   The area and port numbers are generated by the switch for each WWPN that logs into the switch.  Each area can have 256 ports.  Cisco begins with area 00 and sequentially assigns port numbers. &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;The first problem occurs with particular Qlogic adapters if the area portion is the same for the HBA and a zoned target.  In this case, the adapter will not recognize the target.  Cisco rectifies this issue by assigning a unique area for all Qlogic adapters that exhibit this issue.  In our case, the WWPN begins with 21:00:00:1b:32…  Each manufacturer device that is identified in the switches Organizationally Unique Identifier (OUI) table will be allocated a unique area for each WWPN.  Each of the affected Qlogic adapters receives a unique area and the port number 0x00.  So the area will never be the same as the target, but the port number portion will always be 0x00, which leads to the second issue.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;First, the 4Gb Brocade switches in Access Gateway mode will not route to a WWPN with the port portion of the FCID being 0x00.  Second it will not route to two or more ports with the same port number on the same switch.   So Cisco's solution to the first issue is not compatible with routing on these switches.  Brocade outlines 4 work arounds for the combined issue.  Each recommendation depends on your configuration.  The first two options are only available if you don't and will not have target devices connected to the Cisco MDS switch in question.  If this is the case, you can undo Cisco's fix by deleting specific entries from the OUI table or putting the switch in flat-fcid allocation mode, which essentially ignores the table.  It is probably best to avoid these two work a rounds in order to prevent future problems.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;The third option is to basically swap the OUI entries of HBAs and targets.  In other words, remove the HBA OUI IDs and add the target device OUI IDs. The HBAs will get sequential port numbers in the same area and the target devices will get unique area IDs resolving both issues.  The overall problem with this solution is that the devices need to be connected after the OUI table manipulation.  Devices connected before the table update will already have FCIDs assigned.  If persistent FCID allocation is enabled, the FCIDs will not change without disconnecting the WWPN and manually deleting them.  Otherwise, the VSAN needs to be restarted.  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;The last option is the option that we chose to implement.  Basically, we manually assigned FCIDs to each of the affected HBAs connected via the Brocade switches in Access Gateway mode.  We kept track of manually assigned FCIDs in a spreadsheet to ensure that no port numbers were duplicated on a switch.  Actually, the switch will not allow you to assign duplicate FCIDs.  An FCID is allocated the first time the HBA logs into the switch.  The static FCID assignment can be performed in advance if the WWPNs for each HBA are known prior to connection.  Otherwise, the host needs to be shutdown so that the FCID can be deleted and the static assignment performed.  In my case, after the hosts were shutdown, I had to shut/no shut the interface to release the FCID.  Prior, we did verify multipathing on other hosts accessing storage via the same FC port.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;In the example below, first I list the free and allocated FCIDs in the VSAN in order to choose a range to assign.  Next I check the FCIDs in use on the port that my Qlogic HBA is connected.  If they are all the affected Qlogic HBAs, I can tell if they are in use by whether the FCID has been manually assigned.  Otherwise, I need to consult the active zoneset.  If another server is actively using SAN storage, I check the multipath software on that server.  Now, I check to see if the initiator is logged into the switch.  In my example, it is not logged in.  Next, I proceed to shut the port as if the FCID was in use.  Finally, I can delete the existing FCID and add a new one.  Afterward, I bring the port back up, verify the new FCID and save the configuration.  At this point, I am free to move onto creating aliases and zoning.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;sh fcdomain address-allocation vsan 5&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Free FCIDs: 0xc90028 to 0xc9002a&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc90066 to 0xc900e3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc900e5 to 0xc900ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc900f0 to 0xc900ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc90200 to 0xc902e3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc902e5 to 0xc902ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc902f0 to 0xc903ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc903f0 to 0xc904ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc904f0 to 0xc905ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc905f0 to 0xc905ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc90e00 to 0xc90e01&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc90e03 to 0xc90eee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc90ef0 to 0xc90eff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc91400 to 0xc914ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc914f0 to 0xc915ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc915f0 to 0xc916ee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc916f0 to 0xc919ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc91d00 to 0xc91dee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc91df0 to 0xc91eee&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc91ef0 to 0xc92000&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc92002&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc9201c to 0xc920ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc92800 to 0xc929ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc92b00 to 0xc92bff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc92d00 to 0xc92eff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc93000 to 0xc930ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc93a00 to 0xc93aff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc93c00 to 0xc93cff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc93f00 to 0xc93fff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc94400 to 0xc944ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;            0xc94b00 to 0xc9fffe&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Assigned FCIDs: 0xc90000 to 0xc90027&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc9002b to 0xc90065&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc900e4&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc900ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc90100 to 0xc901ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc902e4&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc902ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc903ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc904ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc905ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc90600 to 0xc90dff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc90e02&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc90eef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc90f00 to 0xc913ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc914ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc915ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc916ef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc91a00 to 0xc91cff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc91def&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc91eef&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92001&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92003 to 0xc9201b&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92100 to 0xc927ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92a00 to 0xc92aff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92c00 to 0xc92cff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc92f00 to 0xc92fff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc93100 to 0xc939ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc93b00 to 0xc93bff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc93d00 to 0xc93eff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc94000 to 0xc943ff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc94500 to 0xc94aff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;                0xc9ffff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Reserved FCIDs: 0xc9ffff&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Number of free FCIDs: 52852&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Number of assigned FCIDs: 12684&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Number of reserved FCIDs: 1&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# show flogi database interface fc1/3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;INTERFACE        VSAN    FCID           PORT NAME               NODE NAME&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;fc1/3             5    0xc90100  21:00:00:1b:32:06:f8:e7 20:00:00:1b:32:06:f8:e7&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;fc1/3             5    0xc92c00  21:00:00:1b:32:94:99:da 20:00:00:1b:32:94:99:da&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Total number of flogi = 2.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# show fcdomain fcid persistent unused vsan 5&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Total entries 1.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Persistent FCIDs table contents:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;VSAN              WWN                FCID         Mask        Used    Assignment&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;----    -----------------------    --------    -----------    ----    ----------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;   5    21:00:00:1b:32:06:f8:e7    0xc90100    ENTIRE AREA      NO    DYNAMIC&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# conf t&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS(config)# interface fc1/3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS(config-if)# shut&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;(config-fcid-db)# fcdomain fcid database&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;(config-fcid-db)# no vsan 5 wwn 21:00:00:1b:32:06:f8:e7 fcid 0xc90100&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;(config-fcid-db)# vsan 5 wwn 21:00:00:1b:32:06:f8:e7 fcid 0xc92002&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New';"&gt;(config-fcid-db)# interface fc1/3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS(config-if)# no shut&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS(config-if)# exit&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS(config)# exit&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# show fcdomain fcid persistent vsan 5&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Total entries 188.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Persistent FCIDs table contents:&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;VSAN              WWN                FCID         Mask        Used    Assignment&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;----    -----------------------    --------    -----------    ----    ----------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;   5    21:00:00:1b:32:06:f8:e7    0xc92002    SINGLE FCID     YES    STATIC&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;…&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# show flogi database interface fc1/3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;INTERFACE        VSAN    FCID           PORT NAME               NODE NAME&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;fc1/3             5    0xc92002  21:00:00:1b:32:06:f8:e7 20:00:00:1b:32:06:f8:e7&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;fc1/3             5    0xc92c00  21:00:00:1b:32:94:99:da 20:00:00:1b:32:94:99:da&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;Total number of flogi = 2.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;MDS# copy running-config startup-config&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;span style="font-family: 'Courier New';"&gt;&lt;br /&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-5984597968710355059?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/5984597968710355059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/10/cisco-mds-switch-interoperability-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5984597968710355059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5984597968710355059'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/10/cisco-mds-switch-interoperability-with.html' title='Cisco MDS switch interoperability with Brocade Access Gateway and Qlogic Adapters'/><author><name>stevek</name><uri>http://www.blogger.com/profile/07308754104687537983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-5421108793945713700</id><published>2011-09-19T10:45:00.000-07:00</published><updated>2011-09-19T10:45:00.453-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NTFS data corruption'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Symantec'/><category scheme='http://www.blogger.com/atom/ns#' term='boot sector recovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Storage Foundation'/><title type='text'>Recovering an NTFS Boot Sector in Symantec Storage Foundation for Windows</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; line-height: 18px;"&gt;One evening, I received a call from a customer who ran into an issue with Storage Foundation for Windows.  They ran into a SFW bug while trying to shrink volumes for a disk space recovery project.  FYI, unlike UNIX, SF volumes in Windows need to be offline before shrinking the volume.  Long story short, the shrink process ended up corrupting the NTFS boot record on a 1.3TB volume.  Even though the vxprint output showed the volumes ENABLED and ACTIVE with the correct volume boundaries, the volume showed up RAW, not NTFS from both VEA console and DISKPART.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;From the UNIX perspective, this would have been no big deal.  Running a vxmksdpart would recreate the partition table.  This process is not as easy with Windows.  You need to locate the backup NTFS boot sector which is located at the end of the volume and copy it over the corrupted one.  You then run an fsck of the file system (which can take FOR-E-VER!!), cross your fingers and pray.  I emphasize that this is a LAST RESORT measure before recovering from backups.  There is NO, I repeat, &lt;u&gt;NO GUARANTEE&lt;/u&gt; that you will be free from data corruption.  But, if you’re going to have to rebuild the file system and recover the data from tape/disk, you might as well give it a shot.  As in my customer’s case, they were fortunate enough to recover the volume on the first try.  When this issue appeared again, they ended up losing ACL’s to all files in the volume.  However, recovery of the ACLs was still much faster recovering all the data!&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; line-height: 18px;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Here’s the detailed steps on the process of recovering the NTFS boot sector.  I used the vxtool from Symantec to locate the backup boot sector and to perform the recovery.  This tool can be downloaded from &lt;a href="ftp://ftp.veritas.com/pub/support/vmtools"&gt;ftp://ftp.veritas.com/pub/support/vmtools&lt;/a&gt;. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; line-height: 18px;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;1)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Determine the location of the backup NTFS boot sector.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l1 level1 lfo1; text-align: justify; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;a)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Make a note of the harddisk number that contains the RAW volume&lt;/span&gt;&lt;span style="font-size: 12pt;"&gt;.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l1 level1 lfo1; text-align: justify; text-indent: -.25in;"&gt;&lt;a href="http://2.bp.blogspot.com/-uZ_lYHqX6BU/TgTPgqk9voI/AAAAAAAAAGE/SzEZf9z4Y1g/s1600/1.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621846394957315714" src="http://2.bp.blogspot.com/-uZ_lYHqX6BU/TgTPgqk9voI/AAAAAAAAAGE/SzEZf9z4Y1g/s400/1.jpg" style="cursor: pointer; display: block; height: 89px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l1 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;b)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;In VEA, select the volume with the corrupt NTFS boot sector.  In the right panel, select the Subdisks, tab.  Highlight the affected subdisk, right-click and select “Properties”.   Note the size of the volume in sectors and disk offset.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="line-height: normal; margin-left: .75in; mso-layout-grid-align: none; text-align: center; text-autospace: none;"&gt;&lt;a href="http://1.bp.blogspot.com/-of_5s5aTo4Q/TgTPUx_HcVI/AAAAAAAAAF8/o5NRldLdQR4/s1600/2.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621846190787621202" src="http://1.bp.blogspot.com/-of_5s5aTo4Q/TgTPUx_HcVI/AAAAAAAAAF8/o5NRldLdQR4/s400/2.jpg" style="cursor: pointer; display: block; height: 99px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .75in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .75in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .75in; mso-layout-grid-align: none; mso-list: l1 level1 lfo1; text-autospace: none; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;c)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;Jot down the Size and Disk offset.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="line-height: normal; margin-left: .75in; mso-layout-grid-align: none; text-align: center; text-autospace: none;"&gt;&lt;a href="http://3.bp.blogspot.com/-bWEoXJ6ZZtc/TgTPqA70AKI/AAAAAAAAAGM/NXsk6FQlftk/s1600/3.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621846555577548962" src="http://3.bp.blogspot.com/-bWEoXJ6ZZtc/TgTPqA70AKI/AAAAAAAAAGM/NXsk6FQlftk/s400/3.jpg" style="cursor: pointer; display: block; height: 400px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 360px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l1 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;d)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Add the size in sectors to the disk offset in sectors minus 1.  This is the location of the backup boot sector.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; text-indent: .25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; text-indent: .25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;Size=409600  Disk offset=65570&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; text-indent: .25in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;Backup boot sector = 409600 + 65570 – 1 = 475169&lt;/span&gt;&lt;span style="font-family: 'Courier New'; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;          &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;2)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;From a command window, use the vxtool utility to scan the range near the end of the problem volume.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;Hard disk size (sectors) = 10485760&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none; text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Command:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt; vxtool disk sectorscan harddisk&amp;lt;#&amp;gt; &lt;startoffset&gt; &lt;endoffset&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/endoffset&gt;&lt;/startoffset&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;From a command window:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;vxtool disk sectorscan harddisk1 0 10485760&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;      &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;Output:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-x7kDVLP4jUQ/TgTPyw3AFNI/AAAAAAAAAGU/cVw4_w4hHGs/s1600/4.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621846705881224402" src="http://2.bp.blogspot.com/-x7kDVLP4jUQ/TgTPyw3AFNI/AAAAAAAAAGU/cVw4_w4hHGs/s400/4.jpg" style="cursor: pointer; display: block; height: 151px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; text-indent: -.5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;            The Disk Offset number (65570) is the location of the &lt;b style="mso-bidi-font-weight: normal;"&gt;original&lt;/b&gt; NTFS boot sector.  The backup NTFS boot sector is the number calculated from Step 1d).  Verify that this block is noted as “magic NTFS”.  &lt;/span&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;3)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Now, to restore the corrupted NTFS boot sector using the backup copy using the vxtool utility.  The source and target disks may be different if the volume spans multiple disks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none; text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;Command:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .5in; mso-layout-grid-align: none; text-autospace: none; text-indent: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;vxtool disk copyblock &lt;i style="mso-bidi-font-style: normal;"&gt;sourcedisk offset targetdisk offset block &lt;/i&gt;&lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;Example:  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;vxtool disk copyblock harddisk1 65570 harddisk1 475169 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; text-indent: .5in;"&gt;&lt;b style="mso-bidi-font-weight: normal;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; mso-list: l0 level1 lfo2; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;4)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;Perform a rescan from VEA and DISKPART.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;a href="http://3.bp.blogspot.com/-8jGHiddmLFs/TgTP8ysVtMI/AAAAAAAAAGc/pQ9y3G4vbVc/s1600/5.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621846878172067010" src="http://3.bp.blogspot.com/-8jGHiddmLFs/TgTP8ysVtMI/AAAAAAAAAGc/pQ9y3G4vbVc/s400/5.jpg" style="cursor: pointer; display: block; height: 221px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;a href="http://3.bp.blogspot.com/-dA5dGrSMDe8/TgTQD_DpLLI/AAAAAAAAAGk/nEYKWlJD6dA/s1600/6.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5621847001750121650" src="http://3.bp.blogspot.com/-dA5dGrSMDe8/TgTQD_DpLLI/AAAAAAAAAGk/nEYKWlJD6dA/s400/6.jpg" style="cursor: pointer; display: block; height: 99px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt; line-height: 115%;"&gt;The volume should show up as an NTFS volume.  Cross your fingers and run a chkdsk to ensure file system data integrity.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;Here are some reference articles from Symantec that addresses the data corruption issues with volume shrinks.  A patch has now been provided as of 06/01/2011.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .5in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Tech Alert&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; mso-layout-grid-align: none; text-autospace: none; text-indent: .5in;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;a href="http://www.symantec.com/docs/AL1130"&gt;http://www.symantec.com/docs/AL1130&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .5in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Tech Article&lt;u&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;a href="http://www.symantec.com/docs/TECH160393"&gt;http://www.symantec.com/docs/TECH160393&lt;/a&gt;   &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-left: .5in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Patch&lt;u&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;a href="https://sort.symantec.com/patch/detail/5022"&gt;https://sort.symantec.com/patch/detail/5022&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; line-height: 18px;"&gt; &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif; line-height: 18px;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-5421108793945713700?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/5421108793945713700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/06/recovering-ntfs-boot-sector-in-symantec.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5421108793945713700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5421108793945713700'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/06/recovering-ntfs-boot-sector-in-symantec.html' title='Recovering an NTFS Boot Sector in Symantec Storage Foundation for Windows'/><author><name>Genny</name><uri>http://www.blogger.com/profile/01679111905514290044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-uZ_lYHqX6BU/TgTPgqk9voI/AAAAAAAAAGE/SzEZf9z4Y1g/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-1630106895345761997</id><published>2011-09-12T09:00:00.000-07:00</published><updated>2011-09-12T09:00:02.420-07:00</updated><title type='text'>Integrating DB2 Advanced Copy Services with NetApp Snapshots</title><content type='html'>&lt;span xmlns=""&gt;IBM provides integration with NetApp snapshots via their Advanced Copy Services (ACS).  ACS is available for DB2 on release 9.5 and newer.  ACS supports NAS or SAN attached NetApp subsystems when running under AIX.  Only NAS attachment is supported under Linux.  ACS allows the DBA to issue backup &amp;amp; restore directives from the DB2 environment without involving the storage administrator.  These backup and restore directives manipulate snaphots for the appropriate volumes on the NetApp filer.  One caveat to using ACS is the 2 snapshot (backup) limit if you do not own a full TSM license.  A full TSM license can be very pricy.  Due to the 2 snapshot limit, I decided to use a hybrid approach where ACS provides two daily backups for quick recovery in conjunction with the traditional file based backup for longer retention periods.&lt;br /&gt;&lt;br /&gt;Setup of ACS is fairly easy in either a Linux or AIX environment.  ACS uses RSH to communicate with the NetApp filer, so the RSH service must be enabled on the filer (options rsh.enable on).  The database server can be included in the /etc/hosts.equiv file on the filer so that a password is not needed.  ACS is intelligent enough to correlate the database and log file systems/volume groups on the server to the corresponding volumes/LUNs on the filer.&lt;br /&gt;&lt;br /&gt;During testing under AIX, I found an issue with the setup.sh script where the acscim program caused the script to fail.  The acscim module is used to communicate to IBM storage such as the DS series and requires supporting libraries that were not available on my system.  I commented out the acscim check and the setup script completed normally.  The setup script needs to be executed as root, but from the database instance user's home directory.  The database instance user in the example below is db2int2.&lt;br /&gt;&lt;br /&gt;ACS is installed under the database instance user's home directory.  Go into the ACS directory and edit the setup.sh script to comment out the acscim binary check.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# cd /home/db2int2/sqllib/acs&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# grep cim setup.sh &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;    checkbin ${INST_DIR}/acs/acscim&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;        enableSUID ${INST_DIR}/acs/acscim&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# vi setup.sh&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# grep cim setup.sh &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;#    checkbin ${INST_DIR}/acs/acscim&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;        enableSUID ${INST_DIR}/acs/acscim&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Execute the setup.sh script to provide the necessary parameters to configure ACS.  I chose defaults for most of the questions.  The ACS_REPOSITORY needs to be set to desired directory path which will be created by the script.  The COPYSERVICES_HARDWARE_TYPE is either NAS_NSERIES or SAN_NSERIES under AIX or NAS_NSERIES for Linux.   &lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# pwd &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;/home/db2int2/sqllib/acs&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# ./setup.sh &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;checking /home/db2int2/sqllib/acs/acsnnas ... &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;OK&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;checking /home/db2int2/sqllib/acs/acsnsan ... &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;OK&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;Do you have a full TSM license to enable all features of TSM for ACS ?[y/n]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;n&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;****** Profile parameters for section GLOBAL: ******&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ACS_DIR  [/home/db2int2/sqllib/acs ]    &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ACSD     [57329 ]       57328&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;TRACE    [NO ]  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;****** Profile parameters for section ACSD: ******&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ACS_REPOSITORY   [/home/db2int2/sqllib/acs/acsrepository ]      &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;****** Profile parameters for section CLIENT: ******&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;TSM_BACKUP       [NO ]  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;MAX_VERSIONS     [2 ]   &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;LVM_FREEZE_THAW  [YES ]         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;DEVICE_CLASS     [STANDARD ]    &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;****** Profile parameters for section STANDARD: ******&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;COPYSERVICES_HARDWARE_TYPE       [SAN_NSERIES]  &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;COPYSERVICES_PRIMARY_SERVERNAME  [netappcntl1 ]         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;COPYSERVICES_USERNAME    [root ]        &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;======================================================================&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;The profile has beeen successfully created.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;Do you want to continue by specifying passwords for the defined devices? [y/n]&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;y&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;Please specify the passwords for the following profile sections:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;STANDARD&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;master&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;Creating password file at /home/db2int2/sqllib/acs/shared/pwd.acsd.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;A copy of this file needs to be available to all components that connect to acsd.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;BKI1555I: Profile successfully created. Performing additional checks. Make sure to restart all ACS components to reload the profile.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;After setup is complete, check to see if the daemons are configured to start in /etc/inittab.  Note:  acsnnas is for NetApp NAS volumes and acsnsan is for NetApp SAN volumes. &lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# grep acs /etc/inittab&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ac00:2345:respawn /home/db2int2sqllib/acs/acsd&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ac00:2345:respawn /home/db2int2sqllib/acs/acsnnas –D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: 15pt;"&gt;                             OR&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;ac00:2345:respawn /home/db2int2sqllib/acs/acsnsan –D&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Check to see if the daemons are running:&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00# ps -ef | grep acs&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;    root 12255442  6225980   0 16:25:07  pts/2  0:00 grep acs &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt; db2int2 12451872        1   0 16:24:50      -  0:00 /home/db2int2/sqllib/acs/acsd &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt; db2int2 12451873        1   0 16:26:35      -  0:00 /home/db2int2/sqllib/acs/acsnsan -D &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Now that ACS is configured, we can perform snapshot backups and restores.  As the database instance user execute the following commands to take backups, list backups or restore the database.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Execute the following to take an offline backup:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00$ db2 backup db mydb use snapshot&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can specify the "online" parameter to take an online backup of the database:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00$ db2 backup db mydb online use snapshot&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To list the backups of the database as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00$ db2acsutil query&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To restore the latest backup:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: 9pt;"&gt;bash-3.00$ db2 restore db mydb use snapshot&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-1630106895345761997?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/1630106895345761997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/09/integrating-db2-advanced-copy-services.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1630106895345761997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1630106895345761997'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/09/integrating-db2-advanced-copy-services.html' title='Integrating DB2 Advanced Copy Services with NetApp Snapshots'/><author><name>stevek</name><uri>http://www.blogger.com/profile/07308754104687537983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-354690226632648412</id><published>2011-09-05T09:00:00.000-07:00</published><updated>2011-09-05T09:00:02.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VCS'/><category scheme='http://www.blogger.com/atom/ns#' term='VERITAS Cluster Server'/><category scheme='http://www.blogger.com/atom/ns#' term='rlim_fd_cur'/><category scheme='http://www.blogger.com/atom/ns#' term='file descriptors'/><category scheme='http://www.blogger.com/atom/ns#' term='Oracle'/><title type='text'>"Unfortunately this has not been documented very well."  Fun with VERITAS Cluster Server</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;So Justin and I are wrapping up a large refresh project for a client where we're moving them from an existing configuration running Oracle on Sun 6800s with VCS over to new M5000s. &amp;nbsp;As you'd expect this includes a migration to Solaris 10 as well as upgrades to VERITAS Volume Manager, File System, and NetBackup (that's Symantec Storage Foundation and NetBackup to some of you).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The application team went through their testing over the last month or so and we completed our VCS test matrix in preparation for cutover. &amp;nbsp;During the cutover, though, we noticed the following message in the alert&amp;nbsp;&lt;sid&gt;log:&lt;/sid&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;WARNING:Oracle instance running on a system with low open file descriptor&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;limit. Tune your system to increase this limit to avoid&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;severe performance degradation.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Thinking that we'd missed a resource control setting somewhere we went through the process of validating those settings. &amp;nbsp;Then, seeing that they looked correct, we asked the DBA to stop and restart the database manually only to find that the error message above didn't appear. &amp;nbsp;Using VCS to stop and start the database would generate this error every time, though.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;We opened a case with Symantec and started to troubleshoot. &amp;nbsp;Thankfully we found that in VCS 5.1 SP1 Symantec added a file called vcsenv that hardcodes limits for CPU time, core file size, data segment size, file size, and the number of open file descriptors before we ran out of window for the cutover.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The location and contents of the file are shown below, including where we set the number of file descriptors to 8192.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;bash-3.00# cd /opt/VRTSvcs/bin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;bash-3.00# more vcsenv&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# $Id: vcsenv,v 2.8 2010/09/30 05:45:29 ptyagi Exp $ #&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# $Copyrights: Copyright (c) 2010 Symantec Corporation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# All rights reserved.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# THIS SOFTWARE CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# SYMANTEC CORPORATION. &amp;nbsp;USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SYMANTEC CORPORATION.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# The Licensed Software and Documentation are deemed to be commercial&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# computer software as defined in FAR 12.212 and subject to restricted&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# rights as defined in FAR Section 52.227-19 "Commercial Computer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Software - Restricted Rights" and DFARS 227.7202, "Rights in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Commercial Computer Software or Commercial Computer Software&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Documentation", as applicable, and any successor regulations. Any use,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# modification, reproduction release, performance, display or disclosure&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# of the Licensed Software and Documentation by the U.S. Government&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# shall be solely in accordance with the terms of this Agreement. &amp;nbsp;$&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# This is just a sample as to how you can specify various environment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# variables you need to set. &amp;nbsp;Uncomment/add/modify the values as per&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# your requirement.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Specify the default language in which you want to bring up the&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# VCS agents.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# LANG=C; export LANG&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;VCSHOME="${VCS_HOME:-/opt/VRTSvcs}"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;#This is required for agents which use dynamic VCSAPI libraries&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;LD_LIBRARY_PATH="$VCSHOME/lib:$LD_LIBRARY_PATH"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;export LD_LIBRARY_PATH&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Setting ulimit.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;# Common For Linux, HP-UX, SunOS &amp;amp; AIX&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;ulimit -t unlimited &amp;nbsp; &amp;nbsp; # CPU Time&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;ulimit -c unlimited &amp;nbsp; &amp;nbsp; # Core File Size&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;ulimit -d unlimited &amp;nbsp; &amp;nbsp; # Data Seg Size&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;ulimit -f unlimited &amp;nbsp; &amp;nbsp; # File Size&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;ulimit -n 8192 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# File Descriptor&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;if [ `uname` = "AIX" ];then&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RT_GRQ=ON&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;export RT_GRQ&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: x-small;"&gt;fi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-354690226632648412?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/354690226632648412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/09/unfortunately-this-has-not-been.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/354690226632648412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/354690226632648412'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/09/unfortunately-this-has-not-been.html' title='&quot;Unfortunately this has not been documented very well.&quot;  Fun with VERITAS Cluster Server'/><author><name>chadwick</name><uri>http://www.blogger.com/profile/04727175217279747418</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_mvN0QpKyUpw/SdvUuglGAYI/AAAAAAAAt88/4LayoyTL6f0/S220/IMG_3183-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-1084326342335617009</id><published>2011-08-29T09:00:00.000-07:00</published><updated>2011-08-29T09:00:07.047-07:00</updated><title type='text'>Working with NetBackup CTIME Timestamps in Excel</title><content type='html'>NetBackup makes extensive use of timestamps for backup job start and stop times, expiration dates, etc.&amp;nbsp; NetBackup appends a timestamp to the client name to create a backup id (myserver_1303936891).&amp;nbsp; Don’t know about you, but I don’t natively understand CTIME timestamps.&lt;br /&gt;To convert between the timestamp and “human readable” time, Symantec provides the bpdbm command with the -ctime flag to convert from NetBackup’s timestamp to the current time zone.&amp;nbsp; For example:&lt;br /&gt;&lt;blockquote&gt;bash-3.00# bpdbm -ctime 1303936891&lt;br /&gt;1303936891 = Wed Apr 27 15:41:31 2011&lt;/blockquote&gt;Some of my favorite NetBackup reports output job start/stop times and other data using CTIME timestamps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;bpmedialist shows the expiration date for tapes&lt;/li&gt;&lt;li&gt;bpimagelist shows the start and stop times for backup images in the catalog, as well as image expiration dates&lt;/li&gt;&lt;/ul&gt;It’s just not feasible to run bpdbm on every timestamp for output that may contain 10K lines.&amp;nbsp; Excel makes a far better tool.&lt;br /&gt;To convert from CTIME to “Excel” time you need the following information:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The NetBackup timestamp (the number of seconds since 1/1/1970, in GMT)&lt;/li&gt;&lt;li&gt;The number of seconds per day (86,400)&lt;/li&gt;&lt;li&gt;The Excel serial number for 1/1/1970 (25,569)&lt;/li&gt;&lt;li&gt;Your current timezone offset in hours (for US/Central this is currently -5)&lt;/li&gt;&lt;/ol&gt;Excel date/time stamps are real numbers where the integer portion represents the number of days since 1/1/1900 (where 1/1/1900 is day 1).&amp;nbsp; The decimal portion of an Excel date/time value represents the portion of a single day (ie, 0.5 is 12 hours).&amp;nbsp; Therefore, to convert from CTIME to Excel time use the following formula:&lt;br /&gt;&lt;blockquote&gt;timestamp/86400+25569+(-5/24)&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-1084326342335617009?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/1084326342335617009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/08/working-with-netbackup-ctime-timestamps.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1084326342335617009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1084326342335617009'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/08/working-with-netbackup-ctime-timestamps.html' title='Working with NetBackup CTIME Timestamps in Excel'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-3584470786190464080</id><published>2011-08-22T09:00:00.000-07:00</published><updated>2011-08-22T09:00:02.246-07:00</updated><title type='text'>How to Mount Cloned Volume Groups in AIX</title><content type='html'>&lt;span xmlns=""&gt;Today, most SAN storage vendors provide some kind of volume or LUN cloning capability.  The name and underlying mechanics for each vendor differ, but the end result is pretty much the same. They take a primary volume or LUN and create an exact copy at some point in time.  NetApp's name for this technology is FlexClone.  &lt;br /&gt;&lt;br /&gt;Typically, creating a clone of a LUN and mounting the file system on the original server is a trivial process.  The process becomes more complex if volume management is involved.  Server based volume management software provides many benefits, but complicates matters where LUN clones are used.  In the case of IBM's Logical Volume Management (LVM), mounting clones on the same server results in duplicate volume group information.  Luckily, AIX allows LVM to have duplicate physical volume IDs (PVID) for a "short period" of time without crashing the system.  Not sure exactly what a "short period" of time equates too, but in my testing I didn't experience a crash.  &lt;br /&gt;&lt;br /&gt;The process to "import" a cloned volume group for the first time is disruptive in that the original volume group must be exported. It is necessary to have the original volume group exported so that the physical volume IDs (PVIDs) on the cloned LUNs can be regenerated.  The recreatevg command is used to generate new PVIDs and to rename the volume names in the cloned volume group.  Note that the /etc/filesystem entries need to be manually updated because the recreatevg command prepends /fs to the original mount point names for the clones.  Once the /etc/filesystem file is updated, the original volume group can be re-imported with importvg.  &lt;br /&gt;&lt;br /&gt;Subsequent refreshes of previously imported clones can be accomplished without exporting the original because ODM remembers the previous PVID to hdisk# association.  It does not reread the actual PVID from the disk until an operation is performed against the volume group.  The recreatevg command will change the PVIDs and volume names on the cloned volume group without affecting the source volume group.&lt;br /&gt;&lt;br /&gt;Process for initial import of cloned volume group:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span xmlns=""&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Clone the LUNs comprising the volume group&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Make sure to clone in a consistent state&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Unmount and export original volume groups&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Use df to associate file systems to volumes&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Unmount file systems&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use lsvg to list the volume groups&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Issue varoffvg to each affected volume group&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use lspv to view the PVIDs for each disk associated with the volume groups&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Remember the volume group names and which disks belong to each VG that will be exported&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use varyoffvg to offline each VG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use exportvg to export the VGs&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Bring in the new VG&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Execute cfgmgr to discover new disks&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use lspv to identify the duplicate PVIDs&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Execute recreatevg on each new VG listing all disks associated with the volume group and –y option to name the VG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use lspv to verify no duplicate PVIDs&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Import the original volume groups&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Execute importvg with the name of one member hdisk and the –y option with the original name&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mount the original file systems.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Mount the cloned file systems&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Make mount point directories for the cloned file systems&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Edit /etc/filesystems to update the mount points for the cloned VG file systems&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use mount command to mount the cloned file systems&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;The subsequent import of a cloned volume group differs in that only the cloned volume group needs to be unmounted and varied offline prior to the clone refresh.  Remember the hdisk numbers involved in each clone volume group that is to be refreshed. Once refreshed use exportvg to export the volume group.  Afterward, the recreatevg command is issued naming each hdisk associated with the volume group and its previous name.  Now the volumes and file systems are available.  Prior to mounting, the /etc/filesystem entries need to be updated to correct the mount points.&lt;br /&gt;&lt;br /&gt;Process to refresh cloned volume group:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Unmount and vary off the cloned volume groups to be refreshed&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Execute umount on associated file systems&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Use varyoffvg to offline each target VG&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Refresh the clones on the storage system&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Bring in the refreshed clone VGs&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;div&gt;Execute cfgmgr&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Use lspv and notice that ODM remembers the hdisk/PVID and volume group associations&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;Use exportvg to export the VGs noting the hdisk numbers for each VG&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Execute recreatevg on each refreshed VG naming all disks associated with the volume group and –y option to name the VG to its original name&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Now lspv displays new unique PVIDs for each hdisk&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li&gt;&lt;div&gt;Mounting the refreshed clone file systems&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Edit /etc/filesystem to correct the mount points for each volume&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Issue mount command to mount the refreshed clones&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ol&gt;See the example below for a first time import of two cloned volume groups, logvg2 and datavg2, consisting of 2 and 4 disks respectively:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# df&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;Filesystem    512-blocks      Free %Used    Iused %Iused Mounted on&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd4         1048576    594456   44%    13034    17% /&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd2        20971520   5376744   75%    49070     8% /usr&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd9var      2097152    689152   68%    11373    13% /var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd3         2097152   1919664    9%      455     1% /tmp&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd1         1048576     42032   96%      631    12% /home&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd11admin     524288    523488    1%        5     1% /admin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/proc                  -         -    -         -     -  /proc&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd10opt     4194304   3453936   18%     9152     3% /opt&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/livedump     524288    523552    1%        4     1% /var/adm/ras/livedump&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/pocdbbacklv  626524160 578596720    8%        8     1% /proddbback&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fspoclv  1254359040 1033501496   18%     2064     1% /cl3data&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fspocdbloglv  206438400 193491536    7%      110     1% /cl3logs&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/poclv    1254359040 1033501480   18%     2064     1% /proddb&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/pocdbloglv  206438400 193158824    7%      115     1% /proddblog&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/datalv2   836239360 615477152   27%     2064     1% /datatest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/loglv2    208404480 195088848    7%      118     1% /logtest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00$ umount /datatest2/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# umount /logtest2/&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# lsvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;rootvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocdbbackvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;dataclvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logsclvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocdblogvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# varyoffvg datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;NOTE: remember the hdisk and vg names for the exported vg's.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# lspv&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk0          00f62aa942cec382                    rootvg          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk1          none                                None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk2          00f62aa997091888                    pocvg           active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk3          00f62aa9a608de30                    dataclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk4          00f62aa9a60970fc                    logsclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk10         00f62aa9972063c0                    pocdblogvg      active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk11         00f62aa997435bfa                    pocdbbackvg     active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk5          00f62aa9a6798a0c                    datavg2         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk6          00f62aa9a6798acf                    datavg2         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk7          00f62aa9a6798b86                    datavg2         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk8          00f62aa9a6798c36                    datavg2         &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk9          00f62aa9a67d6c9c                    logvg2          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk12         00f62aa9a67d6d51                    logvg2          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# varyoffvg logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# lsvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;rootvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocdbbackvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;dataclvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logsclvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;pocdblogvg&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# exportvg datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# exportvg logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# exportvg datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# exportvg logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# cfgmgr&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# lspv&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk0          00f62aa942cec382                    rootvg          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk1          none                                None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk2          00f62aa997091888                    pocvg           active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk3          00f62aa9a608de30                    dataclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk4          00f62aa9a60970fc                    logsclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk10         00f62aa9972063c0                    pocdblogvg      active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk11         00f62aa997435bfa                    pocdbbackvg     active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk5          &lt;span style="background-color: yellow;"&gt;00f62aa9a6798a0c&lt;/span&gt;                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk6          00f62aa9a6798acf                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk7          00f62aa9a6798b86                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk8          00f62aa9a6798c36                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk13         &lt;span style="background-color: yellow;"&gt;00f62aa9a6798a0c&lt;/span&gt;                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk14         00f62aa9a6798acf                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk15         00f62aa9a6798b86                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk9          00f62aa9a67d6c9c                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk12         00f62aa9a67d6d51                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk16         00f62aa9a6798c36                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk17         00f62aa9a67d6c9c                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk18         00f62aa9a67d6d51                    None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice the duplicate PVIDs. Use the recreatevg command naming all of the new disks in each volume group of the newly mapped clones.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# recreatevg -y dataclvg2 hdisk13 hdisk14 hdisk15 hdisk16&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;dataclvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# recreatevg -y logclvg2 hdisk17 hdisk18&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logclvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# importvg -y datavg2 hdisk5&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;datavg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# importvg -y logvg2 hdisk9 &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;logvg2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# lspv&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk0          00f62aa942cec382                    rootvg          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk1          none                                None            &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk2          00f62aa997091888                    pocvg           active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk3          00f62aa9a608de30                    dataclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk4          00f62aa9a60970fc                    logsclvg        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk10         00f62aa9972063c0                    pocdblogvg      active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk11         00f62aa997435bfa                    pocdbbackvg     active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk5          00f62aa9a6798a0c                    datavg2         active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk6          00f62aa9a6798acf                    datavg2         active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk7          00f62aa9a6798b86                    datavg2         active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk8          00f62aa9a6798c36                    datavg2         active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk13         00f62aa9c63a5ec2                    dataclvg2       active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk14         00f62aa9c63a5f9b                    dataclvg2       active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk15         00f62aa9c63a6070                    dataclvg2       active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk9          00f62aa9a67d6c9c                    logvg2          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk12         00f62aa9a67d6d51                    logvg2          active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk16         00f62aa9c63a6150                    dataclvg2       active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk17         00f62aa9c63bf6b2                    logclvg2        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;hdisk18         00f62aa9c63bf784                    logclvg2        active&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice the PVID numbers are all unique now.&lt;br /&gt;&lt;br /&gt;remount original file systems&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mount /datatest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mount /logtest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;create new mount points and edit /etc/filesystems&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mkdir /dataclone1test2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mkdir /logclone1test2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# cat /etc/filesystems&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;…&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/fs/datatest2:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        dev             = /dev/fsdatalv2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        vfs             = jfs2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        log             = /dev/fsloglv03&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        mount           = true&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        check           = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        options         = rw&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        account         = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/fs/logtest2:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        dev             = /dev/fsloglv2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        vfs             = jfs2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        log             = /dev/fsloglv04&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        mount           = true&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        check           = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        options         = rw&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        account         = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/datatest2:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        dev             = /dev/datalv2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        vfs             = jfs2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        log             = /dev/loglv03&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        mount           = true&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        check           = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        options         = rw&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        account         = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/logtest2:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        dev             = /dev/loglv2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        vfs             = jfs2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        log             = /dev/loglv04&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        mount           = true&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        check           = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        options         = rw&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;        account         = false&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice the cloned duplicates are prefixed with /fs on the mount point by the recreatevg command.  Also the volume names were changed to prevent duplicate entries in /dev.  Update /etc/filesysems with the mount points created previously.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mount /dataclone1test2 &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;Replaying log for /dev/fsdatalv2.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# mount /logclone1test2 &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;Replaying log for /dev/fsloglv2.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00# df&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;Filesystem    512-blocks      Free %Used    Iused %Iused Mounted on&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd4         1048576    594248   44%    13064    17% /&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd2        20971520   5376744   75%    49070     8% /usr&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd9var      2097152    688232   68%    11373    13% /var&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd3         2097152   1919664    9%      455     1% /tmp&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd1         1048576     42032   96%      631    12% /home&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd11admin     524288    523488    1%        5     1% /admin&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/proc                  -         -    -         -     -  /proc&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/hd10opt     4194304   3453936   18%     9152     3% /opt&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/livedump     524288    523552    1%        4     1% /var/adm/ras/livedump&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/pocdbbacklv  626524160 578596720    8%        8     1% /proddbback&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fspoclv  1254359040 1033501496   18%     2064     1% /cl3data&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fspocdbloglv  206438400 193491536    7%      110     1% /cl3logs&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/poclv    1254359040 1033501480   18%     2064     1% /proddb&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/pocdbloglv  206438400 193158824    7%      115     1% /proddblog&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/datalv2   836239360 615477152   27%     2064     1% /datatest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/loglv2    208404480 195088848    7%      118     1% /logtest2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fsdatalv2  836239360 615477160   27%     2064     1% /dataclone1test2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;/dev/fsloglv2  208404480 195744288    7%      114     1% /logclone1test2&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Courier New; font-size: 9pt;"&gt;bash-3.00#&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-3584470786190464080?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/3584470786190464080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/08/how-to-mount-cloned-volume-groups-in.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3584470786190464080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3584470786190464080'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/08/how-to-mount-cloned-volume-groups-in.html' title='How to Mount Cloned Volume Groups in AIX'/><author><name>stevek</name><uri>http://www.blogger.com/profile/07308754104687537983</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-4790782335032115926</id><published>2011-08-15T09:00:00.000-07:00</published><updated>2011-08-15T09:00:02.187-07:00</updated><title type='text'>Virtual Machine Migration Fails</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;After recently upgrading a customer to vSphere 4.1 Update 1, I received a call from the customer because one of their guest VMs could not be migrated to a different VMFS datastore.&amp;nbsp; The somewhat troubling, “unable to access file” error message indicated a problem with the VMDK for a specific snapshot.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://lh4.ggpht.com/_8EoUjQOWRt0/TbhrIENTCMI/AAAAAAAAA0k/3gUKosAvMHY/s1600-h/vsphere-migrate-unable-to-access-file%5B2%5D.png"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;img alt="vsphere-migrate-unable-to-access-file" border="0" height="162" src="http://lh6.ggpht.com/_8EoUjQOWRt0/TbhrIzoyaNI/AAAAAAAAA0o/kV30xabWDm4/vsphere-migrate-unable-to-access-file_thumb.png?imgmax=800" style="background-image: none; border-width: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="vsphere-migrate-unable-to-access-file" width="400" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Through an SSH session I validated the snapshot VMDK and VMDK flat file existed in the proper directory.&amp;nbsp; The VMDK flat file had a non-zero size, suggesting to me this might be a configuration problem.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Out of curiosity I examined the snapshot’s VMDK configuration file and noticed the parentFileNameHint entry contained the full pathname and used the VMFS GUID value.&amp;nbsp; Hmm.&amp;nbsp; Is that the proper GUID?&amp;nbsp; No it wasn’t.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Since the VM had other snapshots I reviewed those configuration files as well and noticed they used relative path names for the parentFileNameHint.&amp;nbsp; Could it be that simple?&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;I edited the snapshot VMDK configuration file and removed the full path qualification.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Problem solved.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;In my example above (which was reproduced in my lab), I changed:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;parentFileNameHint=”/vmfs/volumes/4ab3ebbc-46f3c941-7c14-00144fe69d58/retro-000001.vmdk"&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;To:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;parentFileNameHint="retro-000001.vmdk"&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-4790782335032115926?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/4790782335032115926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/08/virtual-machine-migration-fails.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4790782335032115926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4790782335032115926'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/08/virtual-machine-migration-fails.html' title='Virtual Machine Migration Fails'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_8EoUjQOWRt0/TbhrIzoyaNI/AAAAAAAAA0o/kV30xabWDm4/s72-c/vsphere-migrate-unable-to-access-file_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-3070505386307217346</id><published>2011-08-08T09:00:00.001-07:00</published><updated>2011-08-08T09:00:00.513-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fcip'/><category scheme='http://www.blogger.com/atom/ns#' term='HUR'/><category scheme='http://www.blogger.com/atom/ns#' term='fx8-24'/><category scheme='http://www.blogger.com/atom/ns#' term='brocade'/><title type='text'>FCIP considerations for 10 GigE on Brocade FX8-24</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;While working with a client to architect a new FCIP solution, there were a number of considerations that needed to be addressed.  With this particular implementation we are leveraging the FX8-24 blades in DCX chassis and attaching the 10Gbe xge links to the network core.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;With the current version of FOS (6.4.1a in this case), the 10Gbe interface is maximized by using multiple “circuits” which are combined in a single FCIP tunnel.  Each circuit has a maximum bandwidth of 1Gb.  To aggregate the multiple circuits you need the Advanced Extension License.  Each of these circuits needs an IP address on either end of the tunnel.  Additionally, there are two 10Gbe xge ports on each FX8-24 card; and they require placement in separate VLANs.  Be sure to discuss and plan these requirements with your network team.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;There are other considerations as well, such as utilizing Virtual Fabrics to isolate and allow the FCIP fabrics to merge between switches or utilizing the Integrated Routing feature (additional licensing) to configure the FCIP tunnels with VEX ports without the requirement of merging the fabrics.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Regardless of the architecture (Virtual fabric vs integrated routing) you will need to configure the 1Gbe circuits appropriately.  You will want to understand the maximum bandwidth your link can sustain, and configure the FCIP tunnel in such a way that you consume just under the maximum bandwidth to prevent TCP/IP congestion and sliding window ramp up from slowing down your overall throughput.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;In our example, we want to consume about 6 Gbe of bandwidth between their locations.  We will need to configure six circuits within the FCIP tunnel, each configured just under the 1Gbe maximum bandwidth setting.  &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-3070505386307217346?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/3070505386307217346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/08/fcip-considerations-for-10-gige-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3070505386307217346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3070505386307217346'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/08/fcip-considerations-for-10-gige-on.html' title='FCIP considerations for 10 GigE on Brocade FX8-24'/><author><name>Justin</name><uri>http://www.blogger.com/profile/13999440637884152758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7ZiCEVroTRg/SIEIDG4okDI/AAAAAAAAAAM/xup4jCHAd1g/S220/1421495217_l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-8016128377663422810</id><published>2011-08-01T09:00:00.000-07:00</published><updated>2011-08-01T09:00:01.696-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disk cache performance workloads'/><title type='text'>Storage Performance Concepts Entry 6</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;b&gt;The Impact of Cache&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Although the cache within an array can be used for a number of purposes such as storing configuration information or tables for snapshots and replication its primary purpose is to serve as a high speed buffer area between the hosts and the backend disk.  The caching algorithms used by the manufacturers are their “secret sauce” and they aren’t always forthcoming with exactly how they work but at a basic level they all provide the same types of functions. &lt;/div&gt;&lt;div class="MsoNormal"&gt;In our previous entries on storage performance we highlighted the performance differences of RAID 10 versus RAID 5. RAID 10 provides better performance than RAID 5 in particular for random IO because the RAID penalty is lower and given the same amount of usable capacity it will have more underlying RAID Groups and total disk drives. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Despite the performance benefits we deploy RAID 5 much more frequently than RAID 10. The first reason why is obvious, RAID 5 is much less expensive. The second reason is that cache greatly improves performance to the point that RAID 5 is acceptable. &lt;/div&gt;&lt;div class="MsoNormal"&gt;All host write requests are satisfied by cache. Once the IO is stored in cache the array sends an acknowledgement back to the host that initiated the IO to let it know that it was received successfully and that it can now send its next IO request. In the background the array will write or flush the pending write IOs to disk. &lt;/div&gt;&lt;div class="MsoNormal"&gt;How and when these write IOs are flushed depends on the cache management algorithms of the array as well as the current cache workload. Most arrays including the HDS AMS 2000 will attempt to hold off flushing to disk to see if it can perform a full stripe write. This is particularly important in RAID 5 configurations because it means you can eliminate the read and modify operations associated with performing write IO.  Details of Read-Modify-Write can be found at the following link.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;a href="http://en.wikipedia.org/wiki/Standard_RAID_levels"&gt;http://en.wikipedia.org/wiki/Standard_RAID_levels&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Although the array is not always able to do full stripe writes at least on the HDS arrays we are often able to use RAID 5 in scenarios where you would typically be looking at RAID 10. This is not to say that RAID 5 is faster than RAID 10 just that with effective cache algorithms RAID 5 may perform better than expected. &lt;/div&gt;&lt;div class="MsoNormal"&gt;It’s interesting that if you google array cache performance you will find a number of articles and blog entries that talk about how cache can negatively impact performance.  This is a bit misleading. These entries are focused on very specific use cases and typically involve a single application with a dedicated storage device rather than a shared storage environment like the ones used in most environments. Let’s breakdown how cache is used and the impact associated with various workloads. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;How Cache Works&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;Exactly how cache operates is dependent on the storage array and the particular step by step processes involved are outside the scope of this entry. In any case, what we are interested in is not so much the cache operations of a specific array but rather the general impact of cache in real world workloads. I cannot speak for every array but in the case of HDS enterprise systems their Theory of Operation Guide goes into excruciating detail on cache. If you are looking for this type of detail I suggest you get a copy of this guide or similar information from your array manufacturer. &lt;/div&gt;&lt;div class="MsoNormal"&gt;The performance benefits of cache are based on cache hits. A cache hit occurs when the IO request can be satisfied from cache rather than from disk.  The array manufacturers develop algorithms to make the best use of the available cache and to increase the number of cache hits. This is done in a number of ways. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Least Recently Used – Most arrays employ a least recently used algorithm to manage the content of cache. In short the most recent data is left in cache and the least recently used data is removed, freeing up capacity for additional IO. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Locality of Reference – When a read request is issued the data is read from disk and placed into cache. In addition to the specific data requested, additional data said to be nearby is also loaded into cache. This is based on the principal that data exists in clusters and that there is a high degree of likelihood that nearby data will also be accessed. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Prefetching – The array will attempt to recognize sequential read operations and prefetch data into cache. &lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Applying this to workloads&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;As we discussed in our previous entry Cache can be thought of as very wide but not very deep, it provides a lot of IOs but doesn’t store a lot of data. This can come into play when you try and determine how to address a performance issues with a storage array. Here is an illustration that should help. &lt;/div&gt;&lt;div class="MsoNormal"&gt;You have an array with 16GB of cache that you are frequently seeing performance issues. You look at performance monitor and determine that the cache has entered write pending mode, meaning that 70% of the user cache has pending write data and the array has begun throttling back the attached hosts. &lt;/div&gt;&lt;div class="MsoNormal"&gt;Should you add more cache? Let’s take a look.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;During the performance degradation the array is receiving 400MBps of write requests &lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span style="font-family: Symbol;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;The array has 16GB of cache and we are considering upgrading it to 32GB.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;16GB of installed cache results in&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;§&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;  &lt;/span&gt;&lt;/span&gt;8GB Mirrored&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;§&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;  &lt;/span&gt;&lt;/span&gt;70% limit = 5.734GB&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;32GB of installed cache results in&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;§&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;  &lt;/span&gt;&lt;/span&gt;16GB Mirrored&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1.5in; text-indent: -0.25in;"&gt;&lt;span style="font-family: Wingdings;"&gt;§&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;  &lt;/span&gt;&lt;/span&gt;70% Limit = 11.2GB Usable&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;Writing data at 400MBps fills up the 16GB configuration in ~15 Seconds&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;;"&gt;o&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;Writing data at 400MBps fills up the 32GB configuration in ~29 Seconds&lt;/div&gt;&lt;div class="MsoNormal"&gt;Assuming you pay around $1,000 per GB of cache it will cost you $16,000 for the array to slow down to a crawl in 29 seconds rather than 15. This is probably not the solution you or management is hoping for. What may be needed is a combination of approaches. &lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;1.&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;You may still need cache, if the bursts are not sustained the extra cache may be good enough. &lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;2.&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;You may need to partition the cache so that the offending application doesn’t consume all available cache and impact the other hosts sharing the array. The way this works is you dedicate a portion of cache to the LUNs that are receiving the heavy IO, leaving the rest of the cache available for other applications. This will not speed up the application that is performing all of the writes but it will at least keep all of the other applications from suffering.&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle"&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;3.&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;You may need to speed up the disk – the bottom of the funnel in our previous diagram. This can be done by using something like Dynamic Provisioning to distribute the IO across more disks. If Dynamic Provisioning is already in use you may need to add more disk to the pool, each new disk provides additional IOPS. &lt;/div&gt;&lt;div class="MsoNormal"&gt;You may need a combination of all three approaches; more cache, Dynamic Provisioning and more disks. The answer depends on the workload. Cache is an advantage primarily when the IO profile consists of short bursts of random IO. This is most common in OLTP environments. Cache does not help and may even hinder performance in the cases of long sequential IO.                &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-8016128377663422810?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/8016128377663422810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/08/storage-performance-concepts-entry-6.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/8016128377663422810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/8016128377663422810'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/08/storage-performance-concepts-entry-6.html' title='Storage Performance Concepts Entry 6'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6279663081733550720</id><published>2011-07-25T09:00:00.001-07:00</published><updated>2011-07-25T09:00:05.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='HDT'/><category scheme='http://www.blogger.com/atom/ns#' term='Hitachi Dynamic Tiering'/><category scheme='http://www.blogger.com/atom/ns#' term='HDS'/><category scheme='http://www.blogger.com/atom/ns#' term='Storage Tiering'/><title type='text'>Demonstration of Hitachi Dynamic Tiering</title><content type='html'>&lt;div class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; font-size: small;"&gt;On the latest model of the Hitachi Data Systems enterprise storage array, the Virtual Storage Platform (VSP), HDS has included the capability to dynamically tier data at a sub-LUN (page) level.  Hitachi Data Systems Dynamic Tiering (HDT) is a technology that enables optimization of an HDS Dynamically Provisioned (HDP) Pool by allocating highly referenced pages to higher tiers of storage.  HDT will periodically move pages up or down the tiers depending upon access patterns.  &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms';"&gt;For the purpose of this exercise, we will create a multi-tiered HDP pool.  Within the HDP pool, there will be two tiers, one SAS and one SATA.  From this pool, we present three volumes to a Windows server and populate each of these volumes with static data.  We will initially populate all three volumes with static data, filling Tier1 (SAS) first, with the remainder of data spilling over to Tier2 (SATA).  We will confirm our Tier1 is filled with static data by viewing the Tier Properties.  Next, we will create what we dub, “active data” with IOMeter and generate I/O to test files on each of the three volumes.  After several HDT cycles, we will revisit the Tier Properties to observe the affect that HDT has on highly referenced pages.&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="349" src="http://www.youtube.com/embed/rsrFvzG25As" width="560"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;span style="font-family: 'trebuchet ms'; line-height: 115%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span style="font-family: 'trebuchet ms'; font-size: small; line-height: 115%;"&gt;Storage tiering is not a new concept and there are a variety of ways to tier storage.  Prior to HDT, HDS provided the capability to tier at the LUN level with Tiered Storage Manager.  Other ways of tiering include file archiving and virtualizing storage.  However, HDT can automatically tier data at a finer granularity without the need to set up policies or classify the data.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6279663081733550720?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6279663081733550720/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/07/demonstration-of-hitachi-dynamic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6279663081733550720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6279663081733550720'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/07/demonstration-of-hitachi-dynamic.html' title='Demonstration of Hitachi Dynamic Tiering'/><author><name>Genny</name><uri>http://www.blogger.com/profile/01679111905514290044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/rsrFvzG25As/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6748182677054729461</id><published>2011-07-18T09:00:00.000-07:00</published><updated>2011-07-18T09:00:08.580-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic Provisioning'/><category scheme='http://www.blogger.com/atom/ns#' term='Hitachi'/><category scheme='http://www.blogger.com/atom/ns#' term='HDS'/><category scheme='http://www.blogger.com/atom/ns#' term='HDP'/><title type='text'>Hitachi Dynamic Provisioning (HDP) in practice</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;We've talked about HDP on the blog a few times before (&lt;a href="http://storagemeat.blogspot.com/2009/04/hitachi-dynamic-provisioning-reclaim.html"&gt;here &lt;/a&gt;and &lt;a href="http://storagemeat.blogspot.com/2010/09/easier-way-to-carve.html"&gt;here&lt;/a&gt;, for example). &amp;nbsp;And with the &lt;a href="http://storagemeat.blogspot.com/2010/09/welcoming-virtual-storage-platform.html"&gt;advent of the VSP&lt;/a&gt;, we've moved into a world where all LUN provisioning from HDS arrays should be done using HDP.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;In brief, HDP brings three different things to the table:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Wide striping - data from each LUN in an HDP pool is evenly distributed across the drives in the pool.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Thin provisioning - space is only consumed from an HDP pool when data is written from&amp;nbsp;the&amp;nbsp;host. &amp;nbsp;In addition, through Zero Page Reclaim (ZPR), you can recover unused capacity.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Faster allocation - In a non-HDP environment there were two options. &amp;nbsp;You could either have predetermined LUN sizes and format the array ahead of time, or you could create custom LUNs on-demand and wait for the format. &amp;nbsp;With HDP you are able to create custom-sized LUNs and begin using them immediately.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Most of our customers move to HDP as part of an array refresh. &amp;nbsp;Whether it's going from an AMS 1000 to an AMS 2500 or a USP-V to a VSP, they get the benefits of both HDP and newer technology. &amp;nbsp;While this is great from an overall performance perspective it makes it difficult to quantify how much of the performance gain is from HDP vs. how much is from using newer hardware.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;We do have one customer with a USP-VM that moved from non-HDP over to HDP, though, and I thought it was worth sharing a couple of performance metrics both pre- and post-HDP. &amp;nbsp;Full disclosure - the HDP pool does have more disks than the traditional layout did (80 vs. 64), and we added 8 GB of data cache as well. &amp;nbsp;So, it's not apples-to-apples, but is as close as I've been able to get.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;First we have Parity Group utilization:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-L5W2jAUJWcg/TgDXmKLSPbI/AAAAAAABGtk/mYvP83WZkKM/s1600/Parity_group_utilization.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="464" src="http://3.bp.blogspot.com/-L5W2jAUJWcg/TgDXmKLSPbI/AAAAAAABGtk/mYvP83WZkKM/s640/Parity_group_utilization.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;As you can see,&amp;nbsp;back-end&amp;nbsp;utilization completely changed on 12/26 when we did the&amp;nbsp;cut over. &amp;nbsp;Prior to the move to HDP parity group utilization was uneven, with groups 1-1 and 1-3 being especially busy. &amp;nbsp;After the move utilization across the groups is even and the average&amp;nbsp;utilization&amp;nbsp;is greatly reduced.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Second we have Write Pending - this metric represents data in cache that needs to be written to disk:&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-rzCgJsoF9Io/TgDZbEq2hnI/AAAAAAABGto/sGI35jv3BMA/s1600/Write_Pending.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="464" src="http://4.bp.blogspot.com/-rzCgJsoF9Io/TgDZbEq2hnI/AAAAAAABGto/sGI35jv3BMA/s640/Write_Pending.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Here you see results similar to the parity group utilization. &amp;nbsp;From cutover on 12/26 until 1/9 write pending is basically negligible. &amp;nbsp;From 1/9 to 1/16 there was monthly processing, corresponding to the peak from 12/12 to 12/19 in the previous month, but as you can see write pending is greatly reduced. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The peak in write pending between 12/19 and 12/26 is due to the migration from non-HDP volumes to HDP volumes. &amp;nbsp;In this case we were also changing LUN sizes, and used VERITAS Volume Manager to perform that piece of the migration.&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The difference pre- and post-HDP is compelling, especially when you consider that it's the same workload against the same array. &amp;nbsp;If you're on an array that doesn't support wide striping, or if you're just not using it today then there's an opportunity to "do more with less."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6748182677054729461?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6748182677054729461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/07/hitachi-dynamic-provisioning-hdp-in.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6748182677054729461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6748182677054729461'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/07/hitachi-dynamic-provisioning-hdp-in.html' title='Hitachi Dynamic Provisioning (HDP) in practice'/><author><name>chadwick</name><uri>http://www.blogger.com/profile/04727175217279747418</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_mvN0QpKyUpw/SdvUuglGAYI/AAAAAAAAt88/4LayoyTL6f0/S220/IMG_3183-1.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-L5W2jAUJWcg/TgDXmKLSPbI/AAAAAAABGtk/mYvP83WZkKM/s72-c/Parity_group_utilization.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-2912255350698139286</id><published>2011-07-11T09:00:00.000-07:00</published><updated>2011-07-11T09:00:09.774-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware ESX SnapMirror SRM SRA NetApp NDRA how-to'/><title type='text'>ESX Site Recovery Manager with NetApp Storage</title><content type='html'>&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;I'm happy to report that configuring SRM using NetApp storage and SnapMirror is a relatively straightforward operation. That is to say, not any surprises and things pretty much work like you'd expect. The nifty thing about NetApp is that it doesn't require identical arrays at each site; in fact, you can have small regional VM farms (running on something like a small workgroup FAS2040) and SRM those back to your core datacenter running a big-dog FAS6280. I don't have that kind of horsepower to play with in the lab, but down below I'll show you how I protected a FAS270 from yester-year up to a larger 3020 array. And for fun, I did it across a T-1 line. Your mileage may vary, and your co-workers will likely be peeved when you hog up all the bandwidth during that initial sync (I know mine were). Incremental sync jobs afterwards didn't produce hardly any complaints, by the way.&lt;/span&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;The video doesn't detail the initial software installation. Suffice to say, you'll need the &lt;/span&gt;&lt;a href="http://downloads.vmware.com/d/info/datacenter_downloads/vmware_vcenter_site_recovery_manager/4_0" target="_blank" title="SRM installable"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;SRM installalable&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; from VMware and the NetApp SRA, which is helpfully called the &lt;/span&gt;&lt;a href="https://now.netapp.com/NOW/cgi-bin/software/?product=Disaster+Recovery+Adapter+for+VMware+SRM&amp;amp;platform=All+Platforms" target="_blank" title="NetApp Disaster Recovery Adapter"&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;NetApp Disaster Recovery Adapter&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; (NOW login required to download) if you're searching for it. Both should be installed on a dedicated SRM systems, one at the primary site and one at the recovery site.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Other things you will need:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;A NetApp head at each site, running at least OnTAP 7.2.4&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;A SnapMirror license installed at each site&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;A SnapMirror relationship defined and established for your primary datastore&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;A FlexClone license (required only to enable the &lt;em&gt;test failover&lt;/em&gt; function, as demonstrated in the video)&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;/ul&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;There's a couple of 'gotchas' when planning this configuration too, at least with 1.4 version of the SRA:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;The datastore FlexVols can only have a single SnapMirror relationship, which is to the secondary location. No daisy-chains. This also limits the ability to have multiple recovery sites for a single primary site.&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;Replication should be done with plain-old Volume SnapMirror. (Qtree-SnapMirror might work and isn't explicitly unsupported, but would be an unwise plan).&lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt; &lt;/span&gt;&lt;li&gt;&lt;span style="font-family: 'Trebuchet MS', sans-serif;"&gt;SyncMirror however is explicitly unsupported in conjunction with SRM. That should present less of an issue. If you're lucky enough to have SyncMirror, your single ESX cluster should probably span the two sites. So no SRM required. You can still run regular SnapMirror along with SyncMirror to get the VMs off to a third more distant location.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/4qQtzRVe3Bc" width="640"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-2912255350698139286?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/2912255350698139286/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/07/esx-site-recovery-manager-with-netapp.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/2912255350698139286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/2912255350698139286'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/07/esx-site-recovery-manager-with-netapp.html' title='ESX Site Recovery Manager with NetApp Storage'/><author><name>Stephen</name><uri>http://www.blogger.com/profile/07221781737476973746</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/4qQtzRVe3Bc/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6036843024900727851</id><published>2011-07-04T09:00:00.000-07:00</published><updated>2011-07-04T09:00:06.859-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='disk cache performance workloads'/><title type='text'>Storage Performance Concepts Entry 5</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Cache Architecture - Part 1&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The last area we want to cover is cache. Cache or Cache Memory is just that – memory / DIMMs installed in an array to serve as a high speed buffer between the disks and the hosts. Most storage arrays are what are referred to as cache centric, meaning that all reads and writes are done through cache not directly to disk. In addition to user data / host IO, cache can be used to store configuration information and tables for snapshots, replication or other advanced features that need a high speed storage location. The data in cache must be protected and this is most commonly done with mirroring. In some cases all of the data is mirrored, in others the write IOs are mirrored while reads are not, since the read IOs already exist on the disk. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;A common question is “in an array with 16GB of cache how much is really available for user / host IO?”&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The exact details depend on the array and the configuration you have but the following concepts should be fairly constant.  For example I am using an HDS AMS 2000 Series array. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;16GB of Cache (8GB per controller)&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;A percentage of cache is dedicated to the system area. This varies depending on the hardware configuration and whether or not features that use cache such as replication or Copy on Write Snapshot are enabled. Assuming that replication and Copy on write are not in use 3,370MB total or 1,452MB per controller will be dedicated to the system area leaving 13,480MB or 6,740MB per controller.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpMiddle" style="text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;Next each controller mirrors its cache to its partner, 13,480MB becomes 6,740MB or 3,370MB per controller.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;·&lt;span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;The last calculation depends on the type of IO. All arrays deploy some mechanism to keep the cache from being overrun with write IO requests. How this works is, a threshold is set that when met tells the array to begin throttling back incoming host write requests. In the case of the AMS 2000 series that threshold is 70%. Note that this is for write IO not reads. In a worst case scenario when performing 100% writes the available cache is limited to 70% of the 6,740MB number -  4,718MB total or 2,359MB per controller. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;Looking at these numbers many are initially surprised by how little cache is actually available for user IO.  It’s interesting to note that we rarely have cache related performance issues with these arrays.  The reason has to do with the way that cache operates in a modern storage array. The following diagram created by our CTO and illustrates the relationship between cache and the physical disk drives.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif; line-height: 115%;"&gt;Cache to Disk Relationship&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;a href="http://4.bp.blogspot.com/-B7V5t6wrdLA/TcXs5pu2f5I/AAAAAAAAABM/heDIXw5G3f8/s1600/Cache%2BFunnel.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5604145786531512210" src="http://4.bp.blogspot.com/-B7V5t6wrdLA/TcXs5pu2f5I/AAAAAAAAABM/heDIXw5G3f8/s320/Cache%2BFunnel.png" style="cursor: pointer; display: block; height: 169px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;"&gt;The cache is wide, it provides a lot of IOPS but it is shallow – there isn’t much capacity. The disks are deep, they hold a lot of capacity but individually they aren’t particularly fast.  What seems to be impacting the relationship most significantly is wide striping. Wide Striping allows you to pool multiple array groups and more effectively distribute IO across more disks.  The result is that writes in cache are flushed to disk more quickly, keeping cache available for incoming IOs.  Referring back to our funnel diagram we are essentially widening the bottom of the funnel.  Wide striping is not unique to HDS, it is a common feature on many arrays and it just one example of how storage vendors attempt to balance an array.  In our next entry we will take a look at the role of cache with various workloads. &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;img alt="" src="file:///C:/Users/Terry/AppData/Local/Temp/moz-screenshot.png" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6036843024900727851?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6036843024900727851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/07/storage-performance-concepts-entry-5.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6036843024900727851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6036843024900727851'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/07/storage-performance-concepts-entry-5.html' title='Storage Performance Concepts Entry 5'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-B7V5t6wrdLA/TcXs5pu2f5I/AAAAAAAAABM/heDIXw5G3f8/s72-c/Cache%2BFunnel.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6137386707178245230</id><published>2011-06-27T09:00:00.000-07:00</published><updated>2011-06-27T09:00:02.025-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='commserve'/><category scheme='http://www.blogger.com/atom/ns#' term='Commvault'/><category scheme='http://www.blogger.com/atom/ns#' term='disaster recovery'/><title type='text'>Performing a CommVault CommServe Recovery</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;Prior to the release of Simpana 9 SP1, upgrades from previous versions could get a little hairy. Sure, CommVault had its upgrade tool (on Maintenance Advantage) to verify that the CommServe could be upgraded. However, this really didn’t cover the critical portion of the upgrade, the MS SQL 2005 to 2008 upgrade. I’ve always recommended testing the upgrade in a lab environment first…just in case! This is where the DR process comes in handy.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;For the purpose of this exercise, I will be recovering a version 7 CommServe. After installing the OS and the Simpana 7 CommServe on the VM, a copy of the DR backup set will be loaded into the test CommServe. I have outlined the instructions below.&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;Perform the following on your Production CommServe:&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span"&gt;1) From the CommCell GUI,&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;veriify that the CommServe has the latest updates installed.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-G2JDNyQOqHs/TgEHYF67grI/AAAAAAAAAEs/6M_wm5R8Gsw/s1600/1.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620781920422691506" src="http://3.bp.blogspot.com/-G2JDNyQOqHs/TgEHYF67grI/AAAAAAAAAEs/6M_wm5R8Gsw/s320/1.png" style="cursor: pointer; display: block; height: 320px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 314px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;2) Take a manual DR backup. &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;Right click on the CommServe, and select “Run DR Backup”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;3) Determine the location of the DR backups. In the control panel, double-click on DR Backups.&lt;/span&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/-syRO73WnDuc/TgELEmywB5I/AAAAAAAAAE8/sC_o13fjJdU/s1600/2.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620785983695882130" src="http://2.bp.blogspot.com/-syRO73WnDuc/TgELEmywB5I/AAAAAAAAAE8/sC_o13fjJdU/s320/2.png" style="cursor: pointer; display: block; height: 179px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;The DR backup location is located under the “Export Settings Tab”.&lt;/div&gt;&lt;div align="center" class="MsoNormal" style="text-align: left;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://4.bp.blogspot.com/-mNA7R1EpLpQ/TgDjlsa3j6I/AAAAAAAAADU/kLjXBV30_lo/s1600/3.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620742571676897186" src="http://4.bp.blogspot.com/-mNA7R1EpLpQ/TgDjlsa3j6I/AAAAAAAAADU/kLjXBV30_lo/s320/3.png" style="cursor: pointer; display: block; height: 320px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 293px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;4)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;In the DR backup directory, you will see the DR backups (which include SQL dump, registry settings, etc.) The SET_### consist of a single DR backup. Make a copy of the latest SET_### directory and copy it to the test CommServe VM.&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: 0.5in; text-indent: -0.25in;"&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Perform the following on your Test CommServe:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span"&gt;1)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;Install the CommServe software. A 30 day temporary license will be granted with plenty of time to complete testing. I would highly recommend purchasing the CommServe DR License. This license allows your CommServe two different IP addresses, one for the production site and one for a DR CommServe. The price for this license is miniscule compared to the benefits you gain by having an extra DR CommServe.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span"&gt;2)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;Verify the location of the DR backup copied from the production CommServe&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://1.bp.blogspot.com/-h52yCR_lp8c/TgENS2aeJLI/AAAAAAAAAFE/lWGCau-Qsr8/s1600/4.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620788427430438066" src="http://1.bp.blogspot.com/-h52yCR_lp8c/TgENS2aeJLI/AAAAAAAAAFE/lWGCau-Qsr8/s320/4.png" style="cursor: pointer; display: block; height: 196px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;3) &lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;Run the CommServe DR Recovery GUI&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;\\software_install_directory\base\CommServeDisasterRecoveryGUI.exe&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://1.bp.blogspot.com/-1afIGI9L-kA/TgDkUiywqtI/AAAAAAAAAEc/tkLCMh8cLx4/s1600/5.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620743376546605778" src="http://1.bp.blogspot.com/-1afIGI9L-kA/TgDkUiywqtI/AAAAAAAAAEc/tkLCMh8cLx4/s320/5.png" style="cursor: pointer; display: block; height: 251px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoListParagraph"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;Enter the following parameters in the DR Recovery GUI&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;/div&gt;&lt;div class="MsoListParagraph"&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;SQL Restore Tab&lt;/b&gt;&lt;/i&gt;&lt;i&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;a)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;Restore file: Select the commserv_&lt;hostname&gt;_&lt;hostname&gt;FULL.dmp file to restore.&lt;o:p&gt;&lt;/o:p&gt;&lt;/hostname&gt;&lt;/hostname&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/-dL-hdoCA6fM/TgDkRlP3FEI/AAAAAAAAAEU/TjJz1GzT1cA/s1600/6.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620743325665924162" src="http://4.bp.blogspot.com/-dL-hdoCA6fM/TgDkRlP3FEI/AAAAAAAAAEU/TjJz1GzT1cA/s320/6.png" style="cursor: pointer; display: block; height: 209px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: 0.75in; text-indent: -0.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;b)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt; &lt;/span&gt;Restore path: Verify that the directory where you wish to restore the SQL DB’s.In my case, I installed the default CommServe DB on the C: drive, therefore, I can restore to the original path.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-fR9suDftaUU/TgEYlBEnXJI/AAAAAAAAAFU/zPRWTKIWG5U/s1600/7.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620800834157108370" src="http://3.bp.blogspot.com/-fR9suDftaUU/TgEYlBEnXJI/AAAAAAAAAFU/zPRWTKIWG5U/s320/7.png" style="cursor: hand; cursor: pointer; display: block; height: 171px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;div class="MsoNormal" style="margin-left: .75in;"&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;Disregard the following error message.&lt;/span&gt;  &lt;span class="Apple-style-span"&gt;You will be overwriting the existing default CommServe database.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-DD7u8rKD6Wg/TgDkLwv5eHI/AAAAAAAAAEE/VXVCmm4_NbI/s1600/8.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620743225673873522" src="http://3.bp.blogspot.com/-DD7u8rKD6Wg/TgDkLwv5eHI/AAAAAAAAAEE/VXVCmm4_NbI/s320/8.png" style="cursor: hand; cursor: pointer; display: block; height: 75px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: .75in;"&gt;Please note, CommVault Services will need to be restarted.&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in;"&gt;&lt;span class="Apple-style-span"&gt;c)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;  &lt;/span&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;b&gt;(Optional)&lt;/b&gt;&lt;/i&gt; Enter valid Mail Server/Recipient information to receive mail notification&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://2.bp.blogspot.com/-2mUOeSBQsDw/TgDkJDVrhYI/AAAAAAAAAD8/zCxQHBoUmbQ/s1600/9.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620743179124573570" src="http://2.bp.blogspot.com/-2mUOeSBQsDw/TgDkJDVrhYI/AAAAAAAAAD8/zCxQHBoUmbQ/s320/9.png" style="cursor: pointer; display: block; height: 320px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 309px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;d)&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span" style="font-size: 9px;"&gt;  &lt;/span&gt;&lt;/span&gt;Click "OK" and verify that the recovery is complete.&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;a href="http://2.bp.blogspot.com/-WEgAixD_MYs/TgDkGKPv2kI/AAAAAAAAAD0/Ifl-_ovEL8E/s1600/10.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span" style="-webkit-text-decorations-in-effect: none;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/-ltLResovyqw/TgEZXXMHulI/AAAAAAAAAFc/wmQvUjf30Ts/s1600/10.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620801699087628882" src="http://4.bp.blogspot.com/-ltLResovyqw/TgEZXXMHulI/AAAAAAAAAFc/wmQvUjf30Ts/s320/10.png" style="cursor: pointer; display: block; height: 99px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/-WEgAixD_MYs/TgDkGKPv2kI/AAAAAAAAAD0/Ifl-_ovEL8E/s1600/10.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .5in;"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;b&gt;Name/License Change Tab&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;a) &lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;    &lt;/span&gt;Check the CommServe Name Change to the hostname of your Test server.  The CS DR GUI will automatically populate this information.&lt;/span&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/-POgimqLH3UU/TgDkCamibTI/AAAAAAAAADs/neCgQ0EwU7g/s1600/12.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620743065110211890" src="http://2.bp.blogspot.com/-POgimqLH3UU/TgDkCamibTI/AAAAAAAAADs/neCgQ0EwU7g/s320/12.jpg" style="cursor: hand; cursor: pointer; display: block; height: 320px; margin: 0px auto 10px; text-align: center; width: 242px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;b) &lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;    &lt;/span&gt;Click “OK”.  The message window at the bottom will state the Hostname change is complete.  Also, notice that the “Commserve Name Change” is no longer checked.  &lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;i style="mso-bidi-font-style: normal;"&gt;&lt;b&gt;Post Recovery Tab&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;      This is an optional piece of the DR recovery process.&lt;/span&gt;&lt;span class="Apple-style-span"&gt;  If your CommServe was also your Media Agent, you may want to disable schedules and media agent processes. &lt;/span&gt;&lt;span class="Apple-style-span"&gt;I typically select the following items&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;a)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;Check Perform PostRecovery Operations&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;b) &lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;Check “Delete all Active Jobs”&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;c)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;Check “Disable Media Agent”&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;d)  &lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;Check “Disable schedules"&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;e) Click "OK"&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="margin-left: .75in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;a href="http://3.bp.blogspot.com/-0pUgIoUrl-4/TgEaST6CxsI/AAAAAAAAAFk/Do0iw55DjpE/s1600/13.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;span class="Apple-style-span"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5620802711818782402" src="http://3.bp.blogspot.com/-0pUgIoUrl-4/TgEaST6CxsI/AAAAAAAAAFk/Do0iw55DjpE/s320/13.png" style="cursor: pointer; display: block; height: 320px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 239px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;4)&lt;span style="font: normal normal normal 7pt/normal 'Times New Roman';"&gt;  &lt;/span&gt;Verify that all CommVault Services have started.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5)  Run the CommCell Console.  Keep in mind that the cvadmin password will be the password you used when installing the CommServe.  If you have AD authentication turned on, then you should be able to use these credentials as well.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Now you can test your CommServe upgrade without impacting production!!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;b&gt;Please note that this process does not take into account any media agent or other iDA installations that may have been installed on the production CommServe.  &lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Century Gothic', sans-serif;"&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="MsoNormal" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;"&gt;&lt;span style="font-family: 'Century Gothic', sans-serif;"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6137386707178245230?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6137386707178245230/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/06/performing-commvault-commserve-recovery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6137386707178245230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6137386707178245230'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/06/performing-commvault-commserve-recovery.html' title='Performing a CommVault CommServe Recovery'/><author><name>Genny</name><uri>http://www.blogger.com/profile/01679111905514290044</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-G2JDNyQOqHs/TgEHYF67grI/AAAAAAAAAEs/6M_wm5R8Gsw/s72-c/1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-1553275207635758239</id><published>2011-06-08T09:54:00.000-07:00</published><updated>2011-06-08T09:56:55.434-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Storage Tiering Hitachi Dynamic Tiering FAST Compellent'/><title type='text'>Storage Tiering Considerations</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:enableopentypekerning/&gt;    &lt;w:dontflipmirrorindents/&gt;    &lt;w:overridetablestylehps/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;The concept of storage tiering is relatively straightforward, rather than deploying one class of storage you implement multiple classes so that the cost of the storage can be aligned with the performance, availability and functional requirements of the applications and services it will support. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;An example might be to use high capacity SATA for backups, high speed SAS in a RAID 10 configuration for databases and RAID 5 for application servers. &lt;span style=""&gt; &lt;/span&gt;This would be considered basic storage tiering and most organizations have already embraced this strategy. Although this alone certainly offered some cost savings it did have some limitations. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;When you architect a solution like this you are often making a bet on what the requirements for a given application will be. Availability and functional requirements usually remain constant but performance requirements often change.&lt;span style=""&gt;  &lt;/span&gt;You may initially deploy an application to RAID 5 but later determine that it does not provide the necessary performance and that RAID 10 would have been more appropriate. The reverse is also true, the initial application requirements may indicate that RAID 10 is necessary but upon implementation it is discovered that the performance demands were not nearly as high as anticipated and that RAID 5 would have worked fine.&lt;span style=""&gt;  &lt;/span&gt;Essentially you have a tiered storage environment but you don’t necessarily have a good method for aligning the tiers with the applications.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The earliest method for solving this was to incorporate some type of data mobility solution that allowed LUNs or volumes to be migrated between tiers without an outage. If an application’s storage performance requirements change or the initial design was incorrect you have the ability to make adjustments without much difficulty or disruption to the application environment. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;When these types of solutions initially hit the market they were positioned pretty aggressively. A common concept was that you could move data between tiers as part of standard operating processes. For example the accounting databases could reside on RAID 5 most of the time but for end of month processing they could be migrated to RAID 10. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The main challenge with this approach is a lack of granularity.&lt;span style=""&gt;  &lt;/span&gt;LUNs and volumes have continued to increase in size and the larger they get the longer they take to migrate between tiers. These larger capacities also impact the performance of the array overall since migration operations consume IOPS just like any other IO. This lead us to the latest evolution – sub LUN level tiering. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Sub LUN level tiering expands the tiering concept in two key ways. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Each vendor’s implementation differs but in each case some unit of capacity smaller than a LUN is defined and allowed to migrate between tiers. The unit of capacity may be fixed or variable in size. Where new data is written also varies, some arrays always put new data to the highest performing tiers and then migrate down based on access patterns while others work in the reverse direction. In either case the result is that smaller amounts of data can be migrated which takes less time than migrating complete LUNs and requires less overall IOPS to do so. This solution should also require less high performance storage and cost less. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The second change is that the migrations are now most frequently automated. Rather than the administrator selecting LUNs or volumes to move, the array migrates data automatically based on its algorithms and defined policies.&lt;span style=""&gt;  &lt;/span&gt;The most frequently accessed data is moved to the highest performing tier while infrequently accessed data trickles down to the lower performing tiers. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is a significant improvement and makes real time or at least near real time migrations possible. One of the most common use cases for this approach is for adding Solid State Disk (SSD) to an existing storage architecture. Solid State Drives are incredibly fast but they are also expensive when viewed from a capacity standpoint.&lt;span style=""&gt;  &lt;/span&gt;For example, consider a 4TB database that needs 10,000 IOPS. The IOPS requirement can be met with only a few Solid State Drives but in order to meet the capacity requirements you have to purchase multiple SSD array groups, driving up the cost and resulting in tens of thousands of unused IOPS.&lt;span style=""&gt;  &lt;/span&gt;Remember that just because the storage may be able to handle 100K IOPS doesn’t mean you are going to use them.&lt;span style=""&gt;  &lt;/span&gt;Sub LUN tiering can address this problem by allowing you to purchase a smaller amount of SSDs combined with traditional spinning disk and migrating the data between the tiers. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is a great tool and has the potential to lower costs significantly while maintaining or even improving performance. That being said, since this is the shiny new feature available in many vendor offerings it is frequently being positioned too aggressively and without enough consideration as to how it will actually work in a given environment. &lt;span style=""&gt; &lt;/span&gt;Here are some things to consider. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;-&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;If the performance and capacity requirements can be met with traditional allocation methods sub LUN tiering may not offer a lot of advantages. Taking the same 4TB database example from above but with 5K IOPS in performance requirements rather than 10K illustrates this point. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt; &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;o&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Using 450GB drives in a RAID 10 4+4 configuration we get 1,250 IOPS per array group and 1.6TB of capacity. Using 4 array groups we get 6.4TB usable and 5K IOPS. &lt;span style=""&gt; &lt;/span&gt;Assuming we pay $1,000 per drive the solution costs $32,000. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-left: 1in;"&gt; &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-left: 1in; text-indent: -0.25in;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;;"&gt;&lt;span style=""&gt;o&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Solving the same problem with sub LUN level tiering might look as follows. Using 450GB drives in an 8+1 RAID 5 configuration we need 2 array groups to meet the capacity requirements. This provides 6.5 terabytes of capacity but only provides 2,130 IOPS.&lt;span style=""&gt;  &lt;/span&gt;We add a tier of RAID 5 2+1 400GB SSD to this providing another 768GB of capacity and another 10K IOPS. This solution now has a total of 7.2TB of capacity and 12,130 IOPS. Using the 1K per drive cost times 18 drives equals 18K plus 10K per SSD equals $48,000. &lt;span style=""&gt; &lt;/span&gt;In this scenario the sub LUN tiering approach costs 50% more to meet the same requirements. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Some may look at my comparison here and say “well, that’s not a very good example – you created a scenario to intentionally make the standard solution look better”. Well that’s true and it is the point I was trying to illustrate. In some cases you may not want to use sub LUN tiering because you don’t gain anything. &lt;span style=""&gt; &lt;/span&gt;The ability of a storage array to do sub LUN tiering doesn’t mean that you should ignore the application requirements or discontinue looking at traditional allocation methods.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In addition to the cost differences indicated in the above example you need to understand that some amount of read IOs will be fulfilled by the lower performing tiers.&lt;span style=""&gt;  &lt;/span&gt;If that number is small the solution will probably work fine but if it occurs too often the overall performance will suffer. This is similar to what we see in file archiving solutions. File archiving is a great way to lower costs by migrating infrequently accessed files to a lower cost storage tier but if your archiving policies are too aggressive the archive can get overworked and negatively impact the user experience.&lt;span style=""&gt;  &lt;/span&gt;This is the same with sub LUN level tiering - your ratio of high performance versus high capacity storage must be correct for your workload. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Unfortunately many organizations do not have a good understanding of their performance requirements much less how much of the data is hot – accessed frequently versus cold – accessd infrequently.&lt;span style=""&gt;  &lt;/span&gt;With unstructured data such as traditional file servers this is fairly easy to determine simply by looking at the last access times. Within databases it becomes a bit more complicated. Vendors that offer sub LUN level tiering are actively working on tools to help assess the requirements but they are application specific and not available for every scenario. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;You also need to be cognizant of activities that may interfere with the algorithms used to determine where data should reside. For example backup operations may look to the array like standard access and be factored in. To avoid this some array manufacturers suggest that you omit monitoring during the backup windows. Depending on your backup environment this can be challenging. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;None of this it to suggest that sub LUN level tiering is bad but rather that it is a tool just like any other and you need to put some thought into how and where you will use it. &lt;span style=""&gt; &lt;/span&gt;We are currently working on a solution that will put roughly 400TB of database capacity into a sub LUN tiering solution. &lt;span style=""&gt; &lt;/span&gt;We’ve collected performance data on all of the databases involved over a reasonable sample period. In architecting the solution we have added a significant high performance buffer to ensure we have the IOPS we need. When it comes time to implement we will be moving the databases over one at a time and monitoring the performance closely. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;This 400TB represents about one quarter of the total capacity in the environment. We are not using sub LUN tiering in the rest of the environment because the IO profile wouldn’t benefit from it and performance would likely decrease. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;As we work through the actual implementation will post what we find. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-1553275207635758239?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/1553275207635758239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/06/storage-tiering-considerations.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1553275207635758239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1553275207635758239'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/06/storage-tiering-considerations.html' title='Storage Tiering Considerations'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-4794629470238675078</id><published>2011-04-29T10:47:00.000-07:00</published><updated>2011-04-29T12:32:07.589-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USPV'/><category scheme='http://www.blogger.com/atom/ns#' term='VSP'/><category scheme='http://www.blogger.com/atom/ns#' term='AMS2000'/><category scheme='http://www.blogger.com/atom/ns#' term='VAAI'/><category scheme='http://www.blogger.com/atom/ns#' term='vsphere 4.1'/><category scheme='http://www.blogger.com/atom/ns#' term='USP-V'/><category scheme='http://www.blogger.com/atom/ns#' term='USPVM'/><category scheme='http://www.blogger.com/atom/ns#' term='USP-VM'/><title type='text'>vSphere 4.1 VAAI integration with Hitachi's USP-V/VM, AMS 2000 series, and VSP</title><content type='html'>&lt;div class="MsoNormal"&gt;&lt;span style="color: #1f497d;"&gt;Tuesday this week, HDS released microcode on the USP-V and USP-VM (Microcode 60-08-01-00/00) that includes VMware VAAI integration.  The AMS2000 series and VSP already support VAAI integration.  &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: #1f497d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #1f497d;"&gt;This means that users of the USP-V/VM subsystem whom are already on vSphere 4.1, or are planning to upgrade to it, can now take full advantage of VAAI support.  The main feature of VAAI that excites me is the Hardware Accelerated Locking; which relieves SCSI reserve locking pressure on the array by locking only a portion of the VMFS data store vs. locking the entire VMFS LUN upon physical host I/O.  This can be a huge improvement for customers that use LUSEs, or that have large LUNs and a high number of VMs per LUN.  Other VAAI features include Full Copy, and Block Zeroing which help with VM guest creation and cloning.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #1f497d;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span class="Apple-style-span" style="color: #1f497d;"&gt;While this is the first release of VAAI integration code for the USP-V/VM, HDS has implemented these features in their AMS and VSP line of subsystems already.  Typically storage managers do not like being on the first rev of a microcode release, however in this case the benefit is very much worth the low risk.&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="color: #1f497d;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-4794629470238675078?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/4794629470238675078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/04/vsphere-41-vaai-integration-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4794629470238675078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4794629470238675078'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/04/vsphere-41-vaai-integration-with.html' title='vSphere 4.1 VAAI integration with Hitachi&apos;s USP-V/VM, AMS 2000 series, and VSP'/><author><name>Justin</name><uri>http://www.blogger.com/profile/13999440637884152758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7ZiCEVroTRg/SIEIDG4okDI/AAAAAAAAAAM/xup4jCHAd1g/S220/1421495217_l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6618761947779735215</id><published>2011-02-20T09:48:00.000-08:00</published><updated>2011-02-20T15:49:44.871-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='donut'/><category scheme='http://www.blogger.com/atom/ns#' term='shareall'/><category scheme='http://www.blogger.com/atom/ns#' term='sharemgr'/><category scheme='http://www.blogger.com/atom/ns#' term='6941744'/><category scheme='http://www.blogger.com/atom/ns#' term='dfstab'/><category scheme='http://www.blogger.com/atom/ns#' term='solaris'/><title type='text'>Solaris 10 dfstab bug</title><content type='html'>&lt;span class="Apple-style-span"&gt;I'll admit, it's been awhile since I have had to present NFS shares on Solaris 10 that were not ZFS file systems.  ZFS makes this pretty easy, but hey, it's not like it was terribly difficult to edit the /etc/dfs/dfstab file.  But after a recent head banging experience where my dfstab file would get magically overwritten during reboots, and my shares commented out; I started to wonder if I really need to hang up this IT thing and open the donut shop.&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;It turns out that Oracle has a little bug in Solaris 10 (6941744) which basically says that &lt;span class="Apple-style-span"&gt;libsharecore.c has some incorrect code that improperly affects Solaris 10 systems.  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Based on &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=1906605&amp;amp;tstart=150"&gt;this &lt;/a&gt;thread it doesn't sound like a fix is here yet, so I put this together quickly to get past the issue.  While I have no reason to suspect this script will cause issues, I provide it to you with the understanding that you will ensure it is the right solution for your environment.  I placed this script at /etc/init.d/local, and linked it to rc2.d and rc3.d as necessary.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;#!/usr/bin/bash&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# This is a cleanup script due to an issue in Solaris 10 update 9 and previous&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# SUN/Oracle bug 6941744&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# From /etc/dfs/dfstab&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# --------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# Use the sharemgr(1m) command for all share management&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# This file is reconstructed and only maintained for backward&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# compatibility. Configuration lines could be lost.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# --------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# created by Justin Richards, Lumenate&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;# Version 1.0 Date 02202011&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;CAT="/usr/bin/cat"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;SED="/usr/bin/sed"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;CP="/usr/bin/cp"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;SHARE="/usr/sbin/shareall"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;case "$1" in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;start|restart)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;                $CAT /etc/dfs/dfstab | $SED '/^# Error: Syntax: /s/# Error: Syntax: //' &gt; /etc/dfs/dfstab.tmp ;\&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;                $CP /etc/dfs/dfstab.tmp /etc/dfs/dfstab ; $SHARE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;        ;;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;*)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;                echo "Usage: $0 {start|restart}"&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;                exit 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;        ;;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;esac&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Helvetica, sans-serif; "&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6618761947779735215?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6618761947779735215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/02/solaris-10-dfstab-bug.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6618761947779735215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6618761947779735215'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/02/solaris-10-dfstab-bug.html' title='Solaris 10 dfstab bug'/><author><name>Justin</name><uri>http://www.blogger.com/profile/13999440637884152758</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7ZiCEVroTRg/SIEIDG4okDI/AAAAAAAAAAM/xup4jCHAd1g/S220/1421495217_l.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-5184888659098383052</id><published>2011-02-17T08:57:00.001-08:00</published><updated>2011-02-17T13:08:11.591-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netbackup'/><title type='text'>That Looks Bad</title><content type='html'>Ever been caught in a situation like &lt;a href="http://www.youtube.com/watch?v=Ydi5IPS3CHk" target="_blank"&gt;this&lt;/a&gt; (see &lt;a href="http://www.youtube.com/results?search_query=don%27t+judge+too+quickly+commercials&amp;amp;aq=f" target="_blank"&gt;more&lt;/a&gt;)?  Last year we documented various recovery procedures for one of our clients to assist them with full system recovery without the assistance of Symantec’s Bare Metal Restore (BMR).&lt;br /&gt;&lt;br /&gt;We took care to only document procedures that a systems administrator could follow without the aid of the NetBackup admins, so I told the admin, “hey, since you are the target audience for these procedures, I’ll just look over your shoulders as you follow them.”&lt;br /&gt;&lt;br /&gt;Enter Mr. Murphy.  Obviously, one critical step in the restore process is restoring the C:\ drive. When it came time to select the recovery point in time, the NetBackup Backup, Archive, and Restore (BAR) application pops up the following dialog:&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-cLM1LeAQ6tM/TV18GOVQ36I/AAAAAAAAA0U/SGPtfmNl81E/s1600/NBU-BAR-no-backups.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-MyCeNw6t6_E/TV2D-hNDoNI/AAAAAAAAA0c/F1TS7K09HpY/s1600/NBU-BAR-no-backups.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 400px; height: 148px;" src="http://1.bp.blogspot.com/-MyCeNw6t6_E/TV2D-hNDoNI/AAAAAAAAA0c/F1TS7K09HpY/s400/NBU-BAR-no-backups.png" alt="" id="BLOGGER_PHOTO_ID_5574757023842803922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;“That’s funny.  I don’t find that on my procedures,” said the admin with a grin.  Yeah, I know.&lt;br /&gt;&lt;br /&gt;I knew the server had good backups, so why was NetBackup giving me the stiff arm?  I checked the policy configuration on NetBackup and realized NetBackup 7 no longer has an “MS-Windows-NT” policy, but “MS-Windows” instead.&lt;br /&gt;&lt;br /&gt;Let’s face it, I understand why Symantec changed the name of this policy type.  One could argue this change should’ve been made a long time ago, and it’s a great example of how seemingly innocent changes can have unintended consequences.&lt;br /&gt;&lt;br /&gt;Since BAR can restore from any policy type, we attempted to configure it for “MS-Windows” instead of “MS-Windows-NT", but BAR knew nothing of “MS-Windows” because it was a NetBackup 6.5.x client.&lt;br /&gt;&lt;br /&gt;Fortunately, there was a way out.  We completed our restore procedures using server-directed restores (thanks to Frank for the great suggestion).  I simply initiated the restore from the Java admin GUI.  Now I’ve got some screen shots with which to update the documentation.&lt;br /&gt;&lt;br /&gt;Here were the key components for a successful restore:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install NetBackup to a drive other than C:\  &lt;/li&gt;&lt;li&gt;Remove the system from a domain (if this applies) prior to attempting the System_State restore.  &lt;/li&gt;&lt;li&gt;Add the system to DNS or ensure forward/reverse name lookups function  &lt;/li&gt;&lt;li&gt;I found some invalid SERVER entries in the client’s SERVER list that prevented a successful restore.  &lt;/li&gt;&lt;li&gt;Check available disk space before the restore.  &lt;/li&gt;&lt;li&gt;Delete the Windows page file (or reduce it greatly) prior to restoring the system state.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-5184888659098383052?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/5184888659098383052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/02/that-looks-bad.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5184888659098383052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5184888659098383052'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/02/that-looks-bad.html' title='That Looks Bad'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-MyCeNw6t6_E/TV2D-hNDoNI/AAAAAAAAA0c/F1TS7K09HpY/s72-c/NBU-BAR-no-backups.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-1344354296637817536</id><published>2011-01-03T22:41:00.000-08:00</published><updated>2011-01-03T22:41:04.187-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USP V'/><category scheme='http://www.blogger.com/atom/ns#' term='Storage Navigator'/><title type='text'>Chicken Little Messages in Storage Navigator</title><content type='html'>In preparation for a ShadowImage server migration, I was formatting a couple dozen LDEVs of a &lt;a href="http://www.thefreedictionary.com/plethora"&gt;plethora&lt;/a&gt; of odd-ball sizes.  Fortunately, Storage Navigator allowed me to define all of the new custom volumes I needed (so long as I defined all new volumes within a RAID group at the same time).&lt;br /&gt;&lt;br /&gt;Once I hit apply, SN asked me if I wanted to use quick format, which is sort of a stupid question to ask for two reasons.  The first reason this is a stupid question is who wants to use the slow option??  &lt;a href="http://www.imdb.com/title/tt0087332/quotes"&gt;"When someone asks you if you’re a god, you say YES!"&lt;/a&gt; right?  Anyway, I said "YES"…&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgbRK3TVI/AAAAAAAAAzQ/Dl5_mxumk10/s1600/sky1-quick.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="Do you want to format logical devices by Quick Format? (3010 69061)" border="0" id="BLOGGER_PHOTO_ID_5555436899431566674" src="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgbRK3TVI/AAAAAAAAAzQ/Dl5_mxumk10/s400/sky1-quick.png" style="cursor: pointer; display: block; height: 103px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;I had forgotten the system disk requirement for quick format on the USP-V, which is exactly the second reason the above dialog box is a stupid question, since the array should know full well the system disk requirements are not met.&lt;br /&gt;&lt;br /&gt;Anyway, after saying, "Yes, I want to apply these changes" SN put up a dialog box suggesting the format was proceeding.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_8EoUjQOWRt0/TRjgbpb9gXI/AAAAAAAAAzY/DODqlMnbesA/s1600/sky2-cvprogress.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="Install CV operation in progress" border="0" id="BLOGGER_PHOTO_ID_5555436905945727346" src="http://2.bp.blogspot.com/_8EoUjQOWRt0/TRjgbpb9gXI/AAAAAAAAAzY/DODqlMnbesA/s400/sky2-cvprogress.png" style="cursor: pointer; display: block; height: 150px; margin: 0px auto 10px; text-align: center; width: 298px;" /&gt;&lt;/a&gt;&lt;br /&gt;This of course was total baloney because not too long after this it says the formats failed:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgbsIyWuI/AAAAAAAAAzg/_vl9NBmsg14/s1600/sky3-nosysdisk.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="The format processing for the added volume has not been executed because there is no System Disk area for Quick Format, the capacity of the System Disk is insufficient, or the System Disk is blocked. Execute the format processing for the added volume. To execute quick formatting, execute after the system disk has been added, or the blocked System Disk has been restored. If this problem persists even though the system disk is normal and has enough capacity, please call the Support Center. (3305 65693)" border="0" id="BLOGGER_PHOTO_ID_5555436906670611170" src="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgbsIyWuI/AAAAAAAAAzg/_vl9NBmsg14/s400/sky3-nosysdisk.png" style="cursor: pointer; display: block; height: 170px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;At this point, I was pining about all my wasted time I spent defining the new LDEVs.  I thought to myself, "I should’ve been honest and said I wasn’t a god."   But as it turns out, SN did actually define my LDEVs, but they were blockaded.&lt;br /&gt;&lt;br /&gt;During the process of defining the new LDEVs I realized I was going to have to volume-to-space (V2S) one more LDEV in order to assign it a lower CU:LDEV number so it could be used as the head volume of a LUSE (LUSE requires all sub-volumes to be added in numerical order).  I figured since my formats failed, I would V2S the LDEV, redefine it, and then format everything all at once.&lt;br /&gt;&lt;br /&gt;So I hit Apply on the V2S operation, locked my computer screen and stepped away momentarily, expecting the operation to be completed by the time I got back.  Only, when I got back I saw Storage Navigator reporting that the sky was falling:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgb0kVeMI/AAAAAAAAAzo/0Bv-NKERtdo/s1600/sky4-skyisfalling.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="The status of the disk subsystem requires maintenance (for example, the subsystem is blocked, the shared memory is inconsistent or some other factor).  Please call the Support Center. (3305 2011)" border="0" id="BLOGGER_PHOTO_ID_5555436908933642434" src="http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgb0kVeMI/AAAAAAAAAzo/0Bv-NKERtdo/s400/sky4-skyisfalling.png" style="cursor: pointer; display: block; height: 89px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;Had I been more prescient in the moment, I would’ve considered the blocked LDEVs as the most likely culprit.   But I had actually just told my wife, "I’ve got one more thing I want to do so I don’t have to do it Monday… shouldn’t take long at all." Haha.  Thank you Mr. Murphy.&lt;br /&gt;&lt;br /&gt;Turns out my failed formats prevented the V2S operation because the LDEVs were blockaded.  Completing the formats first allowed me to proceed with the V2S operation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-1344354296637817536?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/1344354296637817536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2011/01/chicken-little-messages-in-storage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1344354296637817536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/1344354296637817536'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2011/01/chicken-little-messages-in-storage.html' title='Chicken Little Messages in Storage Navigator'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_8EoUjQOWRt0/TRjgbRK3TVI/AAAAAAAAAzQ/Dl5_mxumk10/s72-c/sky1-quick.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-6296858895583957144</id><published>2010-12-13T08:00:00.000-08:00</published><updated>2010-12-13T08:00:03.276-08:00</updated><title type='text'>Data replication options - Part Two (Application-based replication)</title><content type='html'>At the top of the IT stack lies the application. &amp;nbsp;This is what the end-user interfaces with and what you're most likely to hear "is down" in the event of an outage. &amp;nbsp;Since the application is what you're actually trying to protect against a disaster it makes a great deal of sense to leverage any built-in options for data replication.&lt;br /&gt;&lt;br /&gt;And luckily applications have added built-in replication as the importance of disaster preparedness increased. &amp;nbsp;A few brief examples:&lt;br /&gt;&lt;br /&gt;Oracle offers &lt;a href="http://www.oracle.com/technetwork/database/features/availability/ds-activedataguard-11gr2-130305.pdf"&gt;Data Guard&lt;/a&gt; for their RDBMS. &amp;nbsp;While this solution could have been considered simply log shipping in the past, today they position it as a complete disaster recovery solution.&lt;br /&gt;&lt;br /&gt;For the popular Exchange Server, Microsoft offers &lt;a href="http://technet.microsoft.com/en-us/library/bb124521(EXCHG.80).aspx"&gt;Cluster Continuous Replication&lt;/a&gt; (CCR), while for SQL Server there are options both for log shipping and transactional replication. &amp;nbsp;A more detailed discussion of the SQL Server options is available &lt;a href="http://support.microsoft.com/kb/822400"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you define "application" broadly enough to include infrastructure services, then there are typically options there as well. &amp;nbsp;DNS, LDAP, and Active Directory are all architecturally designed so that they may be deployed in a fashion that is redundant across multiple sites - the key is to recognize the need for this redundancy, deploy appropriately, and test.&lt;br /&gt;&lt;br /&gt;Given that the application is what we're trying to protect, then why doesn't everyone just rely on application-based replication? &amp;nbsp;Well, there are a couple of considerations:&lt;br /&gt;&lt;br /&gt;First of all, most environments have multiple applications that they're trying to protect against a disaster. &amp;nbsp;In the same way that the real test of a backup is whether or not you can restore, the real test of a disaster recovery solution is whether or not you can recover. &amp;nbsp;When you use an application-based replication solution then when a disaster happens you have to have a person available at the remote site who knows enough about the application to perform the necessary steps to bring it online. &amp;nbsp;If you're only running one application (if you're a Software as a Service provide, for example) then that's great. &amp;nbsp;You have the necessary resources for that one application. &amp;nbsp;As you start putting more and more applications into the mix, though, the probability that you won't have the right resource available in the event of an emergency increases.&lt;br /&gt;&lt;br /&gt;A second reason is that leveraging application-based recovery couples your disaster recovery solution with the support matrix of the application. &amp;nbsp;This means that as time progresses and the application move through its life cycle you have to include the replication in your considerations.&lt;br /&gt;&lt;br /&gt;To summarize:&lt;br /&gt;&lt;br /&gt;Pros:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Protects the environment at an easily understandable level.&lt;/li&gt;&lt;li&gt;Typically cost-effective.&lt;/li&gt;&lt;li&gt;No concerns around application support (as it is part of the application).&lt;/li&gt;&lt;li&gt;Often includes testing for logical corruption (which other approaches cannot).&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Cons:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Increased complexity in environments with multiple applications, decreasing the probability of successful recovery of an entire environment in a disaster.&lt;/li&gt;&lt;li&gt;Couples replication to the application, meaning that application maintenance and upgrades must include testing and validation of replication.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-6296858895583957144?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/6296858895583957144/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/12/data-replication-options-part-two.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6296858895583957144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/6296858895583957144'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/12/data-replication-options-part-two.html' title='Data replication options - Part Two (Application-based replication)'/><author><name>chadwick</name><uri>http://www.blogger.com/profile/04727175217279747418</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_mvN0QpKyUpw/SdvUuglGAYI/AAAAAAAAt88/4LayoyTL6f0/S220/IMG_3183-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-3268334690137700091</id><published>2010-12-06T09:00:00.000-08:00</published><updated>2010-12-06T09:00:00.169-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAID Performance RAID 10 RAID 5 RAID 6 IOPS MBPS'/><title type='text'>Storage Performance Concepts Entry 4 - The Real World</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;In the previous three entries on this topic we discussed several key storage performance concepts.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The Physical Disk Capabilities. Fibre Channel and SAS drives can handle more IOPS than SATA drives, making them a good choice for applications that generate a lot of random IO.&lt;span style=""&gt;  &lt;/span&gt;From a MBPS standpoint SATA isn’t quite as fast as Fibre Channel and SAS but the delta is much smaller, making SATA acceptable for workloads that mainly generate sequential IO. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The common RAID implementations and their impact on storage performance. RAID 10 provides the best performance for random workloads. RAID 5 and 6 provide good performance for sequential workloads in some cases RAID 5 may actually be faster than RAID 10 – although this isn’t the norm. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The workload, the mix of; random, sequential, reads and writes has a major impact on performance, with writes putting the biggest load on disk drives. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;We also showed how this formula could be used to determine the number of array groups that would be needed to meet an applications IOPS based on the disk drives and RAID level you choose. &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;(TOTAL IOps × % READ) + ((TOTAL IOps × % WRITE) ×RAID Penalty)&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;We left off pointing out that while this information is valuable it leaves off some of the challenges we face when architecting solutions in the real world.&lt;span style=""&gt;  &lt;/span&gt;Two factors we have not considered are capacity and cost. The majority of the time we start building our solution based on the capacity requirements. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;For example, an organization might need 10TB of capacity to support a new application with a random workload consisting of 75% reads and 25% writes with a peak IOPS load of 2,500. The capacity will be added to an existing array that supports both SAS and SATA drives. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Since this is a random workload we will be recommending SAS drives but aren’t yet sure if this needs to be a RAID 10 or RAID 5 configuration. We could use RAID 6 but since we will be using 450GB drives and our array has multiple hot spares we think that RAID 5 will provide suitable protection for the data. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;First we will look at the capacity requirements for each RAID level. &lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 286pt; margin-left: 4.8pt; border-collapse: collapse;" width="477" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 122.1pt; border: 1pt solid windowtext; background: none repeat scroll 0% 0% rgb(216, 216, 216); padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="204" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;Capacity &lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 68.9pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="115" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 5&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 10&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 122.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="204" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;RAID Group Size&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 68.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="115" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;8+1&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;4+4&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 122.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="204" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Usable Capacity&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 68.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="115" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;3,600&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;1,800&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 122.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="204" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Required RAID Groups&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 68.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="115" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;3&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;6&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 122.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="204" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Total Capacity &lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 68.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="115" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;10,800&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;10,800&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Using 450GB LUNs we need twice as many RAID 10 groups as RAID 5 groups to meet the capacity requirements. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now we will take a look at the cost.&lt;span style=""&gt;  &lt;/span&gt;We are using the same size drives for each configuration so the cost per drive is constant but we need almost twice as many drives for the RAID 10 configuration. In addition the number of drives in the RAID 10 configuration will require additional drive trays to be added to the array.&lt;span style=""&gt;  &lt;/span&gt;In our case we are assuming that the drives are $1,500 a piece and that each tray holds 15 drives at a cost of $10,000 per tray. &lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 286pt; margin-left: 4.8pt; border-collapse: collapse;" width="477" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border: 1pt solid windowtext; background: none repeat scroll 0% 0% rgb(216, 216, 216); padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;Cost&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 5&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 10&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;RAID Group Size&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;8+1&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;4+4&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Required RAID Groups&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;3&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;6&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Total Disks Required &lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;27&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;48&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Trays Required&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;2&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;4&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Cost of disks&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style=""&gt;$40,500&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style=""&gt;$72,000&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Cost or trays&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;$20,000&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;$40,000&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 103pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="172" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Total Cost &lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: red;"&gt;$60,500&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: red;"&gt;$112,000&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;As you would expect the cost of RAID 10 is almost twice as high as RAID 5. What may not be as obvious are the performance differences between the two configurations. In the past we focused on comparing a single RAID group of each type, keeping the number of drives constant. In this case two things have changed. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;1.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;I’m using an 8+1 array group rather than a 7+1. 8+1 is the RAID 5 configuration recommended by the manufacturer because of the way it aligns with the caching mechanisms of the array. In addition an 8+1 provides sufficient availability and rebuild times while making better use of the raw space. &lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="text-indent: -0.25in;"&gt;&lt;span style=""&gt;&lt;span style=""&gt;2.&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;In this real world configuration I have twice as many RAID 10 groups and therefore a lot more disk, hence raw IOPS. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Using 185 IOPS per drive we find that the two configurations have the following characteristics.&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 187pt; margin-left: 4.8pt; border-collapse: collapse;" width="312" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.25in;"&gt;   &lt;td style="width: 91pt; border: 1pt solid windowtext; background: none repeat scroll 0% 0% rgb(216, 216, 216); padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;Performance&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 5&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 10&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;IOPS Per Drive&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;185&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;185&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;# of Drives&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;27&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;48&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Raw IOPS&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;4995&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;8880&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;We can now use our formula to determine if either solution will meet our requirement. &lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 187pt; margin-left: 4.8pt; border-collapse: collapse;" width="312" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.25in;"&gt;   &lt;td style="width: 91pt; border: 1pt solid windowtext; background: none repeat scroll 0% 0% rgb(216, 216, 216); padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;Performance&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 5&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; border-color: windowtext windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.25in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;span style="color: black;"&gt;RAID 10&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Required IOPS&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;2500&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;2500&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Percent Read&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;75%&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;75%&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Percent Write&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;25%&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;25%&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;RAID Penalty&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;4&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;2&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 91pt; border-width: medium 1pt 1pt; border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color: black;"&gt;Adjusted IOPS&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;4375&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="width: 48pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="80" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: right; line-height: normal;" align="right"&gt;&lt;span style="color: black;"&gt;3125&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;In our example both RAID 5 and RAID 10 meet the performance requirement.&lt;span style=""&gt;  &lt;/span&gt;Although the RAID 5 configuration is tighter, it has a reasonable amount of headroom. Given the major difference in cost it is probably reasonable to proceed with the RAID 5 configuration. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Looking at our results you may say “Well the RAID 5 configuration may work but wouldn’t the RAID 10 design be a lot faster?” &lt;span style=""&gt; &lt;/span&gt;Well, not necessarily.&lt;span style=""&gt;  &lt;/span&gt;If the speed limit is 55 and you must drive the speed limit a Ford F150 and a Ferrari will both get you there in the same amount of time. This is the same with storage, just because one configuration could run faster doesn’t mean it will – you have to be able to drive higher IOPS from the host.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The area that we will explore in our next entry is cache. While cache improves performance in general it is particularly beneficial for parity based RAID configurations. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-3268334690137700091?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/3268334690137700091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/12/storage-performance-concepts-entry-4.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3268334690137700091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/3268334690137700091'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/12/storage-performance-concepts-entry-4.html' title='Storage Performance Concepts Entry 4 - The Real World'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-2196710443432913690</id><published>2010-12-01T08:00:00.000-08:00</published><updated>2010-12-01T08:00:09.872-08:00</updated><title type='text'>Data replication options - Part One (Overview)</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;As mentioned previously, I'll be going over different approaches to data replication between now and the end of the year. &amp;nbsp;In this post I'll outline the different points in the data path where replication can occur and then follow up with a post per point (say that fast three times!) outlining pros and cons.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Before touching on the different points it is important to define some terminology. &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Using a broad brush, all replication solutions may be divided into either synchronous or asynchronous. &amp;nbsp;Synchronous replication means that the write must be received at the remote location before the local host receives acknowledgement. &amp;nbsp;Asynchronous replication means that the local host receives acknowledgement once the write is complete at the local site, and replication of the write is handled, well, asynchronously.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Two quick comments:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Using asynchronous replication means that there will be some data loss in the event of a disaster. &amp;nbsp;How much depends on several factors including the replication technology in use, the bandwidth between the sites, the change rate of the application(s) in question, and so on and so forth.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;In practice, most people use some form of asynchronous replication. &amp;nbsp;The biggest reason? &amp;nbsp;Synchronous replication introduces latency into every write - it has to traverse the link between locations and then an acknowledgement has to be sent back. &amp;nbsp;If the sites are close enough and the budget will support it, then synchronous is possible - but it's expensive.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Replication solutions can be further divided into continuous or discontinuous. &amp;nbsp;Continuous means that for every write generated at the primary site the same write is performed at the remote site. &amp;nbsp;Synchronous replication is, by definition, continuous. &amp;nbsp;Asynchronous replication may be either continuous or discontinuous. &amp;nbsp;Snapshot-based replication is an example of a discontinuous approach. &amp;nbsp;Discontinuous replication can lead to significant cost savings in the bandwidth required between sites if the application in question writes to the same location repeatedly, since only data at the scheduled time is replicated and the intermediate writes can be disregarded for replication purposes.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;One last bit of exposition - I'll refer to replication as being write-order consistent (or "crash" consistent) throughout these posts - this basically means that writes are applied in-order for the solution. &amp;nbsp;This is a requirement for the successful replication of databases and other applications.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;With that out of the way - here are the five places on where replication can occur, going from the highest level to the lowest level.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;The Application - most enterprise applications in use today have some form of replication baked in (possibly at the cost of an additional licensing fee). &amp;nbsp;Oracle Data Guard, Exchange CCR, MicroSoft SQL log shipping - all have some method of getting the data from point A to point B in a usable form.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;The Host - from something as simple to a write-splitter to something as involved as replacing the native volume manager, there are more host-based options for data replication than you can shake a stick at.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;The Switch - Several years ago there was a movement to make all storage intelligence (including replication and virtualization) built into the switches. That vision didn't really pan out, but it is still possible to do replication from the switch.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;An Appliance - begrudgingly added against my initial biases there are a number of appliances on the market that can perform virtualization. &amp;nbsp;Some involve virtualization of the storage in question, and could arguably be classified as array-based, while still others involve the installation of write-splitters on the hosts and could be classified as host-based, but I digress.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;The Array - Once the domain of only monolithic storage arrays, today most midrange arrays offer data replication solutions that are sufficient for typical needs.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;I believe that all replication solutions can be grouped into one of the five categories above. &amp;nbsp;Coming up next - Application-based replication.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-2196710443432913690?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/2196710443432913690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/12/data-replication-options-part-one.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/2196710443432913690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/2196710443432913690'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/12/data-replication-options-part-one.html' title='Data replication options - Part One (Overview)'/><author><name>chadwick</name><uri>http://www.blogger.com/profile/04727175217279747418</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_mvN0QpKyUpw/SdvUuglGAYI/AAAAAAAAt88/4LayoyTL6f0/S220/IMG_3183-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-5284215038447491484</id><published>2010-11-24T09:00:00.000-08:00</published><updated>2010-11-24T09:00:08.877-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Workload disk raid IOPS MBps formula example'/><title type='text'>Storage Performance Concepts Entry  3</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;So far we have covered the performance characteristics of the physical drives as well as the impact of various RAID levels.&lt;span style=""&gt;  &lt;/span&gt;In this entry we will take a look at the next level in the stack – the workload. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;As we mentioned in the previous entries, most applications do a mix of IO; reads, writes, sequential and random.&lt;span style=""&gt;  &lt;/span&gt;We’ve also touched on IOPS versus MBPS. These concepts are related in that with random IO you are typically most interested in IOPS while with sequential IO you are normally interested in MBps. We pointed out that while SAS and FC drives can handle significantly more random IO than SATA, for sequential operations the MBps capabilities are comparable.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;We can use this information when architecting solutions. Operations such as backup to disk are typically sequential in nature meaning that we are more concerned with MBPS and that SATA may be a good choice.&lt;span style=""&gt;  &lt;/span&gt;OLTP applications perform primarily random IO with a mix of reads and writes, making SAS or Fibre Channel a better fit. &lt;span style=""&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;There are typically two scenarios we are looking at when designing storage solutions, either A) this is a new application not yet implemented, or B) this is an existing application that we are looking to move to a new storage platform. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;When architecting the storage for a new application we may not have as much information to work with.&lt;span style=""&gt;  &lt;/span&gt;Since we cannot collect any real world statistics we have to rely on the application provider to give us insight into the expected workload.&lt;span style=""&gt;  &lt;/span&gt;This can be a challenge because in some cases they just don’t know. The workload characteristics are heavily dependent on the modules in use, the overall size and how your organization will actually use the product. This is in part why many software vendors and in particular database vendors recommend RAID 10.&lt;span style=""&gt;  &lt;/span&gt;RAID 10 is the fastest for these workloads and therefore the safest recommendation.&lt;span style=""&gt;  &lt;/span&gt;Regardless you will be best served by getting as much information as possible on the actual IO requirements in terms of IOPS, MBPS, reads versus writes and the mix of sequential versus random IO. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In situations where the application is already in place and you are looking to move to a new storage platform the challenge is a bit easier since you have real data to look at.&lt;span style=""&gt;   &lt;/span&gt;There are two ways to collect the workload information we will need. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;If the existing storage array has the capabilities, you can collect the information directly from the array. If you use this approach make sure you pay attention to where the data is being collected from and what it is telling you. For example if you collect the physical IOPS from the backend disk drives or RAID groups, the numbers you are looking may include the impact of the RAID configuration - the actual data being written as well as parity or mirroring operations. In this scenario you may also miss IOs that are being handled in cache. Ideally what you would like to collect are the peak IOPS per logical device (referred to as LUN, LDEV or Volume depending on the nomenclature used by the array manufacturer) broken down by reads versus writes, sequential and random.&lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The same is true for MBps if that is what your application calls for.&lt;span style=""&gt;  &lt;/span&gt;If the storage device provides this capability and has a decent interface this might be the easiest way to go. You can collect the information in one place and filter or sort the data to get exactly what you are looking for. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The second option is to collect the data from the application hosts themselves.&lt;span style=""&gt;  &lt;/span&gt;Being a storage guy I typically don’t like to use stats collected from within the application. The primary reason is that I’m not always as familiar with them and therefore less confident about what they are telling me.&lt;span style=""&gt;  &lt;/span&gt;Are these disk IOs or are some of the IOs coming from memory or the network? For this reason I typically recommend collecting the information using the native Operating System utilities such as performance monitor on Windows or sar or iostat for Unix.&lt;span style=""&gt;  &lt;/span&gt;Make sure you understand the correct Syntax for your flavor of Unix. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The following link provides a basic overview and some examples of how to use these utilities.&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;a href="http://www.performancewiki.com/diskio-monitoring.html"&gt;IO Collection Utilities&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;One more thought on collecting performance data. It is very helpful to understand the access patterns from an application point of view, when are the busiest times, when do operations such as backups or data loads occur.&lt;span style=""&gt;  &lt;/span&gt;You want to make sure you are capturing peak loads and understand any anomalies.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;At this point you understand the performance characteristics of the disk drives themselves, the impact of RAID levels and the IO patterns associated with your workload. The next step is to combine this information to determine which approach will best meet your needs. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;The simplest formula I have found for doing this is.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;(TOTAL IOps × % READ) + ((TOTAL IOps × % WRITE) ×RAID Penalty)&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;So for example if your application generates 1000 random IOPS and a mix 70% reads and 30% writes a RAID 5 solution would work as follows.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(1000 x .70) + ((1000 x .30) x 4) = 700 + 1200 = 1900 IOPS &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using 15K SAS drives each capable of 180 Random IOPS in a 7+1 configuration =1,225 IOPS. Based on this I would need two 7+1 RAID 5 groups. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Let’s look at the same example using RAID 10&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;(1000 x .70) + ((1000 x .30) x 2) = 700 + 600 = 1200 IOPS&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;In this scenario, using the same drives types I would need one 4+4 RAID 10 Group.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A full overview of this formula and some real world examples can be found at the following link.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;a href="http://www.yellow-bricks.com/2009/12/23/iops/"&gt;Workload Calculation Formula&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/p&gt;&lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="font-family: &amp;quot;Century Gothic&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;So there you have it, the backend disk performance, the impact of the RAID configuration and workload considerations. So what does that leave? Well, in order to properly design a storage solution we have to understand these concepts but in a lot of ways that is what they are, concepts. What these concepts do not take into account are cache and cash! Cache has a significant impact on the performance you experience and cash impacts what you will actually be able to purchase.&lt;span style=""&gt;  &lt;/span&gt;While working with clients we often start by looking at a solution based purely on RAID 10, and then we see the price and all have a good laugh before getting to work on the real solution.&lt;span style=""&gt;  &lt;/span&gt;Applying what we have learned so far to real world designs is the focus of our next entry. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-5284215038447491484?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/5284215038447491484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/11/storage-performance-concepts-entry-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5284215038447491484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5284215038447491484'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/11/storage-performance-concepts-entry-3.html' title='Storage Performance Concepts Entry  3'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-8171789886285893418</id><published>2010-11-24T08:00:00.000-08:00</published><updated>2010-11-24T08:00:05.317-08:00</updated><title type='text'>Of strategy, tools, and trade-offs</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;I'm going to take some time over the remainder of this year to talk about different solutions for data replication. &amp;nbsp;It's a complicated discussion, and I'll be limiting the scope to only cover solutions that are write-order consistent (sorry rsync fans).&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;While collecting my thoughts, though, I thought it made sense to talk a little philosophy.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;First, I want to touch on strategy. &amp;nbsp;A few years ago I was called into a brainstorming meeting with a customer to discuss their IT strategy and make suggestions. &amp;nbsp;It was a very brief meeting, as their strategy was "We use vendor &lt;i&gt;X&lt;/i&gt;." &amp;nbsp;Confused, I tried to clarify what, exactly, that meant. &amp;nbsp;"You mean you use them to fulfill a piece of your strategy?" I asked. &amp;nbsp;"No, &amp;nbsp;whatever &lt;i&gt;X&lt;/i&gt; tells us to do, we do." &amp;nbsp;Six months later, &lt;i&gt;X &lt;/i&gt;was bought by &lt;i&gt;Y&lt;/i&gt;, and not too many years later &lt;i&gt;Y&lt;/i&gt;&amp;nbsp;was bought by &lt;i&gt;Z&lt;/i&gt;. &amp;nbsp;The customer, meanwhile, was left high and dry.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Strategy does not equal products. &amp;nbsp;Strategy does not equal vendors. &amp;nbsp;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: 16px;"&gt;A strategy is a plan.&amp;nbsp; A plan identifies direction not details.&lt;/span&gt;&amp;nbsp;&amp;nbsp;Customers (should) have a strategy. &amp;nbsp;Vendors (should) have a strategy. &amp;nbsp;Sometimes the two align and there can be a mutually beneficial relationship. &amp;nbsp;If a customer cedes control of their strategy to a vendor, though, then they are basically saying that IT does not matter to their business. &amp;nbsp;While that may be the case it should be considered and made as a conscious decision.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;Second, it's important to realize for all the passion around specific products and approaches they are ultimately tools. &amp;nbsp;Products are neither good nor bad - they are either fit for a purpose or unfit. &amp;nbsp;Just because it's made by a specific vendor doesn't make it bad, especially in the acquisition-crazy world we're living in. &amp;nbsp;Just because it's not the approach you're used to doesn't make it bad, either. &amp;nbsp;The real question is does it do the job I need done, at a reasonable cost (both hard and soft dollars) without forcing me to fundamentally alter the way I do business today.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;And that ties into the third point, trade-offs. &amp;nbsp;There is no one perfect solution for every problem - and thank God because that would be a boring world. &amp;nbsp;Sometimes you're willing to trade an hour's worth of data loss in the event of a disaster for the (substantial) cost savings. &amp;nbsp;Sometimes you're willing to single-path development hosts. &amp;nbsp;The key is to understand what trade-offs are available, and again make a conscious decision about what is right for your environment.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Trebuchet MS', sans-serif;"&gt;With that as the groundwork, I'll continue next week with the common approaches to data replication.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-8171789886285893418?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/8171789886285893418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/11/of-strategy-tools-and-trade-offs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/8171789886285893418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/8171789886285893418'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/11/of-strategy-tools-and-trade-offs.html' title='Of strategy, tools, and trade-offs'/><author><name>chadwick</name><uri>http://www.blogger.com/profile/04727175217279747418</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://2.bp.blogspot.com/_mvN0QpKyUpw/SdvUuglGAYI/AAAAAAAAt88/4LayoyTL6f0/S220/IMG_3183-1.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-4191951633133331684</id><published>2010-11-22T09:00:00.000-08:00</published><updated>2010-11-22T09:00:07.070-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAID Performance RAID 10 RAID 5 RAID 6'/><title type='text'>Storage Performance Concepts Entry 2</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Our first entry on storage performance focused on IOPS and MBps from a physical disk drive perspective. This entry will take a closer look at performance as it relates to various RAID levels. &lt;span style=""&gt; &lt;/span&gt;Since this entry is intended to be practical we are not going to focus on all of the RAID levels or proprietary approaches, but rather the most common options you might be considering as you design a storage solution. In general these are RAID 10, RAID 5 and RAID 6.&lt;span style=""&gt;  &lt;/span&gt;As a recap, here is how these levels are defined as per the SNIA Dictionary. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;RAID 5 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;A form of parity RAID in which the disks operate independently, the data stripe size is no smaller than the exported block size, and parity check data is distributed across the RAID array's disks.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;color:black;"  &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;color:black;"  &gt;RAID 6 &lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Any form of RAID that can continue to execute read and write requests to all of a RAID array's virtual disks in the presence of any two concurrent disk failures. Several methods, including dual check data computations (parity and Reed Solomon), orthogonal dual parity check data and diagonal parity have been used to implement RAID Level 6.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;RAID 10 &lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;" &gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;RAID is referred to as a nested or hybrid approach and is therefore excluded from the SNIA Dictionary. Technically RAID 10 is just a combination of RAID 1 and RAID 0 – mirroring and then striping. Years ago I would hear debates about which arrays did RAID 10 versus those that did RAID 0+1 but I haven’t heard any grumblings in a while so we will stick with RAID 10 to keep it simple.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Putting disk drives into RAID groups does not fundamentally change how many IOPS they can handle, the raw IOPS capabilities of a drive is constant.&lt;span style=""&gt;  &lt;/span&gt;The reason we experience differences in performance have to do with how the various RAID levels handle IO and in particular any additional IOs generated to protect the data. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpFirst" style="margin-bottom: 0.0001pt; text-indent: -0.25in; line-height: normal;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;A random write operation to a RAID 10 configuration results in 2 disk IOs, one to each drive in the mirror.&lt;span style=""&gt;  &lt;/span&gt;The same single write request to a RAID 5 set would generate 4 IOs; read the data, read the parity, write the data, write the parity. RAID 6 adds two additional parity operations to each write. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle" style="margin-bottom: 0.0001pt; text-indent: -0.25in; line-height: normal;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;A sequential write IO to RAID 10 works the same as a random write, one to each disk in the mirror. For RAID 5 and 6 sequential operations are a bit more efficient than random IO since there is no existing data or parity to be read; write the data, write the parity. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoListParagraphCxSpLast" style="margin-bottom: 0.0001pt; text-indent: -0.25in; line-height: normal;"&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font: 7pt &amp;quot;Times New Roman&amp;quot;;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Read Operations are a bit different since neither parity nor mirroring come into play, it’s simply a matter of how many drives can you read data from concurrently. Assuming that each RAID configuration has the same number of drives, RAID 10 is slightly faster than parity RAID. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Here is a chart that makes this a little clearer. &lt;span style=""&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b style=""&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Note: &lt;/span&gt;&lt;/b&gt;&lt;span style=";font-family:&amp;quot;;" &gt;The chart is based on sending &lt;b style=""&gt;4&lt;/b&gt; IOs to the RAID group.&lt;span style=""&gt;  &lt;/span&gt;I could have used a single IO as the base for the comparison but this would not demonstrate the differences in sequential and random IO for the parity based RAID configurations. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" style="width: 5in; margin-left: 4.8pt; border-collapse: collapse;" width="600" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 95.1pt; border: 1pt solid windowtext; padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="159" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt; &lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78.9pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="132" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;RAID 10&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 95pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;RAID 5&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 91pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;RAID 6&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 95.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="159" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Random Read&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="132" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 91pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 95.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="159" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Random Write&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="132" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;16&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 91pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;24&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 95.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="159" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Sequential Read&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="132" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 91pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;4&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 95.1pt; border-width: medium 1pt 1pt; border-style: none solid solid; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="159" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Sequential Write&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78.9pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="132" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;8&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 95pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="158" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;5&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 91pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="152" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; text-align: center; line-height: normal;" align="center"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;6&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;As you can see the differences are pretty significant.&lt;span style=""&gt;  &lt;/span&gt;By combining the information in our first entry about the performance capabilities of the various drive types with the characteristics of the most common RAID levels you can get an accurate picture of the overall backend performance that the system is capable of. Of course in practice workloads don’t typically fall neatly into these categories, but rather perform a combination of different IO types. &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style=";font-family:&amp;quot;;" &gt;Understanding the workloads and how they impact performance is the subject of our next entry. &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-4191951633133331684?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/4191951633133331684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/11/storage-performance-concepts-entry-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4191951633133331684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/4191951633133331684'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/11/storage-performance-concepts-entry-2.html' title='Storage Performance Concepts Entry 2'/><author><name>Terry M</name><uri>http://www.blogger.com/profile/18368896550741168548</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-5937531237077994657</id><published>2010-11-15T08:00:00.000-08:00</published><updated>2010-11-15T08:00:09.493-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='catalog'/><category scheme='http://www.blogger.com/atom/ns#' term='netbackup'/><title type='text'>NetBackup Catalog Backups Fail With Status Code 2</title><content type='html'>During a routine review of a customer's environment I discovered that their most recent catalog backup failed with status code 2 (none of the requested files were backed up).  A quick check revealed the horrifying condition that the catalog backups had been failing for a week and the last catalog backup had just expired.&lt;br /&gt;&lt;br /&gt;I checked the most recent bpdbm logs (in /usr/openv/netbackup/logs/bpdbm) and noticed the following curious entries:&lt;br /&gt;&lt;pre&gt;&amp;lt;16&amp;gt; backup_dbspaces: ODBC connection failed.&lt;br /&gt;&amp;lt;16&amp;gt; backup_dbspaces: ErrMsg [Sybase][ODBC Driver][SQL Anywhere]Database server not found, ErrCode -1, Sqlstate 08001&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Google searches revealed that the /usr/openv/db/data/vxdbms.conf file had been a culprit for some people.  Apparently this file contains parameters for backing up the NetBackup catalog database.  In my case, I immediately noticed the file pointed to a server other than the master server.&lt;br /&gt;&lt;br /&gt;It seemed reasonable that I had found the root cause of the failed catalog backups, though I had no idea how or why the file might have changed.  Also, never having the occasion to edit the vxdbms.conf file I wanted to be sure I was doing the right thing, so I opened a support case.&lt;br /&gt;&lt;br /&gt;Support confirmed for me that the file should point to the master server.  The the following procedure resolved the status code 2 on the catalog backups.  (We had to gracefully terminate some running jobs first.)&lt;br /&gt;&lt;pre&gt;/usr/openv/db/bin/create_nbdb -config_only -force&lt;br /&gt;/etc/init.d/netbackup stop&lt;br /&gt;/etc/init.d/netbackup start&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-5937531237077994657?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/5937531237077994657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/11/netbackup-catalog-backups-fail-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5937531237077994657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/5937531237077994657'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/11/netbackup-catalog-backups-fail-with.html' title='NetBackup Catalog Backups Fail With Status Code 2'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-87439044133646886</id><published>2010-11-08T08:00:00.000-08:00</published><updated>2010-11-08T08:00:00.543-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='catalog'/><category scheme='http://www.blogger.com/atom/ns#' term='bplist'/><category scheme='http://www.blogger.com/atom/ns#' term='netbackup'/><title type='text'>NetBackup 7 Restore Blues, Catalog Woes</title><content type='html'>I recently ran into an issue where a customer couldn't restore files from a backup.  In fact the NetBackup GUI immediately reported "There are no files matching the specified criteria."  Normally this would implicate my search criteria; perhaps I specified an incorrect policy type or media server.  However, I repeatedly got the same error even when all I changed was the ending search date (specifying an earlier backup).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_8EoUjQOWRt0/TNNrfdsikEI/AAAAAAAAAyg/iHO-mz4hbD4/s1600/nbu7-no-files-matching-the-specified-criteria.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5535886555260031042" src="http://1.bp.blogspot.com/_8EoUjQOWRt0/TNNrfdsikEI/AAAAAAAAAyg/iHO-mz4hbD4/s400/nbu7-no-files-matching-the-specified-criteria.png" style="cursor: pointer; display: block; height: 245px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;In the NetBackup "Backup, Archive, and Restore" applet I could generate a backup listing for backups prior to 9/15/2010, so I knew they were there.  Merely moving the end date earlier than 9/15 generated the above error.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_8EoUjQOWRt0/TNNr2Q94gzI/AAAAAAAAAyo/UEeMZHXlAaQ/s1600/nbu-catalog-works.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5535886946980102962" src="http://3.bp.blogspot.com/_8EoUjQOWRt0/TNNr2Q94gzI/AAAAAAAAAyo/UEeMZHXlAaQ/s400/nbu-catalog-works.png" style="cursor: pointer; display: block; height: 114px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;In fact, after a little testing I found I could generate the error for all backup images for all clients prior to a certain date.  Command line attempts to find the file (via bplist with the appropriate start/end dates) immediately resulted in status code 227 (no entity was found), so I was pretty sure it was a catalog problem.&lt;br /&gt;&lt;br /&gt;The customer had recently upgraded their master server from 6.5.6 to 7.0, so it was tempting to assume the upgrade had somehow corrupted part of the catalog.  However, the timing didn't fit the circumstances.&lt;br /&gt;&lt;br /&gt;Analysis of extant backup images via bpimagelist (using the -L flag) showed an interesting coincidence.  All backups prior to 9/15 (and some taken early the morning of) were marked "DB Compressed: Yes" in the bpimagelist -L output.&lt;br /&gt;&lt;br /&gt;Apparently the customer had enabled catalog compression, which dutifully compressed catalog entries as directed, but prior to the NBU7 upgrade.  The NetBackup administrator guide for UNIX, volume 1 states enabling catalog compression reduces disk consumption at the expense of performance when a user lists or restores files.&lt;br /&gt;&lt;br /&gt;Now things started settling into place.  The customer transitioned from  SPARC Solaris to RedHat Linux 5.4 as part of the NetBackup upgrade.  By  default, RedHat Linux installations do not include ncompress.    Installing the ncompress RPM onto the master server immediately resolved  the issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4755664707565425900-87439044133646886?l=storagemeat.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://storagemeat.blogspot.com/feeds/87439044133646886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://storagemeat.blogspot.com/2010/11/netbackup-7-restore-blues-catalog-woes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/87439044133646886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4755664707565425900/posts/default/87439044133646886'/><link rel='alternate' type='text/html' href='http://storagemeat.blogspot.com/2010/11/netbackup-7-restore-blues-catalog-woes.html' title='NetBackup 7 Restore Blues, Catalog Woes'/><author><name>Marcel</name><uri>http://www.blogger.com/profile/11159512740072741269</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8EoUjQOWRt0/TNNrfdsikEI/AAAAAAAAAyg/iHO-mz4hbD4/s72-c/nbu7-no-files-matching-the-specified-criteria.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4755664707565425900.post-2102892305301556958</id><published>2010-11-01T09:00:00.000-07:00</published><updated>2010-11-01T09:00:00.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VMware NFS performance flexibiltiy size limitations support'/><title type='text'>VMware Storage – NFS, Fibre Channel or ISCSI</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="MsoNormal"&gt;This is the first in what will be a series of posts on storage considerations for VMware.&lt;span style=""&gt;  &lt;/span&gt;This first post discusses the practicality of using NFS storage as an alternative to block based storage in virtualized environments. I have no axe to grind or specific product to push, my company represents leading storage solutions for both NAS and SAN. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;In the past if someone had said to me that they wanted to use something other than Fibre Channel for their VMware environment I had one of two thoughts. “I guess you can’t afford Fibre Channel or this must be a small environment”. With regard to ISCSI, I In most cases though certainly not all, it is used in smaller environments. ISCSI is less expensive than Fibre Channel and in many cases it meets the requirements of these organizations.&lt;span style=""&gt;  &lt;/span&gt;Larger environments with more demanding workloads and availability requirements tend to use Fibre Channel. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;As for NFS, until recently I never gave it much thought as a solution for VMware. Fibre Channel is tried and true, its high performing, reliable and extremely scalable so why would I look at NFS? As it turns out there are a lot of reasons why you might look at NFS. &lt;/p&gt;  &lt;span style="line-height: 115%;font-family:&amp;quot;;font-size:11pt;"  &gt;The first thing to point out is that there are a number of misconceptions about what is and what is not supported with VMware and NFS.&lt;span style=""&gt;  &lt;/span&gt;As a starting point here is the latest compatibility information.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:"Calibri","sans-serif";  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;table class="MsoNormalTable" style="width: 356pt; margin-left: 4.8pt; border-collapse: collapse;" width="593" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.2in;"&gt;   &lt;td style="width: 85pt; border: 1pt solid windowtext; background: none repeat scroll 0% 0% rgb(191, 191, 191); padding: 0in 5.4pt; height: 0.2in;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Feature&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; padding: 0in 5.4pt; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Fibre Channel&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; padding: 0in 5.4pt; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;ISCSI&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: 1pt 1pt 1pt medium; border-style: solid solid solid none; padding: 0in 5.4pt; height: 0.2in;color:windowtext windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;NFS&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;ESX Boot&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Hardware Initiator&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;No&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;VM Boot&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;RDM&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;NA&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;VMotion&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Storage VMotion&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;VMware HA&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 105pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="175" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.2in;"&gt;   &lt;td  style="width: 85pt; border-width: medium 1pt 1pt; border-style: none solid solid; padding: 0in 5.4pt; height: 0.2in;color:-moz-use-text-color windowtext windowtext;" valign="bottom" width="142" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;b&gt;&lt;span style="color:black;"&gt;Fault Tolerance&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 78pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="130" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt;&lt;span style="color:black;"&gt;Yes&lt;/span&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td  style="width: 88pt; border-width: medium 1pt 1pt medium; border-style: none solid solid none; height: 0.2in;color:-moz-use-text-color windowtext windowtext -moz-use-text-color;" valign="bottom" width="147" nowrap="nowrap"&gt;   &lt;p class="MsoNormal" style="margin-bottom: 0.0001pt; line-height: normal;"&gt
