Nutanix Erasure Coding


For those of you who runs the Nutanix platform or have seen Nutanix presentations understands that the Nutanix Distributed FileSystem (NDFS) stores data using replication factor (RF) 2 or 3. This means that the file system stores either 2 pieces or 3 pieces of the same data to deliver availability and this is customer decision and configuration. Replication factor is a high performance operation without traditional RAID penalty.

To make disk usable calculations easy you can:

  • Multiply your RAW capacity with 0.5 (50%) when using RF2
    • This means we could store data pieces X & Y according to the following in a 4 node Nutanix cluster.
      Nutanix Node Data copy
      1 X
      2 Y
      3 X
      4 Y
  • Multiply your RAW capacity with 0.33 (33%) when using RF3
    • This means we could store data pieces X & Y according to the following in a 4 node Nutanix cluster.
      Nutanix Node Data copy
      1 X
      2 XY
      3 XY
      4 Y

Up until today Nutanix has offered Compression and Deduplication as space saving features and on top of space savings the features also delivers additional performance in many cases.

During the Nutanix .Next conference (8 June 8 – 10 June) the Nutanix Erasure Coding (EC) feature was announced. Erasure coding works at the Nutanix Extent Group level. This will help you save additional storage capacity and the below table helps you get an understanding of how much space you can actually save.

Nutanix Nodes RAW TB RF2 TB EC TB
A B P * 60 30 40
A B P U 80 40 ∼53
A B C P U 100 50 75
A B C D P U 120 60 96
A B C D E P U 140 70 112

* 3 Nodes are not supported but can be enabled for testing purposes if needed.

Nutanix Nodes explanation:

  • A = Nutanix Node used for data
  • B = Nutanix Node used for data
  • C = Nutanix Node used for data
  • D = Nutanix Node used for data
  • P = Nutanix Node used forParity
  • U = Unused or Nutanix node avoided by data and parity

So EC means you don’t have to size for your logical requirement times 2 for RF2 and/or your logical requirement time 3 for RF3. You can use the below overhead instead:

  • 3 Nutanix Nodes = 1.5
  • 4 Nutanix Nodes = 1.5
  • 5 Nutanix Nodes = 1.33
  • 6 Nutanix Nodes = 1.25
  • 7 Nutanix Nodes = 1.25

I have tested EC in my lab, and on top of the space savings i had with compression, EC added an additional 22,5% space savings which is really great. Additional tests will be added when i get the time.

You activate EC on a container level via the PRISM by highlight the Container -> click Update -> click Advanced and mark the check box “ERASURE CODING”

Screen Shot 2015-06-11 at 13.05.10

Another way would have been to use the ncli available in each CVM:

  • ncli container edit name=<ctr_name> erasure-code=”X/Y”

The Erasure Coding option is also available when creating a new Nutanix Container.

Since Nutanix Operating System (NOS) version 4.1.3 released by Nutanix 2015-06-10 the Erasure Coding feature is actually available as a tech preview feature meaning you should not use it production systems.



7 pings

Skip to comment form

Comments have been disabled.