Help & Documentation>Tencent Cloud TI-ONE Platform>Use Cases>Guide on Using CFS Instances in Various Scenarios

Guide on Using CFS Instances in Various Scenarios

Last updated: 2026-02-26 15:53:54

This document introduces how to use Cloud File Storage (CFS) instances in various scenarios and functional modules of Tencent Cloud TI-ONE Platform (TI-ONE).

1. CFS Introduction

CFS is a distributed file storage system provided by Tencent Cloud. It offers scalable shared file storage services and can be used in conjunction with other Tencent Cloud services, such as Cloud Virtual Machine (CVM). CFS supports the standard Network File System (NFS) protocol, serving as a shared data source for multiple CVM instances. It supports elastic scaling of capacity and performance. Existing applications can mount and use CFS instances without modification. It is a highly available, highly reliable distributed file system, suitable for scenarios such as big data analysis, media processing, and content management.

2. Basic Usage of CFS

CFS storage is used by mounting. CFS supports mounting on both Linux and Windows operating systems. Since TI-ONE primarily uses Linux, this document only covers the usage of CFS on Linux.
CFS instances are mounted on Linux using the mount command. For more information, see Using CFS Instances on Linux Clients. The mount command requires specifying the source directory of the partition to be mounted and the mount path on the target system (such as a CVM instance or a container), enabling access to the partition's files on the target system.
On TI-ONE, you do not need to deal with the details of the mount command. You only need to specify the CFS path and the target mount path when using the Task-based Modeling or Dev Machines module.

3. Networking Modes for CFS

CFS storage specifications include the General series and the Turbo series. The Turbo series features high IOPS and is more suitable for high-performance computing scenarios in AI. For more information about the differences between CFS specifications, see Storage Types and Specifications. You can purchase an appropriate instance based on your requirements and budget.
It is important to note that:
CFS General series supports only the Virtual Private Cloud (VPC) networking mode: When creating a CVM instance, you need to specify the VPC network where the CFS instance resides. Subsequent CVM instances that access this CFS instance need to be within the VPC network or interconnected with it through Cloud Connect Network (CCN). For more information, see Cross-AZ and Cross-Network Guide.
CFS Turbo series supports both the VPC networking mode and the CCN networking mode. For more information, see Selecting a Network for Turbo CFS.
VPC networking mode: When you create a CFS instance, specify the VPC network to which the CFS instance belongs. Subsequent CVM instances that access this CFS instance need to be within the VPC network or interconnected with it through CCN.
CCN networking mode: When you create a CFS instance, specify a CCN instance. All VPC networks added to this CCN instance can access the CFS instance.

4. CFS Usage Patterns in TI-ONE Scenarios

When you use TI-ONE in scenarios such as deep learning or LLM training/fine-tuning, we recommend that you use CFS to store training/inference materials, including code, training models, training data sets, and so on.
TI-ONE supports the following scenarios:
Pay-as-you-go: You use CVM instances provided by TI-ONE for dev machine development or task-based modeling, and you need to mount your own CFS storage to the CVM instances. In this mode, TI-ONE is responsible for establishing network connectivity between the CVM instances and your CFS storage.
Managing your CVM instances based on yearly/monthly subscription: After purchasing CVM instances in the CVM console, you can manage these instances on TI-ONE for dev machine development or task-based modeling. You need to mount your own CFS storage to your CVM instances. In this mode, you must ensure network connectivity between your instance resources and CFS storage.

5. Differences in Using CFS with Different Networking Modes in TI-ONE Scenarios

Scenario 1: Pay-as-You-Go Mode for TI-ONE + VPC Networking Mode for CFS

CVM instances are under the TI-ONE account, while the CFS instances are under your own account. They are inherently in different VPC networks. Therefore, TI-ONE automatically establishes network connectivity between its VPC network and the VPC network where your CFS instance resides. You do not need to deal with the network connectivity details. In this scenario, you only need to specify any VPC network under your account when creating your CFS instance.
Note:
If you need to mount multiple CFS instances within a single dev machine or a single task-based modeling task, you need to ensure these CFS instances are in the same VPC network or within the same CCN instance..

Scenario 2: Pay-As-You-Go Mode for TI-ONE + CCN Networking Mode for CFS

