Sunday, February 1, 2015

Isilon | Design your own file system architecture

















Today i'll be taking you back to graduation days where we studied about the data structure, arrays, queues, etc in our computer science classes.

Reason is simple... Simplicity has it's own charm.

And when it comes to designing your file system architecture then there is no substitute of simplicity. The more simple the better it is & you will have less trouble when it grows- less trouble in managing, administering and in tracking the growth pattern.

EMC Isilon array comes has a huge potential to tackle growth of your NAS environment. It takes only 3 nodes to form a cluster and it can go up to 144 nodes. With each node not only you add storage capacity but you also add the computing power & performance. Each node adds resources like disk, memory & throughput. A clusters storage capacity can range from 18 TB to a maximum of greater than 30 PB. So when you want to design the file system that can have such a huge capacity then a brain storming session is a must before you start.

 But what it has to do with the graduation days where we studied computer science ?

The answer is simple- Apply what you studied.

EMC's Isilon file system is not a different file system and it has just combined the functional blocks of a file system i.e. a file system, volume manager and data protection under a single naming unit called OneFS. By doing so it has eliminate the need of creating aggregates, volume, qtrees, etc (that we normally do in other NAS products mainly NetApp) and kept the basics simple i.e just one root directory under which you create and store everything.

Now the liability lies on you to design such a architecture which not only fulfills your current requirement but should be able to accommodate your future needs.  And you can achieve it by following what you studied i.e. a tree data structure.



Take /ifs (root file system of Isilon cluster) as root of your tree and after which you create as many as branches and sub-branches as you want...

What you can do is 

1) Leave /ifs as it is
2) Create branches as per the requirement like organization name, regions, etc
3) Have multiple sub-branches for different organization units, departments, etc
4) Each sub-branch can have their own directory structure based on teams, sub-departments and work units.

How to share it with clients

1) NFS Clients: Decide the level at which you want to share the exports and make the relevant entry in exportfs file.
2) CIFS clients: Decide the level at which you want to create the DFS mapping and create the relevant DFS paths.

Security:

You can achieve this by giving relevant permissions at the UNIX directory/file level and by adding appropriate AD group to a CIFS share.


Also read SMB & NFS shares and Isilon storage provisioning

PS: There will be many others ways to design your file system architecture and this is only one of it. Architecture always vary from requirement to requirement.


Happy Learning!


1 comment: