Shorts: Trouble with symapi_db.bin causing erratic behavior

26 05 2010

Usually when you are connected to a EMC Symmetrix array you will install the Solutions Enabler package on your system. Solutions Enabler is basically both a set of tools to help you manage your Symmetrix arrays, as well as an API. The Solutions Enabler basically creates a small database that displays what Symmetrix arrays are connected to the host you are running the software on, the so called SYMAPI database that you will find as a file on your system called “symapi_db.bin”.

Under a normal situation you will run a discover process to initially scan and fill the database with entries. To do that you can issue the command:

symcfg discover

This will start the scan operation, and depending on the amount of arrays and the configuration on those arrays you can plan anywhere from just under a minute for a scan up to several minutes. Once the file has been created you could try opening the file and searching for strings inside of the file, and you will find a lot of information about devices, device paths, disk IDs and lot’s more.

Now, in some situations after your array configuration has changed, it is useful to refresh the database file. Under normal circumstances this should all be easily done and without any issues.

However, in some cases your database file might be facing problems, without manifestation in any obvious ways. I have seen cases where new devices would simply not show up. Other examples are error messages about disks that can not be reached because of access control list errors.

If you happen to have some erratic behavior on one of your hosts, you might want to try one thing before creating a service request in Powerlink. You might want to try creating a copy of your database, removing it and then performing a new discover. Some steps to help you do just that:

  • Create a backup of your device and/or composite groups using the symdg/symcg commands.
  • Rename your old symapi_db.bin to something else.
  • Issue a “symcfg discover” to create a new symapi_db.bin
  • Import your device and/or composite groups from the backup file(s) you created.

This won’t help you in all situations, but it helped me solve several cases were we were seeing erratic behavior on our hosts, and it might do the trick for you.





EMC VPLEX – Introduction and link overview

12 05 2010

I’m currently visiting the Boston area because I’m attending EMC World. One of the bigger introductions made here yesterday was actually a new appliance called the VPLEX. In short, the VPLEX is all about virtualizing the access to your block based storage.

Let me give you a quick overview of what I mean with virtualized access to block based storage. With VPLEX, you can take (almost) any block based storage device on a local and remote site, and allow active read and writes on both sides. It’s an active/active setup that allows you to access any storage device via any port when you need to.

You can get two versions right now, the VPLEX local and the VPLEX Metro. Two other version, the VPLEX Geo and the VPLEX Global are planned for early next year. And since there is so much information that can be found online about the VPLEX, I figured I’d create a post here that will help me find the links when I return, and to also give you a one spot that can help you find the info you need.

An overview with links to more information on the EMC VPLEX:

Official links / EMC company bloggers / VMware company bloggers

Blogs and media coverage:

Now, if I missed one or more links, please just send me a tweet or leave a comment and I will make sure that the link is added to this post.





My take on the stack wars

26 04 2010

As some of you might have read, the stack wars have started. One of the bigger coalitions announced in November 2009 was that between VMware, Cisco and EMC, aptly named VCE. Hitachi Data Systems announced something similar and partnered up with Microsoft, but left everyone puzzled about the partner that will be providing the networking technology in it’s stack. Companies like IBM have been able to provide customers with a complete solution stack for some time now, and IBM will be sure to tell it’s customers that they did so and offered the management tools in form of anything branded Tivoli. To me, IBM’s main weakness is not so much the stack that they offer, as the sheer number of solutions and the lack of one tool to manage it all, let alone getting an overview of all possible combinations.

So, what is this thing called the stack?

Actually the stack is just that, a stack. A stack of what you say? A stack of solutions, bound together by one or more management tools, offered to you as a happy meal that allows you to run the desired workloads on this stack. Or to put things more simply and quote from the Gestalt IT stack wars post:

  • Standard hardware configurations are specified for ease of purchasing and support
  • The hardware stack includes blade servers, integrated I/O technology, Ethernet networking for connectivity, and SAN or NAS storage
  • Unifying software is included to manage the hardware components in one interface
  • A joint services organization is available to help in selection, architecture, and deployment
  • Higher-level software, from the virtualization hypervisor through application platforms, will be included as well

