
UNSOLVED
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.
Responses (0)
Solutions (0)
