Wednesday, June 2, 2010

FC Basics


This is a preface of what is to come in my next blog.

SCSI Basics


Hmm why am I here? When I started my professional carrier with storage, it was all about Fibre channel [FC]. I had the feeling that storage is nothing but FC, I don't blame anyone or myself for the fact that FC by itself was awwwh for me at the phase. I had to do a lot of pace to catch up with others and I started to work on few smaller and enterprise FC switches.

As days went by I had this question where did this evolve and why not ethernet and what about other interfaces as basically it was still SCSI commands which we are handling in FC. This blog is not intended for SCSI experts or professionals for sure because they are well aware of what I am going to speak here.

Evolution of SCSI

By large, SCSI 1-2 standards where based on parallel interface. In initial stages, when any one spoke about SCSI it included both the commands and interfaces there was no separate standard. But the growing advantages of serial communication made people to think and naturally categorize SCSI to commands, protocols and interconnects. The protocols basically covered the mapping layers like FCP, SBP and iSCSI and the physical layer formed the interconnects.

So standards that were defined by the end were SCSI - 3 forming the commands and SAM, the SCSI architecture model consisting of commands, protocols and interconnects.

Some may be wondering what those commands in the top of the picture in this blog, so here is it.
  • SBC stands for SCSI Block command, when we deal with FC we use SBC - SPC - FCP - [FC-PH, FC-AL].
  • RBC stands for Reduced Block command, hmmm ok USB use them RBC - SPC - SBP - USB physical layer.
  • SMC - SCSI Media commands, tape drives and CD drives use this for basically changing media.
  • SCC - Storage controller commands, All storage which we know have controllers in them which does various operations like managing the drives or LUNS and implementing virtualization. The SCSI commands used to direct these controllers are SCC.
  • MMC - Multimedia commands, I think everyone knows about this is present in every mobile phones and cameras these days.
  • SSC - SCSI streaming commands, well anything which have to deal with streaming data would have to deal with SSC.
  • SEC - SCSI enclosure commands, so we do manage enclosures tooo ;) and these commands deal with enclosures alone.

So I think the basics is pretty much covered here. And by the way IEEE - 1394 is nothing but Firewire :P

Sunday, May 23, 2010

FC N/F_Port transactions - INCOMPLETE


The above diagram requires some update from the target node, like SCR and other registrations 0:)

Ikkks: switch vs router vs hub




Had an interesting weekend, ending with a HAIRSPRAY [John Travolta's film] that I am posting such a basic info. Still something is better than nothing ;)

Wednesday, May 12, 2010

Virtualization

Virtualization the most common word you hear these days in storage field. It combines all available resources to provide common abstract pool which can be deviced and categorised for specific requirements to be better utilized.

There are three types of virtualization

1. Server virtualization
2. Network virtualization
3. Storage virtualization

How did these three evolve? Basically SAN consists of three main entities the server, the network and storage, virtualization found its way in all of then as we went ahead innovating and utilizing the existing entities according to our needs at the fullest.

Server virtualization

Also know as host virtualization. The first one that comes into our mind is VMWare. The simple reason behind host virtualization was the processors became powerful and faster, but still they were dedicated for single application which inturn let most of available host resource under utilized this is commonly know as "server sprawl". But due to the nature of the applications, for easy tracking we still needed them to be run independently. Their complexity also leads them to be run independently to ease the life of administrators.

Then came in server virtualization and we have three types in them too. They are full virtualization, para-virtualization and OS-level virtualization. I am going too deep into them for now.

But I will take the common one full virtualization which is provided by a software that runs on the host/server. This software interacts with the physical hardware resources and creates virtual servers by dividing the available physical resources. Thereby utilizing the powerful physical resources to the full extent. There are few downsides but its better to be managed intelligently than being under-utilized.

Both VMware and concepts like NPIV leverage to server virtualization.

Network virtualization

Network virtualization is where we combine available resources in network and then by splitting and utilizing the available links/channels and bandwidth independent to each other. Each network resource is secured and available for specific purpose.

We can simply say the whole network is considered to be a single pool of resources that can accessed without any problem of being different in product or technology. This is managed and shared with storage and host by installing specific softwares.

One of switch/network level virtualization which we saw in earlier blog was Node port virtualization

Storage virtualization

SNIA had the best way to explain this and read by me so far. The same rule applies here as network. It just combines all available storage and abstracts from the vendors to provide common layer for management and utilization.

This covers various techniques starting with SSDs which are used as cache controllers, RAID, logical paritioning, SAN virtualization, Vitual tapes[VTL], virtual ports, virtual file system and others.

Oooooofff!!!! that was something. Though I think its simple, when ever I get into explain or write about it becomes tooo much. Just because the way virtualization is so and called for.

Adios 0:)

