Rss

  • twitter
  • facebook

Automation of Visio - Experiences mapping a NetApp Filer using Visio 2010 and PowerShell

stick_figure_drawing_computer_client_diagram_1600_clr_5129

Often times, there are complicated environments that have a large number of storage objects. Mapping them can be difficult, but often necessary to understand how data is being moved. Like many of my colleagues, documentation can be a chore and is prone to misinterpretations, as well as time consuming. Being a Linux engineer my first thought is "How do I automate this so I can do more interesting things?" After dragging my feet and going in kicking and screaming, I decided to dive into PowerShell. The following is an example of a dynamically created Visio 2010 diagram of the physical storage configuration of my NetApp Filer simulator.

Tools Used

  • NetApp PowerShell Toolkit
  • NetApp Visio Stencils (Extracted to "My Shapes" under Libraries->Documents)
  • Visio 2010
  • At minimum, RemoteSigned permissions (Set-ExecutionPolicy RemoteSigned)
  • At least Read-Only Access to a NetApp Filer

example1

How this diagram is created

  1.  Script logs into the Filer
  2. Data is collected
  3. Script opens Visio and Stencils
  4. Objects are placed on the workspace in logical order
  5. Next version will have data from each point in a table (Latency, I/O, Growth Rate, Overwrite Rate, Days to Full) and exported to Sharepoint team portal
  6. Data points will be active and retrievable to all whom has Sharepoint team portal access
  7. Business Workflows will monitor the data points and take action when conditions are met (Create request for new storage, warn current use for remediation, etc...)

It won't turn any heads, but that is just a formatting process that is simple to design. Nothing with this process is particularly amazing (which is why I didn't include the code), but using the collection of tools like these can come in handy when trying to troubleshoot a complex system. Seeing the visual data paths and their associated  metrics helps put a scenario into perspective and helps move teams troubleshooting exercises to a solution based orientation rather than a problem based orientation (think of doing a maze from start-to-finish or from finish-to-start...which one is easier??). It also has the added benefit of creating nice diagrams if you are "artistically" challenged like me.

Share on Facebook

Infiniband on RedHat/CentOS

On day's I'm sick (like today) I get to think a lot and really put my thoughts to pen. One project I have worked on for a long time is Infiniband in RedHat/CentOS. Using Infiniband is great, but it can also swamp you in ways you never expected. The different types of Infiniband are:

1) IPoIB. In this case IP stack is put above IB. You don’t need to rewrite your applications while you can utilize high throughput. On the other hand you will kill IB low latencies and won’t be able to utilize whole IB throughput capabilities.

2) Sockets Direct Protocol (SDP) which is designed to utilize IB RDMA capabilities and bypass TCP/IP stack. SDP can be used transparently w/o recompiling your application. It’s not that fast as native IB API but is better than IPoIB.

3) IB Verbs; the lowest API, User Direct Access Programming Library (uDAPL) which is based on IB Verbs, Message Passing Interface (MPI) or Unified Parallel C. Different versions of MPI and UPC can be based on either IB Verbs or uDAPL. I personally work with MPI and UPC so I will describe their installation over InfiniBand.

I have implemented all 3 types of technology to great success. The layer with the fastest speed and the lowest latencies is uDAPL, which I must say, takes some getting used to. It requires an abstraction layer between the IB interface, and the rest of the program that needs access to storage or process threads on the fabric will use that abstraction layer to send/receive data to targets available to the requesting server. One implementation was using iSCSI on IPoIB. The upside is that storage on an IP stack is very fast, but latency is the same as on Ethernet because of the protocol stack. I would equate its speed to that of 10g over FC; high speeds with a hanging nail of increased latency (If you are not proficient in OO programming, threading is almost impossible to do structurally in the main languages that are the most expansive - Java and Python).

Share on Facebook

Deployement of ALUA with Red Hat and NetApp

I love the idea of having failover on my primary database. So if you haven't done so, I would highly recommend it. With Netapp and Red Hat, here's the skinny:

1) Set up your /etc/multipath.conf to use mpath_prio_alua rather then the default mpath_prio_ontap. I have not verified if mpath_prio_ontap reads the SCSI-3 ALUA commands, but I know the latter does, so it was easier to use it than the former.

2) Set the ALUA on the igroup with:
igroup set alua on

3) Reboot your hosts

4) Enjoy ALUA goodness!

With this configuration, when cf failover is initiated, your Red Hat server will know when the primary path is dead and use the secondary path without intervention. It really is a beautiful thing, and I recommend it for any storage heads out there.

Share on Facebook

Media Center Love

As most of my friends and family know, I am a media center guru. I love designing, building, and creating the most optimal system that can pass the family test and be both easy to use, as well as fun to use. Making a media center work with all members of the family is the hardest challenge to making a media center work. If the wife can't use it, she will be against its development and growth. If the kids can't use it, they will constantly bug you to start shows and movies. Finally, if guests don't see its ease of use, they won't be impressed and think you are just a geek with too much time on your hands.

It is also important to have media distribution to other devices for ease of access. If you can only watch one show, movie, online video, a media traffic jam is sure to ensue. Plus, with cable being so cheap per room, people expect to be able to watch what they want without having to wait for someone else to finish.

Share on Facebook

Sick at home...

I hate being sick. Work keeps me up and thinking, but when I'm sick all I want to do is sleep. Oh well, this gives me more time to study android development...

Share on Facebook

Welcome to Brain Stormes University

I have not had much time to start this blog as expected. But here is the basic shell of a site for you to look at in wonderment and awe....

Share on Facebook
This site is using Web Stats, created by emailextractor14.com