CPFS imposes limits on file systems, clients, Filesets, data flows, protocol services, and capacity monitoring. Review these limits before you design your storage architecture.
File system
|
Item |
Limit |
Description |
|
Mount points per file system |
1 |
Each file system supports only one mount point. |
|
Mounts per client |
|
|
|
Subdirectory mounts |
|
Subdirectory mounting is supported by CPFS-NFS clients but not by CPFS-POSIX clients. |
|
Compute nodes per file system |
2,000 |
A single file system can be mounted by up to 2,000 compute nodes simultaneously. |
|
Capacity per file system |
1 PiB |
The upper bound for a single CPFS file system. |
|
Files or directories per file system |
4 billion |
The number of files and directories scales with the file system capacity. Every 1,200 GiB of capacity supports approximately 23 million files or directories, with a maximum of 4 billion per file system. |
|
Files or subdirectories per directory |
100 million |
A single directory can contain up to 100 million files or subdirectories. |
|
Path length |
4,096 bytes |
The full path length in the Linux Virtual File System (VFS), for example, |
|
File name length |
255 bytes |
The maximum length of a single file name or directory name. |
Directory naming constraints
To ensure system stability and support for enterprise features, CPFS reserves some directory names. If you attempt to create a directory with a reserved name, the system returns an EPERM error. Reserved names fall into two categories:
-
Reserved in the file system root directory only: The system returns the
EPERMerror only when you create a directory with a reserved name in the file system root directory. You can create directories with these names in other subdirectories. -
Reserved in any directory in the file system: The system returns the
EPERMerror when you create a directory with a reserved name at any level in the file system.
|
Scope |
Reserved directory names |
|
File system root directory only |
|
|
Any directory within the file system |
|
Supported operating systems
-
The CPFS-POSIX client requires at least 2 CPU cores and 4 GiB of memory.
-
If your operating system kernel version is not supported by the CPFS-POSIX client, use the CPFS-NFS client to access CPFS.
-
For CentOS users: The official CentOS Project has announced the end-of-life (EOL) plan for CentOS Linux. The public CentOS Linux images on Alibaba Cloud are sourced from the official CentOS distribution. After CentOS Linux reaches EOL, Alibaba Cloud will no longer provide support for it. To avoid disruptions, migrate to a supported operating system. For more information, see Operating system migration.
CPFS-POSIX client
The CPFS-POSIX client supports only Linux. The following table lists the supported distributions and kernel versions.
|
Operating system type |
Distribution |
Kernel version |
|
Alibaba Cloud Linux |
Alibaba Cloud Linux 2.1903 64-bit |
4.19.91-27.4.al7.x86_64 and earlier versions |
|
RHEL or CentOS |
8.4 |
4.18.0-305.19.1.el8_4 |
|
8.3 |
4.18.0-240.22.1.el8_3 |
|
|
8.2 |
4.18.0-193.28.1.el8_2 |
|
|
8.1 |
4.18.0-147.8.1.el8_1 |
|
|
8.0 |
4.18.0-80.11.2.el8_0 |
|
|
7.9 |
3.10.0-1160.42.2.el7 |
|
|
7.8 |
3.10.0-1127.19.1.el7 |
|
|
7.7 |
3.10.0-1062.18.1.el7 |
|
|
7.6 |
3.10.0-957.54.1.el7 |
|
|
7.5 |
3.10.0-862.14.4.el7 |
|
|
7.4 |
3.10.0-693.2.2.el7 |
|
|
7.3 |
3.10.0-514.26.2.el7 |
|
|
7.2 |
3.10.0-514.26.2.el7 |
|
|
Ubuntu |
20.04.3 LTS |
5.4.0-86-generic |
CPFS-NFS client
The CPFS-NFS client supports only Linux. The following table lists the supported distributions.
|
Operating system type |
Operating system version |
|
Alibaba Cloud Linux |
|
|
CentOS |
|
|
Ubuntu |
|
|
Debian |
|
|
SUSE |
|
Fileset
-
Fileset specification limits
-
Each file system supports up to 10 Filesets.
-
A Fileset can link to a directory up to 8 levels deep in a file system.
-
Each Fileset supports up to 1 million files or directories.
-
Nested Filesets are not supported.
-
Data flow
-
Data flow specification limits
-
Each file system supports up to 10 data flows.
-
Each data flow supports up to 5 auto-update directories.
-
Each Fileset in a file system can be linked to only one OSS bucket.
-
Data flow task records are retained for a maximum of 90 days.
-
Data flow task reports are stored in the file system and consume storage space. A maximum of 1 million reports can be stored.
-
Cross-region data flows between a file system and an OSS bucket are not supported.
-
-
Dataflow limits on file systems
-
In a fileset associated with a dataflow, do not rename a non-empty directory. Renaming a non-empty directory may result in a
Permission Deniederror or a "directory not empty" error. -
Dataflows do not support Archive or Cold Archive objects in OSS.
-
Use special characters in directory and file names with caution. Supported characters include uppercase and lowercase letters, numbers, exclamation points (!), hyphens (-), underscores (_), periods (.), asterisks (*), and parentheses ().
-
Long paths are not supported. The maximum path length for a dataflow is 1,023 characters.
-
-
Limits on data export
-
Dataflows do not support exporting hard links or symbolic links to an OSS bucket.
-
Dataflows do not support exporting empty directories to an OSS bucket.
-
Dataflows do not support exporting ChangeTime properties to an OSS bucket.
-
When a dataflow exports sparse data, zero-value holes are filled with padding before being exported to an OSS bucket.
-
Protocol service
-
Protocol service specification limits
Limits
Threshold
Description
Protocol services per file system
1
One per file system.
VPCs for publishing export directories
2
Up to two VPCs per protocol service.
Export directories per protocol service
10
Up to 10 across filesets or directories.
Mounted compute nodes per protocol service
10,000
Up to 10,000 per protocol service.
Concurrently open files
150,000
No more files can open after this limit is reached.
-
Other limits
-
Multiple clients can read and write files in a unified namespace. However, when multiple processes concurrently write the same file, write anomalies (overwrites, crossovers, serialization) may occur because NFSv3 does not support Atomic Append.
-
Network Lock Manager (NLM) is not supported.
-
NFSv4.x is not supported.
-