NOTE: I will update this post again to provide clarity and be simpler. Will add some pictures too.

Tuesday, May 11, 2010

NPV and NPIV

From the first look everyone knows that we are talking about virtualization and is the 'i' is all difference between them, thats a BIG NO!!! NPV stands for N_Port virtualization where as the NPIV stands for N_Port id virtualization.

Before getting into concept, lets touch base on FC basics. Experts skip.

N_port - Node port is an end node port that can be either a HBA is a server or a target port in an array

F_port - Fabric port is port on the fibre channel switch to which a node port would be connected.

E_port - Extended port is port that connects two fibre channel switches.

FLOGI - Fabric login is where a N_Port is assigned its N_Port_ID from the switch. FLOGI is initiated by N_Port.

N_port is always associated with a WWPN [World Wide Port Name] and FCID/N_Port_ID [assigned during FLOGI].

OK. Let’s get down to business.

NPIV [N_Port id virtualization]

In a virtualized environment, if you have many virtual machines running on the server/host and if you would like to zone a LUN with a particular VM it is not possible without NPIV. LUNs are zoned and associated with WWPN. If NPIV is enabled, it provides with multiple WWPNs and N_Port_IDs for the same physical N_Port which can be assigned to each VM. Thereby LUNs zoned to a WWPN would be visible only to assigned VM.

The N_Port ID virtualization is a server based virtualization and virtualization happens on a single physical port. The N_Port_ID is a 24 bit address assigned during FLOGI. NPIV allows a single physical port to have multiple or 256 N_Port_ID and WWPN. After a normal FLOGI where a node port is a assigned a FCID/N_Port_ID by the switch, the NPIV enabled physical N_port initiates FDISC to register more WWPNs and get assigned with N_Port_IDs.


NPV [N_Port virtualization]

Every switch in the fabric needs a domain ID and when you want to add more devices into the fabric you need to add more switches and if there is limitation in domain ID available, we end up in a conflict. In such a scenario, NPV is the bright sunshine. NPIV support is needed on both the switches for NPV to work.

NPV is switch based virtualization. What do I mean by that, let’s take a case where you have a NPV enabled switch, so when you connect few N_ports [HBA ports] to the FC switch ports with NPV enabled on the switch. All the N_Ports get connected as "node port" instead of usual F_Port. These node ports are connected to a NP_Port or a proxy N_port, provided by NPV which gets connected to F_Port on a different switch. This identified NP_Port does a FDISC with switch F_Port and establishes required number of up and downstream through NPIV. The number of FDISC done by the NP_Port is related or associated to the number of N_ports connected to the NPV enabled switch. In brocade terms NPV is called Access gateway.

Advantages of NPV are reduced domain id and reduced switch mgmt.

Alright that’s was my 1 cent. chao.

Monday, May 10, 2010

First Blog

Well here we go first blog of my life, kind of strange and exciting feeling for me. When I write this blog and lots of questions running like a millions of electrons across my Intel, brain [Intel are you kidding me?]. First one that hit my intel was "am I a blogger?", really am I naaahhhhhh!!!!!!! I am not by any bit of it. But very recently I started a habit of keeping track or reading storage related blogs.

I had it me of reading newspapers and websites that throw lot of advertisements rather than news but only for my occasion to grab some international news. It never developed into real habit, hmmm then where did it all start? It all started from social networking sites, where I read tweets and scraps of my friends and loosing my interest in them gradually.

But my recent habit of tracking storage related blogs, put me more towards in this frame of mind wanting to write few or dash myself against the walls of blogs and have few fingerprints[why not footprints?] left. Will I be able to keep this habit of blogging and keep my noose tight. mmmm not sure, but its alive like the beasty 100G Ethernet.

May 11 2010, Tuesday, 7:00 AM - To be or not to be a "BLOGGER" 0:)