CVM instances are under the TI-ONE account, while the CFS instances are under your own account, and this CFS instance has been added to a CCN instance under your account. TI-ONE automatically establishes CCN network connectivity between its VPC network and your CFS instance. You do not need to deal with the network connectivity details.
Note:
Due to certain limitations of CCN, failures may occur in this scenario. If you encounter issues, you can contact us for support and troubleshooting.
If you need to mount multiple CFS instances within a single dev machine or a single task-based modeling task, you need to ensure these CFS instances are in the same VPC network or within the same CCN instance..

Scenario 3: Self-Managed Resource Management Mode for TI-ONE + VPC Networking Mode for CFS

Both the CVM instances and the CFS instance are under your own account. You need to ensure network connectivity between the CFS instances and the CVM instances. Connectivity can be achieved either by placing them in the same VPC network or by establishing connectivity through CCN. For more information, see Cross-AZ and Cross-Network Access Guide .
Note:
If you need to mount multiple CFS instances within a single dev machine or a single task-based modeling task, you need to ensure network connectivity between these CFS instances and the CVM instances you manage on TI-ONE.

Scenario 4: Self-Managed Resource Management Mode for TI-ONE + CCN Networking Mode for CFS

Both the CVM instances and the CFS instances are under your own account. You need to ensure network connectivity between the CFS instances and the CVM instances. You can achieve this by adding the VPC network containing your CVM instances to the CCN instances where your CFS instance resides. For more information about CCN, see CCN Overview.
Note:
If you need to mount multiple CFS instances within a single dev machine or a single task-based modeling task, you need to ensure network connectivity between these CFS instances and the CVM instances you manage on TI-ONE.

6. Different Usage Scenarios for Mounting CFS Instances

Scenario 1: Using a CFS Instance in a Dev Machine

After a CFS instance is created, the default root directory / is empty. You can mount the CFS instance to a CVM instance and then upload or create files, or you can mount and use the CFS instance in a dev machine.
When you create a dev machine, to ensure the dev machine can be used properly, the first CFS storage path you select is mounted to the default working directory /home/tione/notebook of the dev machine.
You can specify the root directory of the CFS instance or any directory you created as the source path. The contents in the specified directory are mounted to /home/tione/notebook.
The following examples show the mappings between the mount path and the dev machine path.
Example 1:
CFS Source Path /
Dev Machine Path /home/tione/notebook
/
/home/tione/notebook
/data
/home/tione/notebook/data
/model
/home/tione/notebook/model
/code
/home/tione/notebook/code
Example 2:
CFS Source Path /user01
Dev Machine Path /home/tione/notebook
/user01
/home/tione/notebook
/user01/data
/home/tione/notebook/data
/user02
Inaccessible

Scenario 2: Using a CFS Instance in Data Preprocessing

Data Preprocessing Input

Assume you have created a dev machine for a data preprocessing pipeline in the single-turn Q&A format and mounted a CFS instance. The CFS source directory for mounting is /, and the target mount directory is /home/tione/notebook.
After accessing the dev machine, the system creates script tools for data preprocessing and their corresponding directories under your mounted source directory / (that is, the mount directory /home/tione/notebook of the dev machine). You can upload relevant data to this directory for processing.
The directory format of the script tool is mount path/<nb-id>/<ppl-type>/raw_dataset_files.
Where:
ppl-type is the selected data preprocessing pipeline type. single_round_qa_pipeline indicates a single-turn Q&A pipeline. multi_round_qa_pipeline indicates a multi-turn Q&A pipeline. unsupervised_pipeline indicates an unsupervised pipeline.
nb-id is the ID of the current dev machine. You can view the ID via the URL. Do not be misled by the / directory displayed in the dev machine file bar. The default directory for opening the dev machine is /home/tione/notebook, which is the source directory you mounted. You can open the terminal and enter the pwd command to view the current path.
single_round_qa_pipeline is the script path for the single-turn Q&A pipeline. When you select a multi-turn or unsupervised pipeline, the path is different.
After accessing the ppl-type directory, you can refer to the quick_start.ipynb guide to perform further data preprocessing operations.

Data Preprocessing Output

