Posts

Showing posts from 2015

Storage Industry – A recap and the road ahead

Image
Storage industry has evolved in recent years. We have seen more data, and different kinds of data, generated by enterprises in the recent past. However with addition of every single unit, enterprises are seeking the most effective and efficient ways to manage and exploit this data. Year 2015 was a momentous year for storage industry. We have seen some major shifts, changes and acquisition in this year which has set the upward path for this industry for coming years. From faster and larger SSDs to the rise of white-box storage, this year brought a lot of variation and innovation to the storage industry. I would dedicate this year to flash storage as more enterprises have identified the tremendous value and opportunity that flash can bring to the storage world. I am confident that by the end of next year (2016), we’ll see flash products up to 10 TB, which will match the largest available hard drives. In 2015, we have also seen the containerization trend impacting the storage ...

Hyper-V shared VHDX vs VHDX

Image
With the introduction of Windows 2k12 R2, shared VHDX has been added along with VHDX (Virtual Hard disk Extended). VHDX supports higher LUN storage (64 TB) and has better optimization in comparison to VHD. What are the benefits of shared VHDX? Shared VHDX on one of the vms is accessible to multiple virtual machines on the same host (Can not map OS on it).  A simple use case can be to setup two exactly similar VMs with shared VHDX shared between the two. Start the copy on one of the VMs and shut it down during the copy operation, the copy will pause for sometime and resume again as if nothing happened.  This happens because all the file meta data is tracked continually in VHDX unlike VHD. Under VHDX all Vms are sending the I/O to the coordinator node. This includes meta data as well as I/O. Coordinator node sends the I/O to the VHDX. So if there is a VM which is hosted on the coordinator node, it will still send it to the NTFS stack on the same node. Here  is ho...

Key Business and Engineering challenges for Startups

Image
We are witnessing a rapidly changing world of technology which has attracted a large number of startups. The allure to launch a tech startup is easy to understand, especially when this industry is attracting large number of investors and venture capitalists year on year. However, journey for a tech startup in not an easy task. It faces many daunting challenges, right from the time when it is just an idea on paper to a full-fledged company that can stand on its own. Sometimes I feel it’s like starting a marriage. At first, everybody seems to be in a dreamland, with a vision to change the world, having great fun and counting profits. But all too soon, reality strikes, product development is stuck at that 90 percent mark, a key person leaves, and customers are talking but not buying. According to me these are some of the top reasons, because of which a startup could possibly fail. Reason 1: Defining the problem statement It is very important for product startups to know w...

Basics of LUN and Target discovery on Windows

Image
During my work with multipathing driver, I came across multiple situations where once devices were removed and added but they did not come back in time. Multi pathing driver would eventually be blamed for not presenting the paths (Since device is not back). I thought to pen down some of the scenarios on how the LUN / targ et disovery happens What happens when you remove/add cable from HBA to switch? HBA(miniport) driver raises "BusChangeDetected" notification to storport driver. Port driver generates "IoInvalidateDeviceRelations" which asks PNP to delete current device list Bus rescan happens and fresh list of LUNs is rebuilt for every target by sending a REPORT_LUNS request to LUN 0 of each target. If the above request fails then storport sends an INQUIRY to LUN 0. If inquiry is successful, INQUIRY will be sent to other luns as well and the list will be built. If INQUIRY fails on LUN 0 then storport moves to next target. Storport then compares this new...

Getting a perspective of SAN Volume Controller HyperSwap

Image
What's there in a name? Well when it comes to HyperSwap, it is a complete giveaway. Whole game in the storage industry runs around high-availability. HyperSwap is just an extension to that. As as the name suggests, HyperSwap is some sort of “quick swap” / switch to another site in case of disaster. But before we look into this we will cover some basics of SVC and HA. 1. SVC : SAN volume controller virtualizes the storage behind it by allowing diverse kind of storage boxes to be connected behind it. 2. I/O Groups: SVC has about 8 nodes and has 4 I/O groups (2 nodes per I/O group). Concept of I/O groups is to have effective fail over through partner node. We will not go into much details of how failover etc is managed. It’s important to know that the disks are visible through both the node in an I/O group. In general one one I/O group is mapped for access to a specific volume.  High availability solutions with SVC: a. Metro Mirroring: Used for synchronous copy of I...