Until now, we have usually seen a standardized form of hardware, including storage and connectivity. Vendors mix that up with one or multiple management tools and tend to target some form of virtualization. Finally a service offering is included to allow the customer to get service and support from one source.

This strategy has it’s advantages.

Compatibility is one of my favorite ones. You no longer need to work trough compatibility guides that are 1400 pages long and will burn you for installing a firmware version that was just one digit off and is now no longer supported in combination with one of your favorite storage arrays. You no longer have to juggle different release notes from your business warehouse provider, your hardware provider, your storage and network provider, your operating system and tomorrow’s weather forecast. Trying to find the lowest common denominator through all of this is still something magical. It’s actually a form of dark magic that usually means working long hours to find out if your configuration is even supported by all the vendors you are dealing with.

This is no longer the case with these stacks. Usually they are purpose or workload built and you have one central source where you get your support from. This source will tell you that you need at least firmware version X.Y on these parts to be eligible for support and you are pretty much set after that. And because you are working with a federated solution and received management tools for the entire stack, your admins can pretty much manage everything from this one console or GUI and be done with it. Or, if you don’t want to that you can use the service offering and have it done for you.

So far so good, right?

Yes, but things get more complicated from here on. For one there is one major problem, and that is flexibility. One of the bigger concerns came up during the Gestalt IT tech field day vBlock session at Cisco. With the vBlock, I have a fixed configuration and it will run smoothly and within certain performance boundaries as long as I stick to the specifications. In the case of a vBlock this was a quite obvious example, where if I add more RAM to a server blade then is specified, I no longer have a vBlock and basically no longer have those advantages previously stated.

Solution stacks force me to think about the future. I might be a Oracle shop now as far as my database goes. And Oracle will run fine on newly purchased stack. But what if I want to switch to Microsoft SQL Server in 3 years, because Mr. Ellison decided that he needs a new yacht and I no longer want to use Oracle? Is my stack also certified to run a different SQL server or am I no longer within my stack boundaries and lost my single service source or the guaranteed workload it could hold?

What about updates for features that are important to me as a single customer? Or what about the fact that these solution stacks work great for new landscapes, or in a highly homogeneous environment? But what about those other Cisco switches that I would love to manage from the tools that are offered within my vBlock, but are outside of the vBlock scope, even if they are the same models?

What about something simple as a “stack lock-in”? I don’t really have a vendor lock-in since only very few companies have the option of offering everything first hand. Microsoft doesn’t make server blades, Cisco doesn’t make SAN storage and that list goes on and on. But with my choice of stack, I am now locked in to a set of vendors, and I certainly have some tools to migrate in to that stack, but migrating out is an entirely different story.

The trend is the stack, it’s as simple as that. But for how long?

We can see the trend clearly. Every vendor seems to be working on a stack offering. I’m still missing Fujitsu as a big hardware vendor in this area, but I am absolutely certain we will see something coming from them. Smaller companies will probably offer part of their portfolio under some sort of OEM license or perhaps features will just be re-branded. And if they are successful enough, they will most likely be swallowed by the bigger vendors at some point.

But as with all in the IT, this is just a trend. Anyone who has been in the business longer than me can probably confirm this. We’ve seen a start with centralized systems, then moving towards a de-centralized environment. Now we are on the move again, centralizing everything.

I’m actually much more interested to see how long this trend will continue. I’m am certain that we will be seeing some more companies offer a complete solution stack, or joining in coalitions to offer said stack. I still think that Oracle was one of the first that pointed in this direction, but they were not the first to offer the complete stack.

So, how do you think this is going to continue? Do you agree with us? What companies do you think are likely to be swallowed, or will we see more coalitions from smaller companies? What are your takes on the advantages and disadvantages?

I’m curious to hear your take on this so let me know. I’m looking forward to what you have to say!





Drobo announces their new Drobo FS

6 04 2010

In November 2009, Data Robotics Inc. released two new products, the Drobo S and the Drobo Elite. Yesterday I was lucky enough to be invited to a closed session with the folks from Data Robotics as they had some interesting news about a new product they are announcing today called the Drobo FS.

