Ploop/Limits

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search

Ploop images has the following limits:

  • Number of snapshots: 126
  • Image size:
    • ploop v1: 2 TB minus 1 MB
    • ploop v2: 4 PB (4096 TB) minus 1 MB
  • Inner ext4 file system size: currently set to 16 TB

Conversion[edit]

Use ploop convert tool to convert from ploop v1 to ploop v2 image.

Internals[edit]

Image size limit[edit]

Ploop v1 image size limitation comes from the fact that unsigned 32 bit integer is used to store sector address inside the ploop image. Therefore the maximum number of sectors is 232, which is 4294967295. As sector size is 512 bytes, 4294967295 sectors are equal to 2 terabytes. As the first megabyte of the image is used for header and L2 translation table, maximum image size is decreased by 1MB.

Ploop v2 uses the same unsigned 32 bit field to address blocks rather than sectors. Block size itself is measured in 512 byte sectors, and can be specified during image creation. If not specified, block size defaults to 2048 sectors, i.e. 1 megabyte. Therefore, the image can be up to 4 petabytes (4096 TB) in size. Same as with ploop v1, the first megabyte of the image is used for header and L2 translation table, maximum image size is decreased by 1MB.

Filesystem size limit[edit]

Currently ext4 file system is used. An ability to resize ext4 is limited by its block group descriptor table, which size can be specified during file system creation time, using -Eresize option to mke2fs. Currently ploop library hardcodes this value so that filesystem can be resized up to 16 TB of space.