Skip to main content
NetApp Response to Russia-Ukraine Cyber Threat
In response to the recent rise in cyber threat due to the Russian-Ukraine crisis, NetApp is actively monitoring the global security intelligence and updating our cybersecurity measures. We follow U.S. Federal Government guidance and remain on high alert. Customers are encouraged to monitor the Cybersecurity and Infrastructure Security (CISA) website for new information as it develops and remain on high alert.
NetApp Knowledge Base

What is the object fragmentation in fabricpool?

Views:
869
Visibility:
Public
Votes:
0
Category:
ontap-9
Specialty:
sgrid
Last Updated:

Applies to

  • Ontap
  • Fabricpool tiering

Answer

  • FabricPool does not delete blocks from attached object stores.
  • Instead, FabricPool deletes entire objects after a certain percentage of the blocks in the object are no longer referenced by ONTAP.
    • For example, there are 1,024 4KB blocks in a 4MB object tiered to Amazon S3.
  • If a customer/client app makes a delete or a write to a file that has cold blocks in an object, the cold block becomes unreferenced, but it stays in the object.
    • This fragmentation slowly builds up until it crosses the unreclaimed space threshold and we delete the object and fold any existing referenced blocks into a new object.
  • Defragmentation and deletion do not occur until less than 205 4KB blocks (20% of 1,024) are being referenced by ONTAP.
    • When enough (1,024) blocks have zero references, their original 4MB objects are deleted, and a new object is created.

More details available in TR-4598.

Additional Information

  • Object storage is a storage architecture that manages data as objects, as opposed to other storage architectures such as file or block storage. Objects are kept inside a single container (such as a bucket) and are not nested as files inside a directory inside other directories.
  • Evidence of Object fragmentation may include:
    • A disproportionately large number of small GET requests from the ONTAP object store client
    • The small GET requests are contrast to significantly larger workload read requests.
    • Example:
//diag mode
cluster1::*> statistics start -object object_store_client_op -counter get_request_size_histogram -node N2
cluster1::*> statistics show -sample-id sample_21

Object: object_store_client_op
Instance: 1
Start-time: 8/20/2020 02:41:37
End-time: 8/20/2020 02:42:39
Elapsed-time: 354s
Scope: N2

    Counter                                                     Value
    -------------------------------- --------------------------------
    get_request_size_histogram                                      -
                              <=512B                             1029
                               <=8KB                          1942176  
                              <=16KB                            54012 
                              <=32KB                            46181 
                              <=64KB                            43441 
                             <=128KB                            10409 
                             <=256KB                             6166
                             <=512KB                             2137   

 

Scan to view the article on your device