When we visited the Data Robotics premises with the entire Tech Field Day crew last November, one of the biggest gripes about the Drobo was that it relied on the Drobo Share to allow an ethernet connection to the storage presented from my Drobo. The newly introduced Drobo S added an eSATA port, but also didn’t solve this limitation since it wasn’t even compatible to the Drobo Share. As such the Drobo Share was not the worst solution ever, be it for the fact that it connects to the Drobo via a USB 2.0 connection, thus limiting the maximum speed one could achieve when accessing the disks.

Front of the new Drobo FSWell, that part changes today with the introduction of the Drobo FS. Basically this model offers the same amount of drives as the Drobo S, namely a maximum of 5, and exchanges the eSATA port for a gigabit ethernet port. The folks from Data Robotics said that this would mean that you will see an estimated 4x performance improvement when comparing the Drobo FS to the Drobo Share, and you also get the option of single or dual drive redundancy to ensure that no data is lost when one or two drives fail.

Included with all configurations you will receive a CAT 6 ethernet cable, an external power supply (100v-240v) with a fitting power cord for your region, a user guide and quick start card ( in print) and a Drobo resource CD with the Drobo Dashboard application, help files, and electronic documentation. The only thing that will change, depending on your configuration, is the amount of drives that are included with the Drobo FS. You can order the enclosure without any drives at all, this would set you back $699.- (€519,- / £469,-), or you can get the version that includes a total of 10 terabyte of disk space for a total of $1499.- (€1079,- / £969,-).

As with the other Drobo’s you are able to enhance the function of your Drobo with the so called DroboApps. This option will for example allow you to extend the two default protocols (CIFS/SMB and AFP) with additional ones such as NFS. Unfortunately we won’t be seeing iSCSI on this model since according to the guys from Data Robotics they are aiming more towards a file level solution than a block level solution.

Back of the new Drobo FSOne of the newer applications on the Drobo FS is something that caught my eye. This application is targeted towards the private cloud and uses “Oxygen Cloud” as a service provider to provide file access to a shared storage. This means that you can link your Drobo’s together (up to a current limit of 256 Drobo units) and allow these to share their files and shares. This will include options like access control and even features such as remote wipe, but a more complete feature list will follow today’s release.

One feature that was requested by some users hasn’t made it yet. The Drobo dashboard which is used to control the Drobo is still an application that needs to be installed, but Data Robotics is looking at the option of changing this in to something that might be controlled via a browser based interface. However no comments were made regarding a possible release date for such a web interface. What is also under development on is an SDK that will allow the creation of custom DroboApps. Again, a release date was not mentioned in the call.

I will try to get my hands on a review unit and post some tests once I have the chance. Also, I am looking forward to finding out more about the device when I meet the Drobo folks in person later this week during the Gestalt IT Tech Field Days in Boston, so keep your eye on this space for more to come.





Shorts: How to check the FLARE version of your CLARiiON?

1 04 2010

I decided to introduce something new on my blog. It’s something I’ve decided to call “shorts”. In these shorts I will try to pick some fairly simple and common questions that come up from the searches to my blog and try to give a short descriptive answer to help you out.

So, in this short:

How to check the FLARE version of your CLARiiON?

There are two simple ways to check the release of your FLARE operating environment.

  1. Use the NaviSphere GUI and right click on the array icon inside NaviSphere. Select Properties from the menu and go to the “software” tab. This will give you an overview of all licensed software that is enabled on your array. Should you be in engineering mode, you will find all the software that was pre-loaded on the array, but only those items that have a dash/minus sign in front of them are enabled. In that list of items you should find something like this:
    FLARE-Operating-Environment 03.26.010.5.016
  2. You can also use the navicli or naviseccli to enter the command “navicli ndu -list -isactive” and get a list of all active software on your array. The entry for your FLARE version would look similar to this:
    Name of the software package:        FLARE-Operating-Environment
    Revision of the software package:    03.26.010.5.016
    Commit Required:                     NO
    Revert Possible:                     NO
    Active State:                        YES
    Required packages:                   FA_MIB 260, AnalyzerProvider 260, RPSplitterEngine 260, MVAEngine 260, OpenSANCopy 260, MirrorView 260, SnapView 260, EMCRemoteNG 260, SANCopyProvider 260, SnapViewProvider 260, SnapCloneProvider 260, MirrorProvider 260, CLIProvider 260, APMProvider 260, APMUI 260, AnalyzerUI 260, MirrorViewUI 260, SANCopyUI 260, SnapViewUI 260, ManagementUI 260, ManagementServer 260, Navisphere 260, Base 263
    Is installation completed:           YES
    Is this System Software:             NO