Basics of Code Coverage Analysis

Image
Many a times I was asked about Code Coverage Analysis, what is it and how can we measure it? Through this blog I will try to address some of the basic queries about Code Coverage Analysis and its usefulness. What is Code Coverage? Code Coverage Analysis is simply a structural testing technique to measure how many lines/blocks/arcs of your implemented code are executed while the automated tests are running. Its analysis gives you a quick, automated and accurate quality & coverage measurement for test plans. It helps a product team identify areas where additional test cases need to be added in a scientific and quantitative manner. Sometimes it is also termed as “Test Coverage”. This technique is typically used to take product quality to the next level. Just to explain things better, if you have 90% code coverage then it means that 10% of your code is not covered under tests. Although 90% looks a very convincing percentage but this 10% of the code can affect your produ...

Dell and EMC merger: Why, and What It Means

Image
Dell’s $67 billion acquisition of EMC is the biggest technology deal ever. This will prove to be an added advantage to Dell sales force, known for their ability to "sell ice to Eskimos”. EMC can see this as an opportunity to tap mid-market customers. As a private entity, the combined result will face a freedom from market pressures that their competitors can only dream of. The way I see this deal is, that Dell wanted a sharper set of enterprise capabilities which EMC brought to the table. Dell also gets control of VMware which is a big asset in enterprise datacenters. If all goes well and they manage it properly, Dell will become a far more credible player alongside Cisco, and HP in the enterprise space. If you look at this acquisition from another angle this looks to be a consolidation play which also makes total sense considering the overall market inactivity within the classic client-server datacenter environments. As far as technological disruption is concerned, th...

All you need to know about cloud storage

Image
Cloud storage is an evolved version of data storage, wherein the valuable data of enterprises are stored in and are accessible from various distributed and connected resources that comprise a cloud. Multi-cloud provides the greater accessibility and reliability; data backup protection, rapid deployment, disaster and archival recovery, and cost effective as there is no requirement of buying storage equipment, managing and maintenances. Over the past few years, enterprises are becoming more and more aware of the utility of the cloud storage; to explore the opportunity they are outsourcing their workload deployment to a cloud service provider. These suppliers are accountable for keep the data live and accessible along with securing the physical storage servers. In the recent year, the cloud market has drastically changed and various options have become available from many public IaaS provider which include IBM, RackSpace, Amazon and HP. Along with public IaaS providers there are ...

Change Block Tracking

Image
In today’s world where massive data is created, it is important for enterprises to back- up their data else major business intelligence can be lost with no damage control in place. Change Block Tracking (CBT) is an incremental backup technology for VMware virtual machines (VMs). An incremental backup refers to the type of backup that only copies files that have changed since the previous backup. This is an interesting feature as lot of time and resources are saved by just backing up the blocks that have changed rather than every block of every VM in the infrastructure. CBT requires ESX/ESXi hosts at version 4.0 or newer, VMs at virtual hardware version 7 or newer, and that I/O operations go through the ESX/ESXi storage stack. Administrators can easily enable this feature and if any block had been changed since the last backup, CBT will tag them in a CTK file along with all its information. It provides the intelligence to the vSphere or third party backup tool to copy the changed ...

VAAI – is it a Mirage?

Image
VMware vSphere® Storage APIs – Array Integration (VAAI), also known as hardware acceleration or hardware offload APIs, are a set of APIs enabling interaction between VMware vSphere ESXi™ hosts and storage devices. The APIs in VAAI are supported by a block or NAS array (e.g. storage system) and can offload different functions from the vSphere hypervisor and virtual machine (VM). VAAI has been established to handle issues industry faces while trying to expand Virtual Machines mainly during sizing storage, rapid VM provisioning and maintaining application performance. It has the ability offload specific storage operations to compliant storage hardware, which results in less CPU, memory and storage fabric bandwidth consumption. In other words, VAAI removes blocks, and offloads tasks that are “expensive” and place a heavy load on ESX resources to storage arrays. This enables improved performance, scale and efficiency to a very large extend VAAI can be used in the following functions...