After you complete the data preprocessing operations, since the CFS instance is mounted, the actual output files are already stored in your CFS storage. Therefore, if you need to use them in Task-based Modeling, you need to map the CFS path.
Example 1:
CFS Source Path
/
Dev Machine Output Path
/home/tione/notebook/nb-1023096325327389312/single_round_qa_pipeline/final_dataset_files/SelfMade_NL2SQLpilot_for_training.jsonl
Actual CFS Path
/nb-1023096325327389312/single_round_qa_pipeline/final_dataset_files/SelfMade_NL2SQLpilot_for_training.jsonl
Example 2:
CFS Source Path
/user01
Dev Machine Output Path
/home/tione/notebook/nb-1023096325327389312/single_round_qa_pipeline/final_dataset_files/SelfMade_NL2SQLpilot_for_training.jsonl
Actual CFS Path
/user01/nb-1023096325327389312/single_round_qa_pipeline/final_dataset_files/SelfMade_NL2SQLpilot_for_training.jsonl

Scenario 3: Using a CFS Instance in Task-based Modeling

When using Task-based Modeling, you can store the corresponding code, model files, and data sets in a CFS instance and access them by mounting.
Note the mapping relationships of mount directories. Taking an LLM fine-tuning case as an example, you can see Fine-Tuning a Custom LLM Using Task-based Modeling.
Assume that during the dev machine phase, after you debug the following code, model, and data, the final data resides under the CFS path /data/custom.
File Type
CFS Source Path /data/custom
Dev Machine Mount Path /home/tione/notebook
model
/data/custom/model
/home/tione/notebook/model
data
/data/custom/llm/data
/home/tione/notebook/llm/data
code
/data/custom/llm/code
/home/tione/notebook/llm/code
Then you proceed with task-based modeling. Since task-based modeling differs from dev machines, data is typically mounted under /opt/ml for processing.
File Type
CFS Source Path
Mount Path of Task-based Modeling
model
/data/custom/model
/opt/ml/pretrain_model
dataset
/data/custom/llm/data
/opt/ml/input/data/train
code
/data/custom/llm/code
/opt/ml/input/data/code
output
/data/custom/llm/output
/opt/ml/output
Note:
In the task-based modeling code, when you need to read data or models, use the mount path of task-based modeling. You can see Fine-Tuning a Custom LLM Using Task-based Modeling, download the sample code according to the guide, and test it.

Scenario 4: Using a CFS Instance in Online Services

Loading Models Directly from a CFS Instance

In LLM scenarios, models are generally large. The recommended workflow is: use a dev machine mounted with a CFS instance to debug training code; use Task-based Modeling mounted with the CFS instance to execute distributed training tasks; finally, store the fine-tuned model on the CFS instance. The Online Services module for TI-ONE inference scenarios supports reading model files directly from the CFS instance. In this case, you only need to specify the absolute path of your model files in the CFS instance.
Note:
Some bare metal physical servers (such as HCC A100 and HCC V100 instance types) do not support elastic network interfaces and therefore cannot support mounting CFS Turbo instances.
Example:
After task-based modeling is completed, if we store the trained model to the path /opt/ml/output/model/saved_model.pb, then the corresponding CFS path is /data/custom/llm/output/model/saved_model.pb.

CFS Source Path
Mount Path of Task-based Modeling
output
/data/custom/llm/output
/opt/ml/output

Using a CFS Instance as Temporary Storage When Importing Models from the Model Repository

After your model is registered in the model repository, you can import it from the repository to create an online service.
In the pay-as-you-go billing mode, the default total size of model packages supported by local disks is approximately 45 GB. In the yearly/monthly subscription billing mode, model packages are stored on the disks mounted to the resource group nodes.
When your model package size exceeds the limit, you need to configure an additional CFS instance. The platform automatically uses the CFS instance to store the model. In this case, you need to select a CFS instance and configure an empty CFS path. When the online service runs, this path is mounted, and the model files from the model repository are copied to this path for service startup loading.
When the online service is stopped or updated, the platform cleans up the files under this CFS source path by default. Ensure there is no other data in this path.
Note:
Some bare metal physical servers (such as HCC A100 and HCC V100 instance types) do not support elastic network interfaces and therefore cannot support mounting CFS Turbo instances.

7. How to Implement Directory Isolation Between Sub-accounts with CFS and CFS Turbo (Deprecated)

Note:
TI-ONE launched the data source management feature in July 2025. This feature supports registering directories of storage instances (CFS/GooseFSx) as data sources and configuring mount permissions for them.
After the data source management feature is launched, the solution described in this section, implementing directory isolation between sub-accounts based on tags, becomes deprecated. If you have configured directory permission policies according to this solution, see the data source management documentation for reconfiguration. If you encounter any questions during configuration, submit a ticket to contact us.
This section describes how to implement directory isolation between different sub-accounts within the same CFS or CFS Turbo instance by using tags.