As you can see, finding out which version of FLARE you have is actually quite simple. Good luck, and let me know if this works for you.





“Storage tiering is dying.” But purple unicorns exist.

19 02 2010

Chris Mellor over at the Register put an interview online with NetApp CEO Tom Georgens.

To quote from the Register piece:

He is dismissive of multi-level tiering, saying: “The simple fact of the matter is, tiering is a way to manage migration of data between Fibre Channel-based systems and serial ATA based systems.”

He goes further: “Frankly I think the entire concept of tiering is dying.”

Now, for those who are not familiar with the concept of tiering, it’s basically moving data between faster and slower media in the background. Clasically tiering is something that every organization is already doing. You consider the value of the information, and based on that you decide if this data should be accessible instantly from your more expensive hardware, and even at home you will see that as the value decreases you will archive that data to a media that has a different type of performance like your USB archiving disk or for example by burning it to a DVD.

For companies the more interesting part in tiering comes with automation. To put it simply, you want your data to be available on a fast drive when you need it, and it can remain on slower drives if you don’t require it at that moment. Several vendors each have their own specific implementation of how they tier their storage, but you find this kind of technology coming from almost any vendor.

Aparrantly, NetApp has a different definition of tiering, since according to their CTO tiering is limited to the “migration of data between Fibre Channel-based systems and serial ATA based systems”. And this is where I heartily disagree with him. I purposely picked the example of home users who are also using different tiers, and it’s no different for all storage vendors.

The major difference? They remove the layer of fibre channel drives in between of the flash and SATA drives. They still tier their data to the medium that is most fitting. They will try to do that automatically (and hopefully succeed in doing so), but just don’t call it tiering anymore.

As with all vendors, NetApp is also trying to remove the fibre channel drive layer, and I am convinced that this will be possible as soon as the prices of flash drives can be compared to those of regular fibre channel drives, and the automated tiering is automated to a point that any actions performed are transparent to the connected system.

But, if NetApp doesn’t want to call it tiering, that’s fine by me but I hope they don’t honestly expect customers to fall for it. The rest of the world will continue to call it tiering, and they will try to sell you a purple unicorn that moves data around disk types as if by magic.





The Asymmetrical Logical Unit Access (ALUA) mode on CLARiiON

3 02 2010

I’ve noticed that I have been getting a lot of search engine hits relating to the various features, specifications and problems on the EMC CLARiiON array. One of the searches was related to a feature that has been around for a bit. It was actually introduced in 2001, but in order to give a full explanation I’m just going to start at the beginning.

DetourThe beginning is actually somewhere in 1979 when the founder of Seagate Technology, Alan Shugart, created the Shugart Associates Systems Interface (SASI). This was the early predecessor of SCSI and had a very rudimentary set of capabilities. Only few commands were supported and speeds were limited to 1.5 Mb/s. In 1981, Shugart Associates was able to convince the NCR corporation to team up and thereby convincing ANSI to set up a technical committee to standardize the interface. This was realized in1982 and known as the “X3T9.2 technical committee” and resulted in the name being changed to SCSI.

The committee published their first interface standard in 1986, but would grow on to become the group known now as “International Committee for Information Technology Standards” or INCITS and that is actually responsible for many of the standards used by storage devices such as T10 (SCSI), T11 (Fibre Channel) and T13 (ATA).

Now, in July 2001 the second revision of the SCSI Primary Commands (SPC-2) was published, and this included a feature called Asymmetrical Logical Unit Access mode or in short ALUA mode, and some changes were made in the newer revisions of the primary command set.

