UNSOLVED

philippspohr

updated

11 years ago

P

philippspohr

1 Rookie

107 Posts

0

4558

October 29th, 2015 03:00

File size, parity overhead and used space

Hi Isilon community,

I am currently dealing with the Isilon topic of file size, used space, parity overhead and so on. I am involved in Isilon since a few years but I do not really understand this topic and the relationship between all involved variables. But for better understanding I give you an example with a small cluster I have recently installed and configured:

Cluster: 7 Node X410 with OneFS 7.2.0

Protection level: N+2n

At my understanding at N+2 with a seven node cluster I have maximum 5x data and exact 2x parity for each stripe, right?

Let's start with a simple example at which the stripe depth is only one because only one one stripe unit is stored at each node: 512 KB.

A 512 KB file has four 128 KB data stripe units and two 128 KB parity stripe units = total 768 KB space consumption I would suppose.

Node Stored data
Node 1 128 KB data
Node 2 128 KB data
Node 3 128 KB data
Node 4 128 KB data
Node 5 128 KB parity
Node 6 128 KB parity
Node 7 -

To check this I created a dummy file of 512 KB with MS Windows: >> fsutil createnew dummy 524288.

The MS Windows properties of this file at the Isilon cluster shows me

  • Size: 512 KB (524.288 Bytes)
  • Size at the medium: 808 KB (827.392 Bytes)

The Isilon OneFS filesystem explorer shows me the following:

  • File size: 512 KB (524288 bytes)
  • Space used: 512 KB (524288 bytes)

Why does the file consume (from the point of MS Windows) 808 KB - and not 768 KB? And from the point of OneFS only 512 KB?

The next example is a bit more complicating because the file is too big to store only one stripe unit at each node: 1024 KB.

A 1024 KB file consists of eight 128 KB data stripe units. Because of N+2 we still have two parity stripe units a each stripe.

Node Stored data
Node 1 128 KB data | 128 KB data
Node 2 128 KB data | 128 KB data
Node 3 128 KB data | 128 KB data
Node 4 128 KB data | 128 KB parity
Node 5 128 KB data | 128 KB parity
Node 6 128 KB parity | -
Node 7 128 KB parity | -

In total sum I should have 12x128 KB = 1536 KB which has to be stored at the cluster. But the output of the MS Windows properties and the Isilon OneFS filesystem explorer are showing different values.

MS Windows

  • Size: 1,00 MB (1.048.576 Bytes)
  • Size at the medium: 1,18 KB (1.241.088 Bytes)

Isilon OneFS filesystem explorer:

  • File size: 1.00 MB (1048576 bytes)
  • Space used: 1.00 MB (1048576 bytes)

And - additionally - the well known chart with the parity overhead (found here or here) does not really match. The overhead with N+2 at a 7 node cluster should be round about 29% (5+2). But 768 KB for 512 KB is 50% overhead. And 1536 KB for 1024 KB is 50% too.

Did I make a mistake at this calculations? (The KiBi / KB conversion is insignificant.)

Maybe I'm doing a structural mistake.