Step 1: Creating a Tag

1. Log in to the Tag console. In the left sidebar, select Tag List. Select the Custom Tags tab and click Create Tag.
2. Specify the tag keys and values according to the following rules:

Tag Key
Tag Value
Rule Description
1
tione_cfs_directory_isolation_rulelists
RuleA:RuleB:RuleC
If a CFS or CFS Turbo instance has a tag with the key tione_cfs_directory_isolation_rulelists, it is considered that this instance requires directory isolation between sub-accounts. Otherwise, global shared permissions apply.
The tag value can contain multiple rules separated by colons (:). Multiple rules are combined into a union. The specific path for a rule is defined by the tag in No.3.
2
tione_cfs_default_effective_rulelists
RuleA
If a CFS or CFS Turbo instance, on top of the condition in No.1, also has a tag with the key tione_cfs_default_effective_rulelists, then the rule (RuleA) specified in the tag value is considered the default effective rule. This rule takes effect even if a sub-account does not have the tag described in No.4. Only one rule can be configured for this tag. If multiple rules are configured, one will be selected at random, indicating a configuration error.
3
RuleA
PathA:PathB:PathC
This defines a specific isolation rule. The tag key corresponds to a rule name specified in the tag values of No.1, No.2, or No.4. The tag value is the file path on the CFS or CFS Turbo instance to be isolated. Multiple paths are combined into a union. Each path must start with a forward slash (/) and can only contain English letters, digits, underscores (_), hyphens (-), and periods (.). Folder names within the path can only start with English letters, digits, or underscores (_).
Special wildcards:
1. The path supports the wildcard <@subaccount>, which represents the sub-account UIN. For example, RuleA: /home/<@subaccount>. You only need to specify one path rule, and the UIN of the sub-account using the resource is automatically populated.
2. The path supports the wildcard <@subusername>, which represents the sub-account nickname. For example, RuleA: /home/<@subusername>. You only need to specify one tag path rule, and the nickname of the sub-account using the resource is automatically populated.
4
cfsidxx_cfs_directory_isolation
RuleA:RuleB
If a sub-account has a tag with the key cfsidxx_cfs_directory_isolation (where cfsidxx is the ID of a specific CFS or CFS Turbo instance), then the paths accessible by this sub-account on the instance are the intersection of the rules specified in this tag value (No.4) and the rules from tags No.1 and No.2.
If a sub-account does not have this tag (No.4), it has no access permissions on this CFS instance.

Step 2: Applying Tags to the CFS or CFS Turbo Instance

1. Log in to the CFS console. In the left sidebar, select File System. Select the instance for which you need to configure directory isolation. Click Edit Tags. Select the tag keys and tag values created in Step 1.
2. The CFS or CFS Turbo instance attached with the tag key tione_cfs_directory_isolation_rulelists requires directory isolation between sub-accounts. Otherwise, global shared permissions apply.

Step 3: Applying Tags to Sub-Accounts

1. Log in to the Cloud Access Management (CAM) console. In the left sidebar, select Users/User List. Select the sub-account for which you need to configure directory isolation. Click the username to go to the user details page. Click the edit icon for the tag field. Select the tag keys and tag values created in Step 1.


Step 4: Using the Tagged CFS or CFS Turbo Instance for Training and Inference

1. Log in to the TI-ONE console. In the left sidebar, select Training Workshop/Task-based Modeling. Click Create Task. Select your tagged CFS or CFS Turbo instance. After selection, the paths defined in the tags will appear. Select the desired path from the drop-down list.

2. Log in to the TI-ONE console. In the left sidebar, select Training Workshop/Dev Machine. Click Create Task. Select your tagged CFS or CFS Turbo instance. After selection, the paths defined in the tags will appear. Select the desired path from the drop-down list.

3. Log in to the TI-ONE console. In the left sidebar, select Model Services/Online Services. Click Create Service. Select your tagged CFS instance. After selection, the paths defined in the tags will appear. Select the desired path from the drop-down list.

Note:
1. If a path specified in the tag value does not comply with the rules, it will be grayed out and unavailable for selection in the console. Contact your Tencent Cloud account administrator to adjust the path configuration in the relevant tags.
2. Path rules: Each path must start with a forward slash (/) and can only contain English letters, digits, underscores (_), hyphens (-), and periods (.). Folder names within the path can only start with English letters, digits, or underscores (_).