Are you with me so far? Good.

On Logical Unit Numbers

Since you came here to read this article I will just assume that I don’t have to explain the concept of a LUN. But what I might need to explain is that it’s common to have multiple connections to a LUN in environments that are concerned with the availability of their disks. Depending on the fabric and the amount of fibre channel cards you have connected you can have multiple paths to the same lun. And if you have multiple paths you might as well use them, right? It’s no good having the additional bandwidth lying around and then not using it.

Since you have multiple paths to the same disk, you need a tool that will somehow merge these paths and tell your operating system that this is the same disk. This tool might even help you achieve a higher throughput since it can balance the reads and writes over all of the paths.

As you might already have guessed there are multiple implementations of this, usually called Multipathing I/O, MPIO or just plainly Multipath, and you will be able to find a solution natively or as an additional piece of software for most modern operating systems.

What might be less obvious is that the connection to these LUNs don’t have to behave in the same way. Depending on what you are connecting to, you have several states for that connection. Or to draw the analogy to the CX4, some paths are active and some paths are passive.

Normally a path to a CLARiiON is considered active when we are connected to the service processor that is currently serving you the LUN. CLARiiON arrays are so called “active/passive” arrays, meaning that only one service processor is in charge of a LUN, and the secondary service processor is just waiting for a signal to take over the ownership in case of a failure. The array will normally receive a signal that tells it to switch from one service processor to the other one. This routine is called a “trespass” and happens so fast that you usually don’t really notice such a failover.

When we go back to the host, the connection state will be shown as active for that connection that is routed to the active service processor, and something like “standby” or “passive” for the connection that goes to the service processor that is not serving you that LUN. Also, since you have multiple connections, it’s not unlikely that the different paths can also have other properties that are different. Things like bandwith (you may have added a faster HBA later) or latency can be different. Due to the characteristics, the target ports might need to indicate how efficient a path is. And if a failure should occur, the link status might change, causing a path to go offline.

You can check the the status of a path to a LUN by asking the port on the storage array, the so called “target port”. For example, you can check the access characteristics of a path by sending the following SCSI command:

  • REPORT TARGET PORT GROUPS (RTPG)

Similar commands exist to actually set the state of a target port.

So where does ALUA come in?

What the ALUA interface does is allow an initiator (your server or the HBA in your server) to discover target port groups. Simply put, a group of ports that provide a common failover behavior for your LUN(s). By using the SCSI INQUIRY response, we find out to what standard the LUN adheres, if the LUN provides symmetric or asymmetric access, and if the LUN uses explicit or implicit failover.

To put it more simply, ALUA allows me to reach my LUN via the active and the inactive service processor. Oversimplified this just means that all traffic that is directed to the non-active service processor will be routed internally to the active service processor.

On a CLARiiON that is using ALUA mode this will result in the host seeing paths that are in an optimal state, and paths that are in an non-optimal state. The optimal path is the path to the active storage processor and is ready to perform I/O and will give you the best performance, and the non-optimal path is also ready to perform I/O but won’t give you the best performance since you are taking a detour.

The ALUA mode is available on CX-3 and CX-4, but the results you get can vary between both arrays. For example if you want to use ALUA with your vSphere installation you will need to use the CX-4 with FLARE 26 or newer and change the failover mode to “4″. Once you have changed the failover mode you will see a slightly different trespass behavior since you can now either manually initiate a trespass (explicit) or the array itself can perform a trespass once it’s noticed that the non-optimal path has received 128,000 or more I/Os than the optimal path (implicit).

Depending on which software you use – PowerPath or for example the native solution – you will find that ALUA is supported or not. You can take a look at Primus ID: emc187614 in Powerlink to get more details on supported configurations. Please note that you need a valid Powerlink account to access that Primus entry.





Downloading the EMC CLARiiON CX / Navisphere simulator

22 01 2010

I just wanted to write a really short post to share this tip with you. A lot of people seem to stumble on this site while they are looking to do some tests. Now, as always you will most likely not have full on storage array sitting around that is just waiting to be a guinea pig while serving your production environment.

A partial solution is to test things in a simulator. For people who want to test things on their Cisco switches there is an open source “Internetwork Operating System” or IOS simulator that gives you a taste of the real thing. Admittedly it’s not the same as having a full environment, but it might just help you in testing a scenario or routine that you have in mind.

Now, you will find that there is also a simulator for the CLARiiON environment that is called the “Navisphere simulator” and a CX simulator. Problem is that the simulator can’t be downloaded with any old Powerlink account. Partners and employees can use a simple download in Powerlink ( Home => Products => Software E-O => Navisphere Management Suite => Demos) , but if you don’t fall under that category you will have a hard time actually finding a download.

Normally to get the simulator you would need to order some CLARiiON training. The Navisphere and CX simulators are actually packaged with the Foundations course and you can also find them in one of their video instructor led trainings. The problem is that you or your boss will pay quite a bit for said trainings, and this is not great if you just want to perform a quick test.

Now for my tip… Buy the “Information and Storage Management” book (ISBN-13: 978-0-470-29421-5 / ISBN-10: 0-470-29421-3) from your favorite book supplier. Beside it being a good read it also allows you to register on a special site created for the book where you can actually find some learning aids that also include the Navisphere simulator and the CX simulator. You can find the book starting around $40 and there’s also a version available for the Kindle if you are in to e-books. You don’t need any special information to register the book on the EMC site so it’s quite a quick way to get the simulators and check if you can actually simulate the scenario you have in mind.





Compellent just introduced their new Storage Center 5

11 01 2010

So, as of today 17:00 (German time) Compellent introduced their new Storage Center in version 5. Storage Center is essentially a SAN solution that similar to EMC’s V-Max is based on industry-standard hardware. It’s effectively an Intel-based server with a custom OS that runs from flash memory.

Now then, one of the main technologies used by Compellent in these arrays is something called “Dynamic Block Architecture” or DBA, which basically is a storage virtualization technology that tracks each block in the array independently. Since all metadata contains all relevant information like RAID level, volume and disk location, the data can be stored anywhere. This allowed for features like automated storage tiering or thin provisioning. Zero block reclaim was also an option in the form of “thin import”.

Today version 5 is released which offers the following improvements and new features:

  • Portable Volume
  • Scalable SAS
  • Automated Tiered Storage with RAID 6
  • Virtual Ports
  • Server Mapping
  • ConsistencyGroups

Now, some of these speak for themselves like the support for RAID6 with automated tiered storage, or virtual ports that allow you to share multiple virtual ports on one physical port by using N_Port ID virtualization (NPIV). Some of the others are less obvious so I’m going to look at them a bit closer.

Portable Volume
Compellent stated that portable volume is just that, “a way to move data around”. Primary uses could for example be the initial synchronization between a primary and a backup site that both contain Storage Centers. “Customers don’t want to purchase a ‘big pipe’ for just that first synchronization”. James Bond... ishBasically you plug in a portable volume to a controller. That’s done via USB. After that the system copied the data by basically creating a snapshot and synchronizing it to the USB disk. Once that is done you can physically move the data over (there’s even a James Bond style suitcase or “travel container”), connect the portable volume to your second array and the replication automatically takes place. Currently the biggest portable volume is a 2TB drive, but you can combine multiple drives. Filling a drive can take up to around 15 hours, speeds are mostly limited by USB 2.0 connection. Compellent is currently also “looking to support portable FC attached drives”, but I wouldn’t hold my breath for that one in the coming weeks.

Scalable SAS

Not that spectacular, but this feature allows you to connect cheaper SAS disks to the array. You have a choice between either 450GB drives with 15,000 RPM or 1TB drives with 7,200 RPM. This will scale from a minimum of 6 drives up to 384 drives, where 384 is the current drive limit for SAS drives. Disk shelves are being sold that will offer capacity for 24 disks. For solid state disks and for FC-disks you can have a 1008 drive maximum.

Server Mapping

Main focus of this point is the virtualized environment. You can now create groups of servers called “clusters”, that can be moved or configured all at once. As with the default configuration, the LUNs created will be then, and a nice touch is that they have an “OS-aware mapping”.

ConsistencyGroups

Basically consistent recovery points from the array. Up to 40 different volumes can be combined in one group, which gives you the option to create groups for the various applications or landscapes within the array. Compellent is looking to provide an alternative to Microsoft’s Visual SourceSafe with this new feature.

So, that’s it for the announcement. Let’s see what this new array will show us in production environments. One small detail I should mention is that Compellent is also looking at implementing FCoE as an interconnect in their arrays, but the jury is still out on when this is going to be launched.


twitter.png Tweet about this article





The thing about metas, SRDF/S and performance

8 01 2010

It’s not very common knowledge, but there is actually a link between the I/O performance you see on your server and the number of metas you configured when using SRDF/S.

I do a lot of stuff in our company and I tend to get pulled in to performance escalations. Usually because of the fact that I know my way around most modern operating systems, I know a bit about storage and about our applications and databases. Usually the problems all boil down to a common set of issues, and perhaps one day I will post a catalog of common performance troubleshooting tips here, but I wanted to use this post to write about something that was new to me and I thought it might be of use to you.

We have a customer with a large installation on Linux that was seeing performance issues in his average dialog response time. Now, for those who don’t know what a dialog response time is, it is the time it takes an SAP system to display a screen of information, process any data entered or requested there by the database and output the next screen with the requested information. It doesn’t include any time needed for network traffic of the time taken up by the front-end systems.

The strange thing was that the database reported fairly good response times, an excellent cache hit ratio but also reported that any waits were produced by the disks it used. When we looked at the Symmetrix box behind it we could not see any heavy usage on the disks, and it reported to be mostly “picking it’s nose”.

After a long time we got the suggestion that perhaps the SRDF/S mirroring was to blame for this delay. We decided to change to an RDF mode called “Adaptive Copy Write Pending” or ACWP and did indeed see a performance improvement, even though the database and storage box didn’t seem to show the same improvement that was seen in the dialog response time.

Then, someone asked a fairly simple questions:

“How many meta members do you use for your LUNs?”

Now, the first thought with a question like that is usually along the line of the number of spindles, short stroking and similar stuff. Until he said that the number of meta members also influences the performance when using SRDF/S. And that’s where it get’s interesting and I’m going to try and explain why this is so interesting.

To do that let’s first take a closer look at how SRDF works. SRDF/S usually gives you longer write response times. This because you write to the first storage box, copy everything over to the second box, receive an acknowledge from the second box and then respond back to say that the write was ok. You have to take things like propagation delay and RDF write times into account.

Now, you also need to consider that when you are using the synchronous mode, you can only have 1 outstanding write I/O per hyper. That means that if your meta consists of 4 hyper volumes you get 4 outstanding write I/Os. If you create your meta out of more hyper volumes you also increase the maximum number of outstanding write I/Os or higher sustained write rates if your workload is spread evenly.

So, lets say for example you have a host that is doing 8 Kb write I/O’s to a meta consisting of 2 hypers. The Remote site is about 12 miles away and you have a write service time of 2 ms. Since you have a 1000 ms in one second each hyper can do roughly 500 IOPS since you would need to divide the 1000 ms by the servie time of 2 ms: 1000 ms/2 ms = 500

Now, with 2 hypers in your meta you would roughly have around 8 MB/sec:
2 (hypers) x 500 IOPS x 8 KB.

And you can also see that if we increase the number of hypers, we also increase the maximum value. This is mostly true for random writes, and the behavior will be slightly different for sequential loads since these use a stripe size of 960 KB. And don’t forget that this is a cache to cache value since we are talking about the data being transferred between the Symmetrixes. We won’t receive a write commit until we get a write acknowledge from the second storage array.

So, what we will be doing next are two things. We will be increasing the number of hypers for the metas that our customer is using. Besides that we will also be upgrading our Enginuity since we expect a slightly different caching behavior.

I’ll try to see if I can update this post when we changed the values just to give you a feel on the difference it made (or perhaps did not make) and I hope this information is useful for anyone facing similar problems.








Follow

Get every new post delivered to your Inbox.

Join 1,800 other followers