From 8341d19ec6bbf952c38cceca76d78456d7b574c7 Mon Sep 17 00:00:00 2001 From: lizaoxu Date: Fri, 12 Dec 2025 13:31:36 +0000 Subject: [PATCH] sfs_umn_251009 Reviewed-by: Miskanin, Jan Co-authored-by: lizaoxu Co-committed-by: lizaoxu --- docs/sfs/umn/ALL_META.TXT.json | 118 +++++++---- docs/sfs/umn/CLASS.TXT.json | 80 ++++--- docs/sfs/umn/en-us_image_0000001922015898.png | Bin 28410 -> 0 bytes docs/sfs/umn/en-us_image_0000002121585809.png | Bin 0 -> 320 bytes docs/sfs/umn/en-us_image_0000002377672905.png | Bin 0 -> 34025 bytes docs/sfs/umn/en-us_image_0000002381131769.png | Bin 0 -> 34025 bytes docs/sfs/umn/en-us_image_0000002419860586.png | Bin 0 -> 17255 bytes docs/sfs/umn/en-us_image_0000002483494348.png | Bin 0 -> 42378 bytes docs/sfs/umn/en-us_image_0000002498372989.png | Bin 0 -> 133139 bytes docs/sfs/umn/en-us_image_0221089836.png | Bin 7273 -> 0 bytes docs/sfs/umn/en-us_topic_0034428718.html | 6 +- docs/sfs/umn/en-us_topic_0034428727.html | 56 +++-- docs/sfs/umn/en-us_topic_0034428728.html | 200 ++++++++++++++++++ docs/sfs/umn/en-us_topic_0105224109.html | 40 ++-- docs/sfs/umn/sfs_01_0002.html | 2 +- docs/sfs/umn/sfs_01_0004.html | 8 +- docs/sfs/umn/sfs_01_0005.html | 24 +-- docs/sfs/umn/sfs_01_0006.html | 4 +- docs/sfs/umn/sfs_01_0007.html | 6 +- docs/sfs/umn/sfs_01_0011.html | 4 +- docs/sfs/umn/sfs_01_0013.html | 2 +- docs/sfs/umn/sfs_01_0024.html | 2 +- docs/sfs/umn/sfs_01_0025.html | 24 +-- docs/sfs/umn/sfs_01_0026.html | 6 +- docs/sfs/umn/sfs_01_0027.html | 18 +- docs/sfs/umn/sfs_01_0032.html | 13 +- docs/sfs/umn/sfs_01_0033.html | 2 +- docs/sfs/umn/sfs_01_0036.html | 26 +-- docs/sfs/umn/sfs_01_0038.html | 16 +- docs/sfs/umn/sfs_01_0039.html | 12 +- docs/sfs/umn/sfs_01_0042.html | 4 +- docs/sfs/umn/sfs_01_0043.html | 12 +- docs/sfs/umn/sfs_01_0044.html | 12 +- docs/sfs/umn/sfs_01_0047.html | 143 ++++++++----- docs/sfs/umn/sfs_01_0048.html | 158 ++++++++------ docs/sfs/umn/sfs_01_0050.html | 5 +- docs/sfs/umn/sfs_01_0052.html | 8 +- docs/sfs/umn/sfs_01_0053.html | 2 +- docs/sfs/umn/sfs_01_0054.html | 8 +- docs/sfs/umn/sfs_01_0055.html | 8 +- docs/sfs/umn/sfs_01_0056.html | 4 +- docs/sfs/umn/sfs_01_0057.html | 12 +- docs/sfs/umn/sfs_01_0058.html | 10 +- docs/sfs/umn/sfs_01_0059.html | 4 +- docs/sfs/umn/sfs_01_0060.html | 4 +- docs/sfs/umn/sfs_01_0061.html | 4 +- docs/sfs/umn/sfs_01_0062.html | 8 +- docs/sfs/umn/sfs_01_0063.html | 14 +- docs/sfs/umn/sfs_01_0067.html | 2 +- docs/sfs/umn/sfs_01_0068.html | 2 +- docs/sfs/umn/sfs_01_0070.html | 2 +- docs/sfs/umn/sfs_01_0073.html | 4 +- docs/sfs/umn/sfs_01_0074.html | 2 +- docs/sfs/umn/sfs_01_0080.html | 2 +- docs/sfs/umn/sfs_01_0081.html | 4 +- docs/sfs/umn/sfs_01_0082.html | 2 +- docs/sfs/umn/sfs_01_0091.html | 2 +- docs/sfs/umn/sfs_01_0092.html | 4 +- docs/sfs/umn/sfs_01_0094.html | 2 +- docs/sfs/umn/sfs_01_0100.html | 8 +- docs/sfs/umn/sfs_01_0101.html | 6 +- docs/sfs/umn/sfs_01_0104.html | 14 +- docs/sfs/umn/sfs_01_0117.html | 30 --- docs/sfs/umn/sfs_01_0118.html | 10 +- docs/sfs/umn/sfs_01_0120.html | 2 +- docs/sfs/umn/sfs_01_0125.html | 2 +- docs/sfs/umn/sfs_01_0134.html | 4 +- docs/sfs/umn/sfs_01_0162.html | 6 +- docs/sfs/umn/sfs_01_0334.html | 32 +-- docs/sfs/umn/sfs_01_0346.html | 10 +- docs/sfs/umn/sfs_01_0347.html | 8 +- docs/sfs/umn/sfs_01_0348.html | 24 +-- docs/sfs/umn/sfs_01_1001.html | 200 ------------------ docs/sfs/umn/sfs_03_0036.html | 38 ++++ docs/sfs/umn/sfs_03_0037.html | 55 +++++ docs/sfs/umn/sfs_03_0038.html | 53 +++++ 76 files changed, 947 insertions(+), 672 deletions(-) delete mode 100644 docs/sfs/umn/en-us_image_0000001922015898.png create mode 100644 docs/sfs/umn/en-us_image_0000002121585809.png create mode 100644 docs/sfs/umn/en-us_image_0000002377672905.png create mode 100644 docs/sfs/umn/en-us_image_0000002381131769.png create mode 100644 docs/sfs/umn/en-us_image_0000002419860586.png create mode 100644 docs/sfs/umn/en-us_image_0000002483494348.png create mode 100644 docs/sfs/umn/en-us_image_0000002498372989.png delete mode 100644 docs/sfs/umn/en-us_image_0221089836.png create mode 100644 docs/sfs/umn/en-us_topic_0034428728.html delete mode 100644 docs/sfs/umn/sfs_01_0117.html delete mode 100644 docs/sfs/umn/sfs_01_1001.html create mode 100644 docs/sfs/umn/sfs_03_0036.html create mode 100644 docs/sfs/umn/sfs_03_0037.html create mode 100644 docs/sfs/umn/sfs_03_0038.html diff --git a/docs/sfs/umn/ALL_META.TXT.json b/docs/sfs/umn/ALL_META.TXT.json index 617c50db3..b2dccb2dc 100644 --- a/docs/sfs/umn/ALL_META.TXT.json +++ b/docs/sfs/umn/ALL_META.TXT.json @@ -91,7 +91,7 @@ "node_id":"sfs_01_0006.xml", "product_code":"sfs", "code":"5", - "des":"SFS provides you with the encryption function. You can encrypt data on the new file systems if needed.Keys for encrypting file systems are provided by Key Management Serv", + "des":"SFS provides you with the encryption function. You can encrypt data on newly created file systems if needed.Keys for encrypting file systems are provided by Key Managemen", "doc_type":"usermanual", "kw":"File System Encryption,Introduction,User Guide", "search_title":"", @@ -339,11 +339,11 @@ "githuburl":"" }, { - "uri":"sfs_01_1001.html", - "node_id":"sfs_01_1001.xml", + "uri":"en-us_topic_0034428728.html", + "node_id":"en-us_topic_0034428728.xml", "product_code":"sfs", "code":"17", - "des":"After creating a file system, you need to mount the file system to servers so that they can share the file system.In this section, ECSs are used as example servers. Opera", + "des":"After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.In this section, ECSs are used as example servers.", "doc_type":"usermanual", "kw":"Mounting an NFS File System to ECSs (Linux),Mount a File System,User Guide", "search_title":"", @@ -364,7 +364,7 @@ "node_id":"en-us_topic_0105224109.xml", "product_code":"sfs", "code":"18", - "des":"After creating a file system, you need to mount the file system to servers so that they can share the file system.This section uses Windows Server 2012 as the example OS ", + "des":"After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.This section uses Windows Server 2012 as the examp", "doc_type":"usermanual", "kw":"Mounting an NFS File System to ECSs (Windows),Mount a File System,User Guide", "search_title":"", @@ -385,7 +385,7 @@ "node_id":"sfs_01_0025.xml", "product_code":"sfs", "code":"19", - "des":"File system mounting information may be lost after a server is restarted. You can configure automatic mounting for the server to avoid the mounting information loss.Becau", + "des":"File system mount information may be lost after a server is restarted. You can configure auto mount on the server to avoid losing the mount information.Because service st", "doc_type":"usermanual", "kw":"Mounting a File System Automatically,Mount a File System,User Guide", "search_title":"", @@ -616,7 +616,7 @@ "node_id":"sfs_01_0036.xml", "product_code":"sfs", "code":"30", - "des":"VPC provisions an isolated virtual network environment defined and managed by yourself, improving the security of cloud resources and simplifying network deployment. When", + "des":"A VPC enables you to provision logically isolated, configurable, and manageable virtual networks for ECSs, improving the security of cloud resources and simplifying netwo", "doc_type":"usermanual", "kw":"Configuring Multi-VPC Access,Network Configuration,User Guide", "search_title":"", @@ -658,7 +658,7 @@ "node_id":"sfs_01_0039.xml", "product_code":"sfs", "code":"32", - "des":"You can expand or shrink the capacity of a file system when needed.SFS Turbo file systems can only have their capacities expanded, not reduced. And only In-use file syste", + "des":"You can expand or shrink the capacity of a file system when needed.SFS Turbo file systems can only have their capacities expanded, not reduced. And only in-use file syste", "doc_type":"usermanual", "kw":"File System Resizing,Management,User Guide", "search_title":"", @@ -721,7 +721,7 @@ "node_id":"sfs_01_0043.xml", "product_code":"sfs", "code":"35", - "des":"This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see section Create a File System.Tags are ", + "des":"This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see Create a File System.Tags are used to ", "doc_type":"usermanual", "kw":"Tags,Management,User Guide", "search_title":"", @@ -742,7 +742,7 @@ "node_id":"sfs_01_0044.xml", "product_code":"sfs", "code":"36", - "des":"You can only back up SFS Turbo file systems using CBR while you cannot back up SFS Capacity-Oriented and general purpose file systems.A backup is a complete copy of an S", + "des":"You can only back up SFS Turbo file systems using CBR but you cannot back up SFS Capacity-Oriented and general purpose file systems.A backup is a complete copy of an SFS ", "doc_type":"usermanual", "kw":"Backup,Management,User Guide", "search_title":"", @@ -805,7 +805,7 @@ "node_id":"sfs_01_0047.xml", "product_code":"sfs", "code":"39", - "des":"General purpose file systems do not support monitoring. This section describes only the monitoring metrics of SFS Capacity-Oriented.This section describes metrics reporte", + "des":"General purpose file systems do not support monitoring. This section describes only the monitoring metrics of SFS Capacity-Oriented.This section describes the SFS metrics", "doc_type":"usermanual", "kw":"SFS Metrics,Monitoring,User Guide", "search_title":"", @@ -826,7 +826,7 @@ "node_id":"sfs_01_0048.xml", "product_code":"sfs", "code":"40", - "des":"This section describes metrics reported by SFS Turbo to Cloud Eye as well as their namespaces and dimensions. You can use the console or APIs provided by Cloud Eye to que", + "des":"This section describes the SFS metrics reported to Cloud Eye as well as their namespaces and dimensions. You can use the Cloud Eye console or APIs provided by Cloud Eye t", "doc_type":"usermanual", "kw":"SFS Turbo Metrics,Monitoring,User Guide", "search_title":"", @@ -973,7 +973,7 @@ "node_id":"sfs_01_0055.xml", "product_code":"sfs", "code":"47", - "des":"SFS Turbo can provide multiple service nodes for shared log output directories, facilitating log collection and management of distributed applications. Features of such s", + "des":"SFS Turbo can provide shared log output directories for multiple service nodes, facilitating log collection and management of distributed applications. Features of such s", "doc_type":"usermanual", "kw":"Log Printing,Typical Applications,User Guide", "search_title":"", @@ -1015,7 +1015,7 @@ "node_id":"sfs_01_0348.xml", "product_code":"sfs", "code":"49", - "des":"When a file system is mounted to servers using the mount command, message timed out is displayed.Cause 1: The network status is not stable.Cause 2: The network connection", + "des":"When a file system was mounted to a cloud server using the mount command, message timed out was returned.Cause 1: The network status is not stable.Cause 2: The network co", "doc_type":"usermanual", "kw":"Mounting a File System Times Out,Troubleshooting,User Guide", "search_title":"", @@ -1036,7 +1036,7 @@ "node_id":"sfs_01_0057.xml", "product_code":"sfs", "code":"50", - "des":"When a file system is mounted to servers using the mount command, message access denied is displayed.Cause 1: The file system has been deleted.Cause 2: The server and the", + "des":"When a file system was mounted to a cloud server using the mount command, message \"access denied\" was displayed on the server.Cause 1: The file system has been deleted.Ca", "doc_type":"usermanual", "kw":"Mounting a File System Fails,Troubleshooting,User Guide", "search_title":"", @@ -1057,7 +1057,7 @@ "node_id":"sfs_01_0118.xml", "product_code":"sfs", "code":"51", - "des":"An SFS Turbo file system fails to be created.The following fault causes are sequenced based on their occurrence probability.If the fault persists after you have ruled out", + "des":"An SFS Turbo file system fails to be created.Possible causes are described here in order of how likely they are to occur.If the fault persists after you have ruled out on", "doc_type":"usermanual", "kw":"Failed to Create an SFS Turbo File System,Troubleshooting,User Guide", "search_title":"", @@ -1099,9 +1099,9 @@ "node_id":"sfs_01_0058.xml", "product_code":"sfs", "code":"53", - "des":"A server fails to access a file system. The system displays a message indicating that the access request is denied. All services on the server are abnormal.Cause 1: The f", + "des":"Access from a client server to a file system was denied. All services on the server were abnormal.Cause 1: The file system is abnormal.Cause 2: The file system fails to b", "doc_type":"usermanual", - "kw":"A Server Fails to Access a File System,Troubleshooting,User Guide", + "kw":"A Client Server Failed to Access a File System,Troubleshooting,User Guide", "search_title":"", "metedata":[ { @@ -1112,7 +1112,7 @@ "IsBot":"yes" } ], - "title":"A Server Fails to Access a File System", + "title":"A Client Server Failed to Access a File System", "githuburl":"" }, { @@ -1120,9 +1120,9 @@ "node_id":"sfs_01_0059.xml", "product_code":"sfs", "code":"54", - "des":"Currently, the file system exceptions include deletion error, expansion error, reduction error, and reduction failure. When the file system is in these statuses, refer to", + "des":"Currently, the file system exceptions include reduction error, reduction failure, deletion error and expansion error. When the file system is in these statuses, refer to ", "doc_type":"usermanual", - "kw":"The File System Is Abnormal,Troubleshooting,User Guide", + "kw":"File System Is Abnormal,Troubleshooting,User Guide", "search_title":"", "metedata":[ { @@ -1133,7 +1133,7 @@ "IsBot":"yes" } ], - "title":"The File System Is Abnormal", + "title":"File System Is Abnormal", "githuburl":"" }, { @@ -1414,7 +1414,7 @@ "node_id":"sfs_01_0073.xml", "product_code":"sfs", "code":"68", - "des":"Each account can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems.Each account can create a maximum of 100 general purpose file sys", + "des":"You can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems with each account.You can create a maximum of 100 general purpose file sys", "doc_type":"usermanual", "kw":"How Many File Systems Can Be Created by Each Account?,Specifications,User Guide", "search_title":"", @@ -1437,7 +1437,7 @@ "code":"69", "des":"You can mount an SFS Capacity-Oriented file system to a maximum of 10,000 servers.You can mount an SFS Turbo file system to a maximum of 3,000 servers.You can mount a gen", "doc_type":"usermanual", - "kw":"How Many Servers Can a File System Be Mounted To?,Specifications,User Guide", + "kw":"How Many Cloud Servers Can I Mount a File System To?,Specifications,User Guide", "search_title":"", "metedata":[ { @@ -1448,7 +1448,7 @@ "IsBot":"yes" } ], - "title":"How Many Servers Can a File System Be Mounted To?", + "title":"How Many Cloud Servers Can I Mount a File System To?", "githuburl":"" }, { @@ -1561,7 +1561,7 @@ "node_id":"sfs_01_0080.xml", "product_code":"sfs", "code":"75", - "des":"Yes.Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that ECSs in different VPCs can share the same file system, as lon", + "des":"Yes.Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that servers in different VPCs can share the same file system, as ", "doc_type":"usermanual", "kw":"Can a File System Be Accessed Across VPCs?,Networks,User Guide", "search_title":"", @@ -1603,7 +1603,7 @@ "node_id":"sfs_01_0081.xml", "product_code":"sfs", "code":"77", - "des":"A security group is a collection of access control rules for servers that have the same security protection requirements and are mutually trusted in a VPC. After a securi", + "des":"A security group is a collection of access control rules for ECSs that have the same security protection requirements and are mutually trusted in a VPC. After a security ", "doc_type":"usermanual", "kw":"Does the Security Group of a VPC Affect SFS?,Networks,User Guide", "search_title":"", @@ -1666,9 +1666,9 @@ "node_id":"sfs_01_0092.xml", "product_code":"sfs", "code":"80", - "des":"To access your file system, install the NFS client on a Linux server and run the mount command to mount the file system. For a Windows server, install the NFS client, mod", + "des":"To access a file system from a Linux server, install the NFS client on the server and run mount to mount the file system. To access a file system from a Windows server, i", "doc_type":"usermanual", - "kw":"How Do I Access a File System from a Server?,Others,User Guide", + "kw":"How Do I Access a File System from a Client Server?,Others,User Guide", "search_title":"", "metedata":[ { @@ -1679,7 +1679,7 @@ "IsBot":"yes" } ], - "title":"How Do I Access a File System from a Server?", + "title":"How Do I Access a File System from a Client Server?", "githuburl":"" }, { @@ -1792,7 +1792,7 @@ "node_id":"sfs_01_0100.xml", "product_code":"sfs", "code":"86", - "des":"By default, a Linux ECS allows only the root user to use the mount command to mount file systems, but you can grant the permissions of user root to other users. Then, suc", + "des":"By default, a Linux ECS allows only the root user to use the mount command to mount file systems, but you can grant the permissions of user root to other users. Such user", "doc_type":"usermanual", "kw":"Mounting a File System to a Linux ECS as a Non-root User,Other Operations,User Guide", "search_title":"", @@ -1830,13 +1830,13 @@ "githuburl":"" }, { - "uri":"sfs_01_0117.html", - "node_id":"sfs_01_0117.xml", + "uri":"sfs_03_0036.html", + "node_id":"sfs_03_0036.xml", "product_code":"sfs", "code":"88", - "des":"You can migrate data from an SFS Capacity-Oriented file system to an SFS Turbo file system or the other way around.This solution creates a Linux ECS to connect an SFS Cap", + "des":"You can migrate data from SFS Capacity-Oriented to General-Purpose File System or SFS Turbo.In this solution, a Linux ECS is used to connect the SFS Capacity-Oriented fil", "doc_type":"usermanual", - "kw":"Migrating Data Between File Systems,Data Migration,User Guide", + "kw":"Migrating Data from SFS Capacity-Oriented to Other File Systems Using rclone,Data Migration,User Gui", "search_title":"", "metedata":[ { @@ -1847,14 +1847,56 @@ "IsBot":"yes" } ], - "title":"Migrating Data Between File Systems", + "title":"Migrating Data from SFS Capacity-Oriented to Other File Systems Using rclone", + "githuburl":"" + }, + { + "uri":"sfs_03_0037.html", + "node_id":"sfs_03_0037.xml", + "product_code":"sfs", + "code":"89", + "des":"This section describes how to use fpart to migrate data from SFS Capacity-Oriented to General-Purpose File System. The migration aims to efficiently and securely migrate ", + "doc_type":"usermanual", + "kw":"Migrating Data from SFS Capacity-Oriented to General-Purpose File System Using fpart,Data Migration,", + "search_title":"", + "metedata":[ + { + "prodname":"sfs", + "documenttype":"usermanual", + "opensource":"true", + "IsMulti":"yes", + "IsBot":"yes" + } + ], + "title":"Migrating Data from SFS Capacity-Oriented to General-Purpose File System Using fpart", + "githuburl":"" + }, + { + "uri":"sfs_03_0038.html", + "node_id":"sfs_03_0038.xml", + "product_code":"sfs", + "code":"90", + "des":"This section describes how to use fpart to migrate data from SFS Capacity-Oriented to SFS Turbo. The migration aims to efficiently and securely migrate data while ensurin", + "doc_type":"usermanual", + "kw":"Migrating Data from SFS Capacity-Oriented to SFS Turbo Using fpart,Data Migration,User Guide", + "search_title":"", + "metedata":[ + { + "prodname":"sfs", + "documenttype":"usermanual", + "opensource":"true", + "IsMulti":"yes", + "IsBot":"yes" + } + ], + "title":"Migrating Data from SFS Capacity-Oriented to SFS Turbo Using fpart", "githuburl":"" }, { "uri":"sfs_01_0104.html", "node_id":"sfs_01_0104.xml", "product_code":"sfs", - "code":"89", + "code":"91", "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "doc_type":"usermanual", "kw":"Change History,User Guide", @@ -1875,7 +1917,7 @@ "uri":"sfs_01_0105.html", "node_id":"sfs_01_0105.xml", "product_code":"sfs", - "code":"90", + "code":"92", "des":"For details about the terms involved in this document, see Glossary.", "doc_type":"usermanual", "kw":"Glossary,User Guide", diff --git a/docs/sfs/umn/CLASS.TXT.json b/docs/sfs/umn/CLASS.TXT.json index fc4c78b54..0f4b69c11 100644 --- a/docs/sfs/umn/CLASS.TXT.json +++ b/docs/sfs/umn/CLASS.TXT.json @@ -36,7 +36,7 @@ "code":"4" }, { - "desc":"SFS provides you with the encryption function. You can encrypt data on the new file systems if needed.Keys for encrypting file systems are provided by Key Management Serv", + "desc":"SFS provides you with the encryption function. You can encrypt data on newly created file systems if needed.Keys for encrypting file systems are provided by Key Managemen", "product_code":"sfs", "title":"File System Encryption", "uri":"sfs_01_0006.html", @@ -144,16 +144,16 @@ "code":"16" }, { - "desc":"After creating a file system, you need to mount the file system to servers so that they can share the file system.In this section, ECSs are used as example servers. Opera", + "desc":"After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.In this section, ECSs are used as example servers.", "product_code":"sfs", "title":"Mounting an NFS File System to ECSs (Linux)", - "uri":"sfs_01_1001.html", + "uri":"en-us_topic_0034428728.html", "doc_type":"usermanual", "p_code":"16", "code":"17" }, { - "desc":"After creating a file system, you need to mount the file system to servers so that they can share the file system.This section uses Windows Server 2012 as the example OS ", + "desc":"After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.This section uses Windows Server 2012 as the examp", "product_code":"sfs", "title":"Mounting an NFS File System to ECSs (Windows)", "uri":"en-us_topic_0105224109.html", @@ -162,7 +162,7 @@ "code":"18" }, { - "desc":"File system mounting information may be lost after a server is restarted. You can configure automatic mounting for the server to avoid the mounting information loss.Becau", + "desc":"File system mount information may be lost after a server is restarted. You can configure auto mount on the server to avoid losing the mount information.Because service st", "product_code":"sfs", "title":"Mounting a File System Automatically", "uri":"sfs_01_0025.html", @@ -261,7 +261,7 @@ "code":"29" }, { - "desc":"VPC provisions an isolated virtual network environment defined and managed by yourself, improving the security of cloud resources and simplifying network deployment. When", + "desc":"A VPC enables you to provision logically isolated, configurable, and manageable virtual networks for ECSs, improving the security of cloud resources and simplifying netwo", "product_code":"sfs", "title":"Configuring Multi-VPC Access", "uri":"sfs_01_0036.html", @@ -279,7 +279,7 @@ "code":"31" }, { - "desc":"You can expand or shrink the capacity of a file system when needed.SFS Turbo file systems can only have their capacities expanded, not reduced. And only In-use file syste", + "desc":"You can expand or shrink the capacity of a file system when needed.SFS Turbo file systems can only have their capacities expanded, not reduced. And only in-use file syste", "product_code":"sfs", "title":"File System Resizing", "uri":"sfs_01_0039.html", @@ -306,7 +306,7 @@ "code":"34" }, { - "desc":"This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see section Create a File System.Tags are ", + "desc":"This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see Create a File System.Tags are used to ", "product_code":"sfs", "title":"Tags", "uri":"sfs_01_0043.html", @@ -315,7 +315,7 @@ "code":"35" }, { - "desc":"You can only back up SFS Turbo file systems using CBR while you cannot back up SFS Capacity-Oriented and general purpose file systems.A backup is a complete copy of an S", + "desc":"You can only back up SFS Turbo file systems using CBR but you cannot back up SFS Capacity-Oriented and general purpose file systems.A backup is a complete copy of an SFS ", "product_code":"sfs", "title":"Backup", "uri":"sfs_01_0044.html", @@ -342,7 +342,7 @@ "code":"38" }, { - "desc":"General purpose file systems do not support monitoring. This section describes only the monitoring metrics of SFS Capacity-Oriented.This section describes metrics reporte", + "desc":"General purpose file systems do not support monitoring. This section describes only the monitoring metrics of SFS Capacity-Oriented.This section describes the SFS metrics", "product_code":"sfs", "title":"SFS Metrics", "uri":"sfs_01_0047.html", @@ -351,7 +351,7 @@ "code":"39" }, { - "desc":"This section describes metrics reported by SFS Turbo to Cloud Eye as well as their namespaces and dimensions. You can use the console or APIs provided by Cloud Eye to que", + "desc":"This section describes the SFS metrics reported to Cloud Eye as well as their namespaces and dimensions. You can use the Cloud Eye console or APIs provided by Cloud Eye t", "product_code":"sfs", "title":"SFS Turbo Metrics", "uri":"sfs_01_0048.html", @@ -414,7 +414,7 @@ "code":"46" }, { - "desc":"SFS Turbo can provide multiple service nodes for shared log output directories, facilitating log collection and management of distributed applications. Features of such s", + "desc":"SFS Turbo can provide shared log output directories for multiple service nodes, facilitating log collection and management of distributed applications. Features of such s", "product_code":"sfs", "title":"Log Printing", "uri":"sfs_01_0055.html", @@ -432,7 +432,7 @@ "code":"48" }, { - "desc":"When a file system is mounted to servers using the mount command, message timed out is displayed.Cause 1: The network status is not stable.Cause 2: The network connection", + "desc":"When a file system was mounted to a cloud server using the mount command, message timed out was returned.Cause 1: The network status is not stable.Cause 2: The network co", "product_code":"sfs", "title":"Mounting a File System Times Out", "uri":"sfs_01_0348.html", @@ -441,7 +441,7 @@ "code":"49" }, { - "desc":"When a file system is mounted to servers using the mount command, message access denied is displayed.Cause 1: The file system has been deleted.Cause 2: The server and the", + "desc":"When a file system was mounted to a cloud server using the mount command, message \"access denied\" was displayed on the server.Cause 1: The file system has been deleted.Ca", "product_code":"sfs", "title":"Mounting a File System Fails", "uri":"sfs_01_0057.html", @@ -450,7 +450,7 @@ "code":"50" }, { - "desc":"An SFS Turbo file system fails to be created.The following fault causes are sequenced based on their occurrence probability.If the fault persists after you have ruled out", + "desc":"An SFS Turbo file system fails to be created.Possible causes are described here in order of how likely they are to occur.If the fault persists after you have ruled out on", "product_code":"sfs", "title":"Failed to Create an SFS Turbo File System", "uri":"sfs_01_0118.html", @@ -468,18 +468,18 @@ "code":"52" }, { - "desc":"A server fails to access a file system. The system displays a message indicating that the access request is denied. All services on the server are abnormal.Cause 1: The f", + "desc":"Access from a client server to a file system was denied. All services on the server were abnormal.Cause 1: The file system is abnormal.Cause 2: The file system fails to b", "product_code":"sfs", - "title":"A Server Fails to Access a File System", + "title":"A Client Server Failed to Access a File System", "uri":"sfs_01_0058.html", "doc_type":"usermanual", "p_code":"48", "code":"53" }, { - "desc":"Currently, the file system exceptions include deletion error, expansion error, reduction error, and reduction failure. When the file system is in these statuses, refer to", + "desc":"Currently, the file system exceptions include reduction error, reduction failure, deletion error and expansion error. When the file system is in these statuses, refer to ", "product_code":"sfs", - "title":"The File System Is Abnormal", + "title":"File System Is Abnormal", "uri":"sfs_01_0059.html", "doc_type":"usermanual", "p_code":"48", @@ -603,7 +603,7 @@ "code":"67" }, { - "desc":"Each account can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems.Each account can create a maximum of 100 general purpose file sys", + "desc":"You can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems with each account.You can create a maximum of 100 general purpose file sys", "product_code":"sfs", "title":"How Many File Systems Can Be Created by Each Account?", "uri":"sfs_01_0073.html", @@ -614,7 +614,7 @@ { "desc":"You can mount an SFS Capacity-Oriented file system to a maximum of 10,000 servers.You can mount an SFS Turbo file system to a maximum of 3,000 servers.You can mount a gen", "product_code":"sfs", - "title":"How Many Servers Can a File System Be Mounted To?", + "title":"How Many Cloud Servers Can I Mount a File System To?", "uri":"sfs_01_0074.html", "doc_type":"usermanual", "p_code":"65", @@ -666,7 +666,7 @@ "code":"74" }, { - "desc":"Yes.Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that ECSs in different VPCs can share the same file system, as lon", + "desc":"Yes.Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that servers in different VPCs can share the same file system, as ", "product_code":"sfs", "title":"Can a File System Be Accessed Across VPCs?", "uri":"sfs_01_0080.html", @@ -684,7 +684,7 @@ "code":"76" }, { - "desc":"A security group is a collection of access control rules for servers that have the same security protection requirements and are mutually trusted in a VPC. After a securi", + "desc":"A security group is a collection of access control rules for ECSs that have the same security protection requirements and are mutually trusted in a VPC. After a security ", "product_code":"sfs", "title":"Does the Security Group of a VPC Affect SFS?", "uri":"sfs_01_0081.html", @@ -711,9 +711,9 @@ "code":"79" }, { - "desc":"To access your file system, install the NFS client on a Linux server and run the mount command to mount the file system. For a Windows server, install the NFS client, mod", + "desc":"To access a file system from a Linux server, install the NFS client on the server and run mount to mount the file system. To access a file system from a Windows server, i", "product_code":"sfs", - "title":"How Do I Access a File System from a Server?", + "title":"How Do I Access a File System from a Client Server?", "uri":"sfs_01_0092.html", "doc_type":"usermanual", "p_code":"79", @@ -765,7 +765,7 @@ "code":"85" }, { - "desc":"By default, a Linux ECS allows only the root user to use the mount command to mount file systems, but you can grant the permissions of user root to other users. Then, suc", + "desc":"By default, a Linux ECS allows only the root user to use the mount command to mount file systems, but you can grant the permissions of user root to other users. Such user", "product_code":"sfs", "title":"Mounting a File System to a Linux ECS as a Non-root User", "uri":"sfs_01_0100.html", @@ -783,14 +783,32 @@ "code":"87" }, { - "desc":"You can migrate data from an SFS Capacity-Oriented file system to an SFS Turbo file system or the other way around.This solution creates a Linux ECS to connect an SFS Cap", + "desc":"You can migrate data from SFS Capacity-Oriented to General-Purpose File System or SFS Turbo.In this solution, a Linux ECS is used to connect the SFS Capacity-Oriented fil", "product_code":"sfs", - "title":"Migrating Data Between File Systems", - "uri":"sfs_01_0117.html", + "title":"Migrating Data from SFS Capacity-Oriented to Other File Systems Using rclone", + "uri":"sfs_03_0036.html", "doc_type":"usermanual", "p_code":"87", "code":"88" }, + { + "desc":"This section describes how to use fpart to migrate data from SFS Capacity-Oriented to General-Purpose File System. The migration aims to efficiently and securely migrate ", + "product_code":"sfs", + "title":"Migrating Data from SFS Capacity-Oriented to General-Purpose File System Using fpart", + "uri":"sfs_03_0037.html", + "doc_type":"usermanual", + "p_code":"87", + "code":"89" + }, + { + "desc":"This section describes how to use fpart to migrate data from SFS Capacity-Oriented to SFS Turbo. The migration aims to efficiently and securely migrate data while ensurin", + "product_code":"sfs", + "title":"Migrating Data from SFS Capacity-Oriented to SFS Turbo Using fpart", + "uri":"sfs_03_0038.html", + "doc_type":"usermanual", + "p_code":"87", + "code":"90" + }, { "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", "product_code":"sfs", @@ -798,7 +816,7 @@ "uri":"sfs_01_0104.html", "doc_type":"usermanual", "p_code":"", - "code":"89" + "code":"91" }, { "desc":"For details about the terms involved in this document, see Glossary.", @@ -807,6 +825,6 @@ "uri":"sfs_01_0105.html", "doc_type":"usermanual", "p_code":"", - "code":"90" + "code":"92" } ] \ No newline at end of file diff --git a/docs/sfs/umn/en-us_image_0000001922015898.png b/docs/sfs/umn/en-us_image_0000001922015898.png deleted file mode 100644 index 5a19064edc02e45ebaf8892645553592cbc7d345..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28410 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 aT0>`W!t7O_ryeUK^5n78-w?gSZ~Qmiu@1Tb diff --git a/docs/sfs/umn/en-us_image_0000002121585809.png b/docs/sfs/umn/en-us_image_0000002121585809.png new file mode 100644 index 0000000000000000000000000000000000000000..cd532c6e3725b9284f5f4d6dd8d30a7854237a4e GIT binary patch literal 320 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

PwLDh6VQ)O3j(E;LgNoGhyRT16q&euKea?F+0g6 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 literal 0 HcmV?d00001 diff --git a/docs/sfs/umn/en-us_image_0000002381131769.png b/docs/sfs/umn/en-us_image_0000002381131769.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2d482c15abe5a40acfed56225f08322c6b532d GIT binary patch literal 34025 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

PwLDh6VQ)O3j(E;LgNoGhyRT16q&euKea?F+0g6 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 literal 0 HcmV?d00001 diff --git a/docs/sfs/umn/en-us_image_0000002419860586.png b/docs/sfs/umn/en-us_image_0000002419860586.png new file mode 100644 index 0000000000000000000000000000000000000000..eeac02f78ebfa57472db983b40ee461f2383751c GIT binary patch literal 17255 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 JN+sLy{}1%;_{9JK literal 0 HcmV?d00001 diff --git a/docs/sfs/umn/en-us_image_0000002483494348.png b/docs/sfs/umn/en-us_image_0000002483494348.png new file mode 100644 index 0000000000000000000000000000000000000000..630b336b79308e5a765df7cd8d18e8cba6b55cb5 GIT binary patch literal 42378 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 I{Ozm%4`Z}9_W%F@ literal 0 HcmV?d00001 diff --git a/docs/sfs/umn/en-us_image_0000002498372989.png b/docs/sfs/umn/en-us_image_0000002498372989.png new file mode 100644 index 0000000000000000000000000000000000000000..07ecfc3065128cea33e9ee705ec9db4658b3f8fd GIT binary patch literal 133139 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 literal 0 HcmV?d00001 diff --git a/docs/sfs/umn/en-us_image_0221089836.png b/docs/sfs/umn/en-us_image_0221089836.png deleted file mode 100644 index a1d55ae7b53bc537bde2a77f7aa56b56518ea758..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7273 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 Is SFS?

Overview

Scalable File Service (SFS) provides scalable, high-performance (NAS) file storage. With SFS, you can enjoy shared file access spanning multiple Elastic Cloud Servers (ECSs), Bare Metal Servers (BMSs), and containers created on Cloud Container Engine (CCE). See Figure 1.

-
Figure 1 Accessing SFS
+
Figure 1 Accessing SFS

Compared with traditional file sharing storage, SFS has the following advantages:
  • File sharing

    Servers in multiple availability zones (AZs) of a same region can access the same file system concurrently and share files.

  • Elastic scaling

    Storage can be scaled up or down on demand to dynamically adapt to service changes without interrupting applications. You can complete resizing with a few clicks.

  • Superior performance

    SFS enables file system performance to increase as capacity grows, and it delivers a high data durability to support rapid service growth.

    -

    The backend storage system supports both HDD and SSD storage media. It adopts a distributed architecture and uses full redundant design for modules, which eliminate single-node faults.

    +

    The backend storage system supports HDD and SSD storage media. It adopts a distributed architecture and uses full redundant design for modules, eliminating single-node faults.

  • Seamless integration

    SFS supports Network File System (NFS). With this standard protocol, a broad range of mainstream applications can read and write data in the file system.

  • Easy operation

    In an intuitive graphical user interface (GUI), you can create and manage file systems with ease.

-

Accessing SFS

You can access SFS on the management console or via APIs by sending HTTPS requests.

+

Accessing SFS

You can access SFS on the management console or through APIs by sending HTTPS requests.

  • APIs

    Use APIs if you need to integrate SFS into a third-party system for secondary development. For detailed operations, see Scalable File Service API Reference.

  • Management console

    Use the console if you prefer a web-based UI to perform operations.

diff --git a/docs/sfs/umn/en-us_topic_0034428727.html b/docs/sfs/umn/en-us_topic_0034428727.html index b363605a4..111bd15cc 100644 --- a/docs/sfs/umn/en-us_topic_0034428727.html +++ b/docs/sfs/umn/en-us_topic_0034428727.html @@ -2,12 +2,12 @@

Create a File System

You can create a file system and mount it to multiple servers. Then the servers can share this file system. You can create three types of file systems: SFS Capacity-Oriented, SFS Turbo, and General Purpose File System.

-

Prerequisites

  1. Before creating an SFS Turbo, SFS Capacity Oriented, or a general purpose file system, ensure that a VPC is available.

    If no VPC is available, create one by referring to section "Creating a VPC" in the Virtual Private Cloud User Guide.

    -
  2. Before creating an SFS Turbo, SFS Capacity Oriented, or a general purpose file system, ensure that ECSs are available and are in the created VPC.

    If no ECS is available, create an ECS by referring to "Creating an ECS" in the Elastic Cloud Server User Guide.

    +

    Prerequisites

    1. Before creating an SFS Turbo, SFS Capacity-Oriented, or a general purpose file system, ensure that a VPC is available.

      If no VPC is available, create one by referring to section "Creating a VPC" in the Virtual Private Cloud User Guide.

      +
    2. Before creating an SFS Turbo SFS Capacity-Oriented or a general purpose file system, ensure that ECSs are available and are in the created VPC.

      If no ECS is available, create an ECS by referring to "Creating an ECS" in the Elastic Cloud Server User Guide.

    Creating an SFS Capacity-Oriented File System

    1. Log in to the management console using a cloud account.

      1. Log in to the management console and select a region and a project.
      2. Choose Storage > Scalable File Service.
      -

    2. In the upper right corner of the page, click Create File System.
    3. Set the parameters as described in Table 1 as shown in Figure 1.

      Figure 1 Creating a file system
      +

    4. In the upper right corner of the page, click Create File System.
    5. Set the parameters described in Table 1, as shown in Figure 1.

      Figure 1 Creating a file system
      @@ -36,12 +36,12 @@ - - @@ -116,7 +116,7 @@

      Creating a General Purpose File System

      1. Log in to the management console using a cloud account.

        1. Log in to the management console and select a region and a project.
        2. Choose Storage > Scalable File Service.
        -

      2. In the navigation pane, choose General Purpose File System. In the upper right corner of the page, click Create File System.
      3. Set the file system parameters, as shown in Figure 2. Table 2 describes the parameters.

        Figure 2 Creating a file system
        +

      4. In the navigation pane, choose General Purpose File System. In the upper right corner of the page, click Create File System.
      5. Set the file system parameters, as shown in Figure 2. Table 2 describes the parameters.

        Figure 2 Creating a file system
      Table 1 File system parameters

      Parameter

      A geographical area with an independent network and an independent power supply.

      You are advised to select the AZ where the servers reside.

      +

      You are advised to select the AZ where the ECSs reside.

      Protocol Type

      SFS supports NFS (only the NFSv3 protocol currently) for file system access.

      +

      SFS supports NFS (NFSv3 only) for file system access.

      -

      @@ -148,15 +148,15 @@ - - @@ -170,14 +170,28 @@ + + + +
      Table 2 File system parameters

      Parameter

      Name

      User-defined name of the file system.

      -

      It cannot be the same as that of an existing general purpose file system, including one created by the current user or any other user. And it cannot be changed after the file system is created.

      -

      If a general purpose file system is deleted, you can create a new file system with the same name as the deleted one 30 minutes after that file system has been deleted.

      +

      The name of a general purpose file system must be globally unique. It cannot be the same as the name of any existing general purpose file system, including one created by the current user or any other user. And it cannot be changed after the file system is created.

      +

      If a general purpose file system is deleted, you can only create a general purpose file system with the same name as the deleted one 30 minutes after that file system has been deleted.

      The name can contain only letters, digits, underscores (_), and hyphens (-). When creating one file system, enter a maximum of 255 characters. When creating multiple file systems, enter 1 to 251 characters.

      +

      It can contain only letters, digits, hyphens (-), and periods (.). It cannot start or end with a hyphen (-) or period (.). The name of a general-purpose file system must contain more than three characters but less than 63 characters.

      Protocol Type

      General purpose file systems support NFSv3 only.

      +

      General purpose file systems support NFS (NFSv3 only).

      -

      -

      Tag

      +

      Optional

      +

      You can add tags when creating file systems. Tags can help you to identify, classify, and search for your file systems.

      +
      Tags are composed of key-value pairs.
      • Key: Mandatory if the file system is going to be tagged.

        A tag key can contain a maximum of 128 characters. It cannot start or end with spaces or start with _sys_. It can contain letters, digits, spaces, and the following characters: _.:=+-@

        +
      • Value: Optional if the file system is going to be tagged. It can be an empty character string. A tag value can contain a maximum of 255 characters. It cannot start or end with spaces. It can contain letters, digits, spaces, and the following characters: _.:/=+-@
        NOTE:
        • You can add a maximum of 20 tags to a file system.
        • Tag keys of the same file system must be unique.
        • Except for tagging the file system during file system creation, you can also add, modify, or delete tags for existing file systems.

          +
        +
        +
      +
      +

      -

      +

    6. Click Create Now.
    7. Confirm the file system information and click Submit.
    8. Go back to the file system list.

      If the file system is displayed in the list, it is successfully created. If it fails to be created, contact the website administrator.

    -

    Creating an SFS Turbo File System

    1. Log in to the management console using a cloud account.

      1. Log in to the management console and select a region and a project.
      2. Choose Storage > Scalable File Service.
      -

    2. In the navigation pane on the left, choose SFS Turbo > File Systems. In the upper right corner of the page, click Create File System.
    3. Configure the parameters, as shown in Figure 3. Table 3 describes the parameters.

      Figure 3 Creating an SFS Turbo file system
      +

      Creating an SFS Turbo File System

      1. Log in to the management console using a cloud account.

        1. Log in to the management console and select a region and a project.
        2. Choose Storage > Scalable File Service.
        +

      2. In the navigation pane on the left, choose SFS Turbo > File Systems. In the upper right corner of the page, click Create File System.
      3. Configure the parameters, as shown in Figure 3. Table 3 describes the parameters.

        Figure 3 Creating an SFS Turbo file system

        @@ -208,7 +222,7 @@

        File System Type

        Mandatory

        -

        The following types are supported: Standard, Standard - Enhanced, Performance, Performance-Enhanced, 20 MB/s/TiB, 40 MB/s/TiB, 125 MB/s/TiB, and 250 MB/s/TiB.

        +

        The following types are supported: Standard, Standard-Enhanced, Performance, Performance-Enhanced, 20 MB/s/TiB, 40 MB/s/TiB, 125 MB/s/TiB, and 250 MB/s/TiB.

        For more information, see File System Types.

        After a file system is created, its type cannot be changed. To change the file system type, you need to create another file system. Plan the file system type in advance.

        @@ -251,12 +265,12 @@

        -

        -

        Cloud Backup and Recovery

        +

        Automatic Backup

        Cloud Backup and Recovery (CBR) provides backup protection for SFS Turbo and allows you to use backup data to create SFS Turbo file systems. After you configure backup, the system will associate the SFS Turbo file system with the backup vault and apply the selected policy to the vault to periodically back up the file system.

        -

        The following options are available, among which Not required is preselected:

        +

        The following options are available, among which Not required is preselected:

        • Not required: Backup is not configured. If you need backup protection after a file system has been created, log in to the CBR console, locate the desired vault, and associate the file system with the vault.
        • Use existing vault
          1. Select an existing cloud backup vault from the drop-down list.
          2. Select a backup policy from the drop-down list, or go to the CBR console and configure a desired one.
          -
        • Auto assign
          1. Enter a vault name, which can contain a maximum of 64 characters, including letters, digits, underscores (_), and hyphens (-), for example, vault-f61e. The default naming rule is vault_xxxx.
          2. Enter a vault capacity, which is required for backing up SFS Turbo file systems. The vault capacity cannot be less than the size of file systems, so enter a value ranging from the total size of the associated file systems to 10,485,760, in the unit of GB.
          3. Select a backup policy from the drop-down list, or go to the CBR console and configure a desired one.
          +
        • Auto assign
          1. Enter a vault name, which can contain a maximum of 64 characters, including letters, digits, underscores (_), and hyphens (-), for example, vault-f61e. The default naming rule is vault_xxxx.
          2. Enter a vault capacity, which is required for backing up SFS Turbo file systems. The vault capacity cannot be less than the size of file systems, so enter a value ranging from the total size of the associated file systems to 10,485,760, in the unit of GB.
          3. Select a backup policy from the drop-down list, or go to the CBR console and configure a desired one.

        -

        @@ -265,8 +279,8 @@

        Encryption

        Optional

        -

        Specifies whether a file system is encrypted. You can create a file system that is encrypted or not, but you cannot change the encryption attribute of an existing file system. If Encryption is selected, the following parameters will be displayed:

        -
        • KMS key name

          KMS key name is the identifier of the key, and you can use KMS key name to specify the KMS key that is to be used for encryption. Select an existing key from the drop-down list, or click View KMS List to create a new key. For details, see "Creating a CMK" in the Key Management Service User Guide.

          +

          Specifies whether a file system is encrypted. You can create a file system that is encrypted or not, but you cannot change the encryption attribute of an existing file system. If Encryption is selected, the following parameters will be displayed:

          +
          • KMS key name

            KMS key name is the identifier of the key, and you can use KMS key name to specify the KMS key that is to be used for encryption. Select an existing key from the drop-down list, or click View KMS List to create a new key. For details, see section "Creating a Custom Key" in the Key Management Service User Guide.

          • KMS key ID

            After you select a key name, the system automatically shows the key ID.

          • Key Encryption Algorithm

            After you select a key name, the system automatically shows the encryption algorithm of the key.

          @@ -289,8 +303,8 @@

          Optional

          You can add tags when creating file systems. Tags can help you to identify, classify, and search for your file systems.

          -
          A tag is composed of a key-value pair.
          • Key: Mandatory if the file system is going to be tagged

            A tag key can contain a maximum of 36 characters, including letters, digits, hyphens (-), underscores (_), and at signs (@).

            -
          • Value: Optional if the file system is going to be tagged. It can be an empty character string. A tag value can contain a maximum of 43 characters, including letters, digits, hyphens (-), underscores (_), and at signs (@).
          +
          A tag is composed of a key-value pair.
          • Key: Mandatory if the file system is going to be tagged

            A tag key can contain a maximum of 128 characters, including letters, digits, hyphens (-), underscores (_), and at signs (@).

            +
          • Value: Optional if the file system is going to be tagged. It can be an empty character string. A tag value can contain a maximum of 255 characters, including letters, digits, hyphens (-), and underscores (_).
          • You can add a maximum of 20 tags to a file system.
          • Tag keys of the same file system must be unique.
          • Except for tagging the file system during file system creation, you can also add, modify, or delete tags for existing file systems.
          @@ -307,7 +321,7 @@
          -

        • Click Create Now.
        • Confirm the file system information and click Submit.
        • Complete the creation and go back to the file system list.

          If the status of the created file system is Available, the file system is created successfully. If the status is Creation failed, contact the administrator.

          +

        • Click Create Now.
        • Confirm the file system information and click Submit.
        • Complete the creation and go back to the file system list.

          If the status of the created file system is Available, the file system is created successfully. If the status is Creation failed, contact the administrator.

    diff --git a/docs/sfs/umn/en-us_topic_0034428728.html b/docs/sfs/umn/en-us_topic_0034428728.html new file mode 100644 index 000000000..f1136fb11 --- /dev/null +++ b/docs/sfs/umn/en-us_topic_0034428728.html @@ -0,0 +1,200 @@ + + +

    Mounting an NFS File System to ECSs (Linux)

    +

    After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.

    +

    In this section, ECSs are used as example servers. Operations on BMSs and containers (CCE) are the same as those on ECSs.

    +

    General purpose file systems cannot be mounted to 32-bit Linux servers.

    +

    Prerequisites

    • You have checked the OS type of each ECS. Different OSs require different commands to install the NFS client.
    • You have created a file system and have obtained the mount point of the file system.
    • At least one ECS that is in the same VPC as the file system is available.
    • The IP address of the DNS server for resolving the domain names of the file systems has been configured on the ECS. SFS Turbo file systems do not require domain name resolution.
    +
    +

    Constraints

    This constraint only applies to local paths (mount points) and does not affect other files or directories.

    +
    +

    Metadata of the local paths (mount points) cannot be modified. Specifically, the following operations cannot be performed on the local paths' metadata:

    +

    - touch: Update file access time and modification time.

    +

    - rm: Delete files or directories.

    +

    - cp: Replicate files or directories.

    +

    - mv: Move files or directories.

    +

    - rename: Rename files or directories.

    +

    - chmod: Modify permissions on files or directories.

    +

    - chown: Change file or directory owners.

    +

    - chgrp: Change file or directory groups.

    +

    - ln: Create hard links.

    +

    - link: Create hard links.

    +

    - unlink: Delete hard links.

    +

    The atime, ctime, and mtime attributes of a local path (root directory of the mount point) are the current time. So each time the root directory attribute is queried, the current time of the server is returned.

    +
    +

    Procedure

    1. Log in to the management console using a cloud account.

      1. Log in to the management console and select a region and a project.
      2. Choose Compute > Elastic Cloud Server to go to the ECS console.
      +

    2. Log in to the ECS as user root.

      If you log in to the ECS as a non-root user, see Mounting a File System to a Linux ECS as a Non-root User.

      +
      +

    3. Install the NFS client.

      1. Install the NFS client.
        1. Run the following command to check whether the NFS software package is installed.
          • In CentOS, Red Hat, Oracle Enterprise Linux, SUSE, EulerOS, Fedora, or OpenSUSE:

            rpm -qa|grep nfs

            +
          • In Debian or Ubuntu:

            dpkg -l nfs-common

            +
          +
          If a command output similar to the following is displayed, the NFS software package has been installed and you can go to 4. If no such command output is displayed, go to b.
          • In CentOS, Red Hat, EulerOS, Fedora, or Oracle Enterprise Linux:
            libnfsidmap
            +nfs-utils
            +
          • In SUSE or OpenSUSE:
            nfsidmap
            +nfs-client
            +
          • In Debian or Ubuntu:
            nfs-common
            +
          +
          +
        2. Run the following command to install the NFS software package.

          The following commands require that ECSs be connected to the Internet. Or, the installation will fail. Installing NFS clients requires enabling effective software repositories. Installing NFS clients will fail if no software repository is enabled or the ECS does not have any software repository. If installing NFS clients fails, refer to Enabling or Adding a Software Repository.

          +
          +
          • In CentOS, Red Hat, EulerOS, Fedora, or Oracle Enterprise Linux:

            sudo yum -y install nfs-utils

            +
          • In Debian or Ubuntu:

            sudo apt-get install nfs-common

            +
          • In SUSE or OpenSUSE:

            zypper install nfs-client

            +
          +
        +
      +

    4. Run the following command to check whether the domain name in the file system mount point can be resolved. SFS Turbo file systems do not require domain name resolution. Skip this step and directly mount the file system.

      nslookup File system domain name

      +
      • A file system domain name is just a part of the mount point, for example, sfs-nas1.example.com. You can obtain a file system domain name from the mount point of a file system. In this step, you are not supposed to enter the entire mount point but only the domain name.
      • If the nslookup command cannot be used, install the bind-utils software package by running the yum install bind-utils command.
      +
      +
      • If the domain name can be resolved, go to 5.
      • If the domain name cannot be resolved, configure the DNS server IP address and then mount the file system. For details, see Configuring DNS.
      +

    5. Run the following command to create a local path for mounting the file system:

      mkdir Local path

      +

      If there is any resource, such as a disk, already mounted on the local path, create a new path. (NFS clients do not refuse repeated mounts. If there are repeated mounts, information of the last successful mount is displayed.)

      +
      +

    6. Run the following command to mount the file system to the ECS in the same VPC as the file system. You can now mount the file system to Linux ECSs using NFSv3 only.

      Table 1 describes the variables.

      +

      To mount an SFS Capacity-Oriented file system, run the following command: mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point Local path

      +

      To mount an SFS Turbo file system, run the following command: mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp Mount point Local path

      +

      To mount a general purpose file system, run the following command: mount -t nfs -o vers=3,timeo=600,noresvport,nolock,proto=tcp Mount point Local path

      +

      After a client ECS is restarted, it loses the file system mount information. You can configure auto mount in the fstab file to ensure that the ECS automatically mounts the file system when it restarts. For details, see Mounting a File System Automatically.

      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 1 Parameter description

      Parameter

      +

      Description

      +

      vers

      +

      File system version. Only NFSv3 is supported currently, so the value is fixed to 3.

      +

      timeo

      +

      Waiting time before the NFS client retransmits a request. The unit is 0.1 second. The recommended value is 600.

      +

      noresvport

      +

      Whether the NFS client uses a new TCP port when a network connection is re-established.

      +

      For example, during a network switch, the file system may be blocked, and it may take several minutes to re-establish the connection automatically. In more severe cases, you may need to restart the client ECS. It is strongly recommended that you specify noresvport, which ensures that your file system remains uninterrupted after a network reconnection or recovery.

      +

      lock/nolock

      +

      Whether to lock files on the server using the NLM protocol. If nolock is selected, the lock is valid for applications on one host. For applications on another host, the lock is invalid. The recommended value is nolock. If this parameter is not specified, lock is selected by default. In this case, other servers cannot write data to the file system.

      +

      proto

      +

      Protocol used by NFS clients to send requests to the server. Both UDP and TCP protocols can be used.

      +

      General Purpose File System does not support UDP. Therefore, you need to set proto to tcp for general purpose file systems.

      +

      Mount point

      +

      The format for an SFS Capacity-Oriented file system is File system domain name:/Path, for example, example.com:/share-xxx. The format for an SFS Turbo file system is File system IP address:/, for example, 192.168.0.0:/.

      +

      Figure 1 shows an example.

      +
      NOTE:
      • x is a digit or letter.
      • If the mount point is too long to display completely, you can adjust the column width.
      • Hover the mouse over the mount point to display the complete mount command.
      +
      +

      Local path

      +

      A local directory on the ECS used to mount the file system, for example, /local_path.

      +
      +
      +
      +
      Figure 1 Mount point
      +

      For more mounting parameters for performance optimization during file system mounting, see Table 2. Use commas (,) to separate parameters. The following command is an example:

      +

      mount -t nfs -o vers=3,timeo=600,nolock,rsize=1048576,wsize=1048576,hard,retrans=3,noresvport,ro,async,noatime,nodiratime Mount point Local path

      + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Table 2 Parameters for file system mounting

      Parameter

      +

      Description

      +

      rsize

      +

      Maximum number of bytes that can be read from the server each time. The actual data is less than or equal to the value of this parameter. The value of rsize must be a positive integer that is a multiple of 1024. If the entered value is smaller than 1024, the value is automatically set to 4096. If the entered value is greater than 1048576, the value is automatically set to 1048576. By default, the setting is performed after the negotiation between the server and the client.

      +

      You are advised to set this parameter to the maximum value 1048576.

      +

      wsize

      +

      Maximum number of bytes that can be written to the server each time. The actual data is less than or equal to the value of this parameter. The value of wsize must be a positive integer that is a multiple of 1024. If the entered value is smaller than 1024, the value is automatically set to 4096. If the entered value is greater than 1048576, the value is automatically set to 1048576. By default, the setting is performed after the negotiation between the server and the client.

      +

      You are advised to set this parameter to the maximum value 1048576.

      +

      soft/hard

      +

      soft indicates that a file system is mounted in soft mount mode. In this mode, if an NFS request times out, the client returns an error to the invoking program. hard indicates that a file system is mounted in hard mount mode. In this mode, if the NFS request times out, the client continues to request until the request is successful.

      +

      The default value is hard.

      +

      retrans

      +

      Number of retransmission times before the client returns an error. Recommended value: 1

      +

      ro/rw

      +
      • ro: indicates that the file system is mounted as read-only.
      • rw: indicates that the file system is mounted as read/write.
      +

      The default value is rw. If this parameter is not specified, the file system will be mounted as read/write.

      +

      noresvport

      +

      Whether the NFS client uses a new TCP port when a network connection is re-established.

      +

      For example, during a network switch, the file system may be blocked, and it may take several minutes to re-establish the connection automatically. In more severe cases, you may need to restart the client ECS. It is strongly recommended that you specify noresvport, which ensures that your file system remains uninterrupted after a network reconnection or recovery.

      +

      sync/async

      +

      sync indicates that data is written to the server immediately. async indicates that data is first written to the cache before being written to the server.

      +

      Synchronous write requires that an NFS server returns a success message only after all data is written to the server, which brings long latency. The recommended value is async.

      +

      noatime

      +

      If you do not need to record the file access time, set this parameter. This prevents overheads caused by access time modification during frequent access.

      +

      nodiratime

      +

      If you do not need to record the directory access time, set this parameter. This prevents overheads caused by access time modification during frequent access.

      +
      +
      +

      You are advised to use the default values for the parameters without usage recommendations.

      +
      +

    7. Run the following command to view the mounted file system:

      mount -l

      +
      If the command output contains the following information, the file system has been mounted:
      Mount point on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
      +
      +

    8. Check that you can access the file system on the ECSs to read or write data.

      If the mounting fails or times out, rectify the fault by referring to Troubleshooting.

      +

      +

      The maximum size of a file that can be written to an SFS Capacity-Oriented file system is 240 TB.

      +

      The maximum size of a file that can be written to an SFS Turbo file system is 32 TB, and that for an SFS Turbo Enhanced file system is 320 TB.

      +
      +
      +

    +
    +
    +
    + +
    + + + \ No newline at end of file diff --git a/docs/sfs/umn/en-us_topic_0105224109.html b/docs/sfs/umn/en-us_topic_0105224109.html index 4ab66280c..490639f1e 100644 --- a/docs/sfs/umn/en-us_topic_0105224109.html +++ b/docs/sfs/umn/en-us_topic_0105224109.html @@ -1,42 +1,42 @@

    Mounting an NFS File System to ECSs (Windows)

    -

    After creating a file system, you need to mount the file system to servers so that they can share the file system.

    +

    After creating a file system, you need to mount the file system to cloud servers so that they can share the file system.

    This section uses Windows Server 2012 as the example OS to describe how to mount an NFS file system. For other versions, perform the steps based on the actual situation.

    In this section, ECSs are used as example servers. Operations on BMSs and containers (CCE) are the same as those on ECSs.

    -

    Prerequisites

    • You have created a file system and have obtained the mount point of the file system.
    • At least one ECS that belongs to the same VPC as the file system exists.
    • The IP address of the DNS server for resolving the domain names of the file systems has been configured on the ECS. For details, see Configuring DNS. SFS Turbo file systems do not require domain name resolution.
    +

    Prerequisites

    • You have created a file system and have obtained the mount point of the file system.
    • At least one ECS that is in the same VPC as the file system is available.
    • The IP address of the DNS server for resolving the file system domain name has been configured on the ECS. For details, see Configuring DNS. SFS Turbo file systems do not require domain name resolution.
    -

    Limitations and Constraints

    SFS Turbo file systems cannot be mounted to Windows ECSs.

    -

    General purpose file systems cannot be mounted to Windows ECSs.

    +

    Constraints

    SFS Turbo file systems cannot be mounted to Windows ECSs.

    +

    General purpose file systems cannot be mounted to Windows servers.

    -

    Procedure

    1. Log in to the management console using a cloud account.

      1. Log in to the management console and select a region and a project.
      2. Under Computing, click Elastic Cloud Server to switch to the ECS console.
      -

    2. Go to the ECS console and log in to the ECS running Windows Server 2012.
    3. Install the NFS client.

      1. Click Server Manager in the lower left corner. The Server Manager window is displayed, as shown in Figure 1.
        Figure 1 Server Manager
        -
      2. Click Add Roles and Features. See Figure 2.
        Figure 2 Wizard for adding roles and features
        -
      3. Click Next as prompted. On the Server Roles page, select Server for NFS, as shown in Figure 3.
        Figure 3 Selecting the server for NFS
        -
      4. Click Next. In the Features page, select Client for NFS and click Next, as shown in Figure 4. Confirm the settings and then click Install. If you install the NFS client for the first time, after the installation is complete, restart the client and log in to the ECS again as prompted.
        Figure 4 Selecting the NFS client
        +

        Procedure

        1. Log in to the management console using a cloud account.

          1. Log in to the management console and select a region and a project.
          2. Choose Compute > Elastic Cloud Server to go to the ECS console.
          +

        2. On the ECS console, log in to the ECS running Windows Server 2012.
        3. Install the NFS client.

          1. Click Server Manager in the lower left corner. The Server Manager window is displayed, as shown in Figure 1.
            Figure 1 Server Manager
            +
          2. Click Add Roles and Features. See Figure 2.
            Figure 2 Wizard for adding roles and features
            +
          3. Click Next as prompted. On the Server Roles page, select Server for NFS, as shown in Figure 3.
            Figure 3 Selecting the server for NFS
            +
          4. Click Next. In the Features page, select Client for NFS and click Next, as shown in Figure 4. Confirm the settings and then click Install. If you install the NFS client for the first time, after the installation is complete, restart the client and log in to the ECS again as prompted.
            Figure 4 Selecting the NFS client
          -

        4. Modify the NFS transfer protocol.

          1. Choose Control Panel > System and Security > Administrative Tools > Services for Network File System (NFS), as shown in Figure 5.
            Figure 5 Administrative tools
            -
          2. Right-click Client for NFS, choose Properties, change the transport protocol to TCP, and select Use hard mounts, as shown in Figure 6 and Figure 7.
            Figure 6 Services for NFS
            -
            Figure 7 Client for NFS properties
            +

          3. Modify the NFS transfer protocol.

            1. Choose Control Panel > System and Security > Administrative Tools > Services for Network File System (NFS), as shown in Figure 5.
              Figure 5 Administrative tools
              +
            2. Right-click Client for NFS, choose Properties, change the transport protocol to TCP, and select Use hard mounts, as shown in Figure 6 and Figure 7.
              Figure 6 Services for NFS
              +
              Figure 7 Client for NFS properties
            -

          4. Check that the IP address of the DNS server for resolving the domain names of the file systems has been configured on the ECS before mounting the file system. For details, see Configuring DNS. SFS Turbo file systems do not require domain name resolution.
          5. Run the following command in the Command Prompt of the Windows Server 2012 (X is the drive letter of the free disk). Select the ECS that belongs to the same VPC as the file system to mount the file system.

            For SFS Capacity-Oriented file systems: mount -o nolock mount point X:

            +

          6. Check that the IP address of the DNS server for resolving the domain names of the file systems has been configured on the ECS before mounting the file system. For details, see Configuring DNS. SFS Turbo file systems do not require domain name resolution.
          7. Run the following command in the Command Prompt of the Windows Server 2012 (X is the drive letter of the free disk). Select the ECS that is in the same VPC as the file system to mount the file system.

            For SFS Capacity-Oriented file systems: mount -o nolock Mount point X:

            • Free drive letter of the disk: A drive letter that is not in use, such as drive letter E or X.
            -

            You can move the cursor to the mount point and click next to the mount point to copy the mount point. For details, see Figure 8. If the information shown in Figure 9 is displayed, the mounting is successful.

            -
            Figure 8 Mount point
            +

            You can move the cursor to the mount point and click next to the mount point to copy it. For details, see Figure 8. If the information shown in Figure 9 is displayed, the mount is successful.

            +
            Figure 8 Mount point
            -
            Figure 9 Running the command
            +
            Figure 9 Running the command

          8. After the file system is mounted successfully, you can view the mounted file system on the This PC window, as shown in Figure 10.

            If the mounting fails or times out, rectify the fault by referring to Troubleshooting.

            -
            Figure 10 Successful mounting
            +
            Figure 10 Successful mounting

            To distinguish different file systems mounted on an ECS, you can rename file systems by right-clicking a file system and choose Rename.

        -

        Troubleshooting

        If a file system is mounted to a Linux ECS and a Windows ECS, on the Windows ECS, data cannot be written to the files created by the Linux ECS. To address this problem, modify the registry and change both UID and GID values to 0 for NFS accesses from Windows. This section uses Windows Server 2012 as an example. Do as follows:

        -
        1. Choose Start > Run and enter regedit to open the registry.
        2. Enter the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default directory. See Figure 11.

          Figure 11 Entering the directory
          -

        3. Right-click the blank area and choose New > DWORD Value from the shortcut menu. Set AnonymousUid and AnonymousGid to 0. Figure 12 shows a successful operation.

          Figure 12 Adding values
          +

          Troubleshooting

          If a file system is mounted to a Linux ECS and a Windows ECS, on the Windows ECS, you cannot write data to the files created by the Linux ECS. To address this problem, modify the registry and change both UID and GID values to 0 for NFS accesses from Windows. This section uses Windows Server 2012 as an example. Do as follows:

          +
          1. Choose Start > Run and enter regedit to open the registry.
          2. Enter the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default directory. See Figure 11.

            Figure 11 Entering the directory
            +

          3. Right-click the blank area and choose New > DWORD Value from the shortcut menu. Set AnonymousUid and AnonymousGid to 0. Figure 12 shows a successful operation.

            Figure 12 Adding values

          4. After modifying the registry, restart the server for the modification to take effect.
        diff --git a/docs/sfs/umn/sfs_01_0002.html b/docs/sfs/umn/sfs_01_0002.html index f2229fd8a..92250e026 100644 --- a/docs/sfs/umn/sfs_01_0002.html +++ b/docs/sfs/umn/sfs_01_0002.html @@ -6,7 +6,7 @@

        Figure 1 shows the relationship between regions and AZs.

        Figure 1 Regions and AZs
    -

    Selecting a Region

    Select a region closest to your target users for lower network latency and quick access.

    +

    Selecting a Region

    You are advised to select a region close to you or your target users. This helps ensure low access latency.

    Selecting an AZ

    When deploying resources, consider your applications' requirements on disaster recovery (DR) and network latency.

    • For high DR capability, deploy resources in different AZs within the same region.
    • For lower network latency, deploy resources in the same AZ.
    diff --git a/docs/sfs/umn/sfs_01_0004.html b/docs/sfs/umn/sfs_01_0004.html index 1ce060865..7e7a2d5a3 100644 --- a/docs/sfs/umn/sfs_01_0004.html +++ b/docs/sfs/umn/sfs_01_0004.html @@ -8,13 +8,13 @@

SFS Turbo

Expandable to 32 TB, SFS Turbo provides fully hosted shared file storage. It features high availability and durability to support massive small files and applications requiring low latency and high IOPS. SFS Turbo is perfect to scenarios such as high-performance websites, log storage, compression and decompression, DevOps, enterprise offices, and container applications.

-
  • High-performance websites

    For I/O-intensive website services, SFS Turbo can provide shared website source code directories for multiple web servers, enabling low-latency and high-IOPS concurrent share access.

    +
    • High-performance websites

      For I/O-intensive website services, SFS Turbo can provide shared website source code directories for multiple web servers, enabling low-latency and high-IOPS concurrent shared access.

    -
    • Log storage

      SFS Turbo can provide multiple service nodes for shared log output directories, facilitating log collection and management of distributed applications.

      +
      • Log storage

        SFS Turbo can provide shared log output directories for multiple service nodes, facilitating log collection and management of distributed applications.

      -
      • DevOps

        The development directory can be shared to multiple VMs or containers, simplifying the configuration process and improving R&D experience.

        +
        • DevOps

          The development directory can be shared with multiple VMs or containers, which simplifies the configuration process and improves R&D experience.

        -
        • Enterprise offices

          Office documents of enterprises or organizations can be saved in an SFS Turbo file system for high-performance shared access.

          +
          • Enterprise OA

            Office documents of enterprises or organizations can be saved in an SFS Turbo file system for high-performance shared access.

diff --git a/docs/sfs/umn/sfs_01_0005.html b/docs/sfs/umn/sfs_01_0005.html index c5ae64761..8e87a6c9a 100644 --- a/docs/sfs/umn/sfs_01_0005.html +++ b/docs/sfs/umn/sfs_01_0005.html @@ -36,7 +36,7 @@

Large capacity, high bandwidth, and low cost

-

Application Scenarios

+

Application scenarios

Cost-sensitive workloads which require large-capacity scalability, such as media processing, file sharing, HPC, and data backup. For workloads dealing with massive small files, SFS Turbo is recommended.

@@ -72,7 +72,7 @@

Large capacity, high bandwidth, and low cost

-

Application Scenarios

+

Application scenarios

Cost-sensitive workloads which require large-capacity scalability, such as media processing, file sharing, high-performance computing, and data backup. For workloads dealing with massive small files, SFS Turbo is recommended.

@@ -86,11 +86,11 @@

SFS Turbo

- - - @@ -117,7 +117,7 @@ - @@ -180,15 +180,15 @@
Table 3 SFS Turbo file systems

Parameter

20 MB/s/TiB

+

20 MB/s/TiB

40 MB/s/TiB

+

40 MB/s/TiB

125 MB/s/TiB

+

125 MB/s/TiB

250 MB/s/TiB

1 million

Single-queue, 4 KB latency

+

Single-queue, 4 KiB latency

2–5 ms

-
Table 4 Previous-generation SFS Turbo file systems

Parameter

+
- - - - - diff --git a/docs/sfs/umn/sfs_01_0006.html b/docs/sfs/umn/sfs_01_0006.html index e60b2c09c..ff4beda7f 100644 --- a/docs/sfs/umn/sfs_01_0006.html +++ b/docs/sfs/umn/sfs_01_0006.html @@ -1,8 +1,8 @@

File System Encryption

-

SFS provides you with the encryption function. You can encrypt data on the new file systems if needed.

-

Keys for encrypting file systems are provided by Key Management Service (KMS), which is secure and convenient. You do not need to establish and maintain key management infrastructure. If you want to use your own key material, use the key import function on the KMS console to create a custom key whose key material is empty and import the key material to the custom key. For details, see section "Importing Key Materials" in Key Management Service User Guide.

+

SFS provides you with the encryption function. You can encrypt data on newly created file systems if needed.

+

Keys for encrypting file systems are provided by Key Management Service (KMS), which is secure and convenient. You do not need to establish and maintain key management infrastructure. If you want to use your own key material, use the key import function on the KMS console to create a custom key whose key material is empty and import the key material to the custom key. For details, see section "Importing Key Materials" in Key Management Service User Guide.

To use the file system encryption function, you need to authorize SFS Capacity-Oriented to access KMS when creating an SFS Capacity-Oriented file system. SFS Turbo file systems do not need authorization.

Encryption Key

Keys provided by KMS for encrypting SFS Capacity-Oriented file systems include a default key and custom keys.

  • Default key: SFS automatically creates a default key and names it sfs/default.

    The default key cannot be disabled and does not support scheduled deletion.

    diff --git a/docs/sfs/umn/sfs_01_0007.html b/docs/sfs/umn/sfs_01_0007.html index bfc91baf6..fd6b7adc2 100644 --- a/docs/sfs/umn/sfs_01_0007.html +++ b/docs/sfs/umn/sfs_01_0007.html @@ -14,12 +14,12 @@
- - diff --git a/docs/sfs/umn/sfs_01_0011.html b/docs/sfs/umn/sfs_01_0011.html index ebbaec4da..059a7a52f 100644 --- a/docs/sfs/umn/sfs_01_0011.html +++ b/docs/sfs/umn/sfs_01_0011.html @@ -6,10 +6,10 @@

SFS Capacity-Oriented

  • SFS Capacity-Oriented can be accessed only on the intranet and used only on the cloud.
  • Only NFSv3 is supported (NFSv4 is not supported).
  • A maximum of 10,000 compute nodes can be mounted to and access a single file system at the same time.
  • The maximum capacity of a single file system is 2 PB, and that of a single file is 240 TB.
  • Multi-VPC access is supported. You can add a maximum of 20 VPCs for one file system and create a maximum of 400 ACL rules for all added VPCs.
-

General Purpose File System

  • Only the NFSv3 protocol is supported (NFSv4 is not supported).
  • General purpose file systems do not support file system encryption.
  • General purpose file systems can only be accessed over the intranet.
  • A single directory can contain a maximum of 30 million files.
  • General purpose file systems cannot be mounted to 32-bit Linux ECSs.
  • The name of a general purpose file system must be globally unique. It cannot be the same as any existing general purpose file system name or one created by any other user. And it cannot be changed after the file system is created.
  • If a general purpose file system is deleted, you can create a new file system with the same name as the deleted one 30 minutes after that file system has been deleted.
  • General purpose file systems cannot be mounted to Windows ECSs.
  • Root directory permissions of general purpose file systems cannot be changed.
  • When General Purpose File System is used as the storage backend of CCE or CCI, you need to empty the in-use file systems before deleting any PVCs or PVs. If you directly delete the PVCs or PVs, the file systems may fail to be deleted. Check whether the file systems are deleted on the General Purpose File System console.

    Deleting PVCs or PVs takes some time. The billing ends until the corresponding file systems are deleted from the General Purpose File System console.

    +

    General Purpose File System

    • Only the NFSv3 protocol is supported (NFSv4 is not supported).
    • General purpose file systems do not support file system encryption.
    • General purpose file systems can only be accessed over the intranet.
    • A single directory can contain a maximum of 30 million files.
    • General purpose file systems cannot be mounted to 32-bit Linux servers.
    • The name of a general purpose file system must be globally unique. It cannot be the same as the name of any existing general purpose file system or one created by any other user. And it cannot be changed after the file system is created.
    • If a general purpose file system is deleted, you can only create a general purpose file system with the same name as the deleted one 30 minutes after that file system has been deleted.
    • General purpose file systems cannot be mounted to Windows servers.
    • General purpose file systems' root directory permissions cannot be changed.
    • When general purpose file systems are used as the storage backend of CCE or CCI, you need to empty the file systems before you can delete any PVCs or PVs. If you directly delete the PVCs or PVs, the file systems may fail to be deleted. Check whether the file systems are deleted on the General Purpose File System console.

      Deleting PVCs or PVs takes some time. The billing ends until the corresponding general purpose file systems are deleted.

    -

    SFS Turbo

    • Only the NFSv3 protocol is supported (NFSv4 is not supported).
    • A maximum of 500 compute nodes can be mounted to and access a single file system at the same time.
    • The maximum capacity of a single file system is 32 TB, and the maximum size of a single file allowed is 320 TB.
    • Maximum number of files supported by a single file system = Capacity/16. For example, the maximum number of files supported by a 500 GB file system is 32,768,000 (500 GB/16 KB = 500 x 1024 x 1024/16).
    • By default, a single directory can contain a maximum of 20 million files.

      If you need to execute the ls, du, cp, chmod, or chown command on a directory, you are advised to place no more than 500,000 files or subdirectories in that directory. Otherwise, requests may take long times as the NFS protocol sends a large number of requests to traverse directory files and requests are queueing up.

      +

      SFS Turbo

      • Only the NFSv3 protocol is supported (NFSv4 is not supported).
      • A maximum of 500 compute nodes can be mounted to and access a single file system at the same time.
      • The maximum capacity of a single file system is 32 TB, and the maximum size of a single file allowed is 320 TB.
      • Maximum number of files supported by a single file system = Capacity/16. For example, the maximum number of files supported by a 500 GB file system is 32,768,000 (500 GB/16 KB = 500 x 1024 x 1024/16).
      • By default, a single directory can contain a maximum of 20 million files.

        If you need to execute the ls, du, cp, chmod, or chown command on a directory, you are advised to place no more than 500,000 files or subdirectories in that directory. Otherwise, requests may take long times as the NFS protocol sends a large number of requests to traverse directory files and requests are queuing up.

      • The maximum full path is 4,096 bytes, and the maximum file name length is 255 bytes.
      • The maximum soft link length is 1,024 bytes.
      • The maximum number of hard links is 255.
      • The maximum directory depth is 100 layers.
      diff --git a/docs/sfs/umn/sfs_01_0013.html b/docs/sfs/umn/sfs_01_0013.html index a02ee326d..e073c26dd 100644 --- a/docs/sfs/umn/sfs_01_0013.html +++ b/docs/sfs/umn/sfs_01_0013.html @@ -31,7 +31,7 @@
- diff --git a/docs/sfs/umn/sfs_01_0024.html b/docs/sfs/umn/sfs_01_0024.html index b6fbfb468..9fc604c5a 100644 --- a/docs/sfs/umn/sfs_01_0024.html +++ b/docs/sfs/umn/sfs_01_0024.html @@ -4,7 +4,7 @@
- - -
Table 4 Previous-generation SFS Turbo file systems

Parameter

Standard

+

Standard

Standard-Enhanced

+

Standard-Enhanced

Performance

+

Performance

Performance-Enhanced

+

Performance-Enhanced

Max. bandwidth

@@ -213,7 +213,7 @@

100,000

Single-queue, 4 KB latency

+

Single-queue, 4 KiB latency

2–5 ms

Elastic Cloud Server (ECS)

Mounting an NFS File System to ECSs (Linux)

+

Mounting an NFS File System to ECSs (Linux)

Mounting an NFS File System to ECSs (Windows)

VPC provisions an isolated virtual network environment defined and managed by yourself, improving the security of cloud resources and simplifying network deployment.

-

A server cannot access file systems in a different VPC. Before using SFS, assign the file system and the servers to the same VPC.

+

A VPC enables you to provision logically isolated, configurable, and manageable virtual networks for ECSs, improving the security of cloud resources and simplifying network deployment.

+

A server cannot access file systems in a different VPC. Before using SFS, ensure that the file system and the servers are in the same VPC.

Virtual Private Cloud (VPC)

SFS Turbo ReadOnlyAccess

Read-only permissions for SFS Turbo. Users granted these permissions can only view SFS Turbo file system data.

+

Read-only permissions for SFS Turbo. Users with these permissions can only view SFS Turbo file system data.

System-defined policy

Mount point

Mount object, that is, the mount point of the file system to be mounted. Set this parameter to the mount point in the mount command that is used in Mounting an NFS File System to ECSs (Linux).

+

The mount point of the file system to be mounted. Set it to the mount point in the mount command in Mounting an NFS File System to ECSs (Linux).

/local_path

Mount point, that is, the directory created on the ECS for mounting the file system. Set this parameter to the local path in the mount command that is used in Mounting an NFS File System to ECSs (Linux).

+

A directory created on the ECS used to mount the file system. Set it to the local path in the mount command in Mounting an NFS File System to ECSs (Linux).

nfs

Mount type, that is, file system or partition type. Set it to nfs.

+

The file system or partition mount type. Set it to nfs.

vers=3,timeo=600,nolock

@@ -63,16 +63,16 @@

Procedure (Windows)

Ensure that an NFS client has been installed on the target server before mounting. This section uses Windows Server 2012 as an example to describe how to mount a file system.

-
  1. Log in to the management console using a cloud account.

    1. Log in to the management console and select a region and a project.
    2. Under Computing, click Elastic Cloud Server to switch to the ECS console.
    +
    1. Log in to the management console using a cloud account.

      1. Log in to the management console and select a region and a project.
      2. Choose Compute > Elastic Cloud Server to go to the ECS console.

    2. Log in to the ECS.
    3. Before mounting the file system, create a script named auto_mount.bat, save the script to a local host, and record the save path. The script contains the following content:

      mount -o nolock mount point corresponding drive letter
      -
      Figure 2 Saving the script
      +
      Figure 2 Saving the script

      For example, the auto_mount.bat script of a file system contains the following content:

      -

      For SFS Capacity-Oriented file systems: mount -o nolock mount point X:

      +

      For SFS Capacity-Oriented file systems: mount -o nolock Mount point X:

      • You can copy the mount command of the file system from the console.
      • After the script is created, manually run the script in the Command Prompt to ensure that the script can be executed successfully. If you can view the file system in This PC after the script execution, the script can be executed properly.
      • This .bat script cannot be stored in the same path in 4 that stores the .vbs file. In this example, the .bat script is stored in C:\test\.

    4. Create a .txt file whose name is XXX.vbs and save the file to the directory C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup. The file contains the following content:

      set ws=WScript.CreateObject("WScript.Shell") 
       ws.Run "Local path and script name of the auto_mount.bat script /start", 0
      -
      Figure 3 Creating .vbs file
      +
      Figure 3 Creating .vbs file

      In this example, the local path of the auto_mount.bat script is C:\test\. Therefore, the content in the .vbs file is as follows:

      set ws=WScript.CreateObject("WScript.Shell") 
       ws.Run "C:\test\auto_mount.bat /start",0
      diff --git a/docs/sfs/umn/sfs_01_0026.html b/docs/sfs/umn/sfs_01_0026.html index fdf06abdd..9734f6351 100644 --- a/docs/sfs/umn/sfs_01_0026.html +++ b/docs/sfs/umn/sfs_01_0026.html @@ -4,15 +4,15 @@

      If a file system is no longer used and needs to be deleted, you are advised to unmount the file system and then delete it.

      Prerequisites

      Before unmounting a file system, stop the process and read/write operations.

      -

      Linux OS

      1. Log in to the management console using a cloud account.

        1. Log in to the management console and select a region and a project.
        2. Under Computing, click Elastic Cloud Server to go to the ECS console.
        +

        Linux OS

        1. Log in to the management console using a cloud account.

          1. Log in to the management console and select a region and a project.
          2. Choose Compute > Elastic Cloud Server to go to the ECS console.

        2. Log in to the ECS.
        3. Run the following command:

          umount Local path

          Local path: An ECS local directory where the file system is mounted, for example, /local_path.

          Before running the umount command, stop all read and write operations related to the file system and exit from the local path. Or, the unmounting will fail.

        -

        Windows OS

        1. Log in to the management console using a cloud account.

          1. Log in to the management console and select a region and a project.
          2. Under Computing, click Elastic Cloud Server to go to the ECS console.
          -

        2. Log in to the ECS.
        3. Right-click the file system to be unmounted and choose Disconnect.

          Figure 1 Unmounting
          +

          Windows OS

          1. Log in to the management console using a cloud account.

            1. Log in to the management console and select a region and a project.
            2. Choose Compute > Elastic Cloud Server to go to the ECS console.
            +

          2. Log in to the ECS.
          3. Right-click the file system to be unmounted and choose Disconnect.

            Figure 1 Unmounting

          4. If the file system disappears from the network location, it has been unmounted.
        diff --git a/docs/sfs/umn/sfs_01_0027.html b/docs/sfs/umn/sfs_01_0027.html index 9ec7daf10..1ebc95049 100644 --- a/docs/sfs/umn/sfs_01_0027.html +++ b/docs/sfs/umn/sfs_01_0027.html @@ -4,30 +4,30 @@

        This section explains how to enable or add a software repository in CentOS, SUSE, and Ubuntu.

        CentOS

        1. Run the following command to check whether a software repository has been enabled.

          yum repolist all

          If status is disabled, as shown in Figure 1, no software repository has been enabled. Proceed to the next step.

          -
          Figure 1 Checking software repositories
          +
          Figure 1 Checking software repositories

        2. Run the following command to enable a software repository. This step uses Public-OTC-CentOS-7-Base as an example.

          yum-config-manager --enable Public-OTC-CentOS-7-Base

          -
          Figure 2 Enabling a software repository
          +
          Figure 2 Enabling a software repository

        3. Run the following command to check whether the software repository described in step 2 has been enabled.

          yum repolist all

          -
          If status is enabled, as shown in Figure 3, the software repository has been enabled.
          Figure 3 Checking whether the software repository has been enabled
          +
          If status is enabled, as shown in Figure 3, the software repository has been enabled.
          Figure 3 Checking whether the software repository has been enabled

        SUSE

        1. Run the following command to check whether a software repository has been enabled.

          zypper lr

          If no software repository is detected, as shown in Figure 4, proceed to the next step.

          -
          Figure 4 Checking software repositories
          -

        2. Run the following command to add a software repository. This step uses opensuse12.2 as an example.

          zypper addrepo http://download.opensuse.org/distribution/12.2/repo/oss/ opensuse-main
          Figure 5 Adding a software repository
          +
          Figure 4 Checking software repositories
          +

        3. Run the following command to add a software repository. This step uses opensuse12.2 as an example.

          zypper addrepo http://download.opensuse.org/distribution/12.2/repo/oss/ opensuse-main
          Figure 5 Adding a software repository

        4. Run the following command to update and add software repositories.

          zypper refresh

          -
          Figure 6 Updating and adding repositories
          +
          Figure 6 Updating and adding repositories

        5. Run the following command to check whether the software repository described in step 2 has been enabled.

          zypper lr

          -
          If Enabled is Yes, as shown in Figure 7, the software repository has been enabled.
          Figure 7 Checking whether the software repository has been enabled
          +
          If Enabled is Yes, as shown in Figure 7, the software repository has been enabled.
          Figure 7 Checking whether the software repository has been enabled

        -

        Ubuntu

        1. Run the following command to add a software repository.

          apt-add-repository http://archive.canonical.com/ubuntu
          Figure 8 Adding a software repository
          +

          Ubuntu

          1. Run the following command to add a software repository.

            apt-add-repository http://archive.canonical.com/ubuntu
            Figure 8 Adding a software repository

          2. Run the following command to update and add software repositories.

            apt-get update

            -
            Figure 9 Updating and adding repositories
            +
            Figure 9 Updating and adding repositories

          diff --git a/docs/sfs/umn/sfs_01_0032.html b/docs/sfs/umn/sfs_01_0032.html index c19a2022a..cde2c01d0 100644 --- a/docs/sfs/umn/sfs_01_0032.html +++ b/docs/sfs/umn/sfs_01_0032.html @@ -4,12 +4,12 @@

          This chapter describes how to use IAM to implement fine-grained permissions control for your SFS resources. With IAM, you can:

          • Create IAM users for employees based on your enterprise's organizational structure. Each IAM user will have their own security credentials for accessing SFS resources.
          • Grant only the permissions required for users to perform a specific task.

          If your cloud account does not require individual IAM users, skip this section.

          -

          This section describes the procedure for granting permissions (see Figure 1).

          +

          This section describes the procedure for granting permissions (see Figure 1).

          Prerequisites

          Learn about the permissions (see Permissions) supported by SFS and choose policies or roles according to your requirements.

          -

          Restrictions

          • Both system-defined policies and custom policies are supported in SFS Turbo file systems.
          +

          Constraints

          • Both system-defined policies and custom policies are supported in SFS Turbo file systems.
          -

          Process Flow

          Figure 1 Process for granting SFS permissions
          +

          Process Flow

          Figure 1 Process of granting SFS Turbo permissions
          1. Create a user group and assign permissions to it.

            Create a user group on the IAM console, and attach the SFS Turbo ReadOnlyAccess policy to the group.

          2. Create a user and add it to a user group.

            Create a user on the IAM console and add the user to the group created in 1.

          3. Log in and verify permissions.

            Log in to the SFS console using the created user, and verify that the user only has read permissions for SFS.

            @@ -23,3 +23,10 @@
          + + \ No newline at end of file diff --git a/docs/sfs/umn/sfs_01_0033.html b/docs/sfs/umn/sfs_01_0033.html index 77f3a54fb..88fdf71be 100644 --- a/docs/sfs/umn/sfs_01_0033.html +++ b/docs/sfs/umn/sfs_01_0033.html @@ -1,7 +1,7 @@

          Creating a Custom Policy

          -

          Custom policies can be created to supplement the system-defined policies of SFS. For the actions supported for custom policies, see section "Permissions Policies and Supported Actions" in the Scalable File Service API Reference.

          +

          Custom policies can be created to supplement the system-defined policies of SFS. For the actions supported for custom policies, see section "Permissions Policies and Supported Actions" in the Scalable File Service API Reference.

          You can create custom policies in either of the following two ways:

          • Visual editor: Select cloud services, actions, resources, and request conditions. This does not require knowledge of policy syntax.
          • JSON: Edit JSON policies from scratch or based on an existing policy.

          This section provides examples of common custom SFS policies.

          diff --git a/docs/sfs/umn/sfs_01_0036.html b/docs/sfs/umn/sfs_01_0036.html index 9c5d3703f..47d0d73c2 100644 --- a/docs/sfs/umn/sfs_01_0036.html +++ b/docs/sfs/umn/sfs_01_0036.html @@ -1,16 +1,16 @@

          Configuring Multi-VPC Access

          -

          VPC provisions an isolated virtual network environment defined and managed by yourself, improving the security of cloud resources and simplifying network deployment. When using SFS, a file system and the associated ECSs need to belong to the same VPC for file sharing.

          +

          A VPC enables you to provision logically isolated, configurable, and manageable virtual networks for ECSs, improving the security of cloud resources and simplifying network deployment. When using SFS to share files, a file system and the ECSs need to be in the same VPC.

          In addition, VPC can use network access control lists (ACLs) to implement access control. A network ACL is an access control policy system for one or more subnets. Based on inbound and outbound rules, it determines whether data packets are allowed in or out of any associated subnet. In the VPC list of a file system, each time an authorized address is added and corresponding permissions are set, a network ACL is created.

          For more information about VPC, see the Virtual Private Cloud User Guide.

          -

          Scenarios

          Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that ECSs in different VPCs can share the same file system, as long as the VPCs that the ECSs belong to are added as authorized VPCs of the file system or the ECS IP addresses are added as authorized IP addresses of the VPCs.

          -

          This section describes how to configure multi-VPC access for an SFS Capacity-Oriented or a general purpose file system.

          +

          Scenarios

          You can configure multiple VPCs for an SFS Capacity-Oriented or general purpose file system so that ECSs in different VPCs can share the same file system, as long as the VPCs are added as authorized VPCs or the ECS IP addresses are added as authorized IP addresses of the VPC.

          +

          This section describes how to configure multi-VPC access for an SFS Capacity-Oriented, or a general purpose file system.

          -

          Restrictions

          • You can add a maximum of 20 VPCs for each file system. A maximum of 400 ACL rules for added VPCs can be created. When adding a VPC, the default IP address 0.0.0.0/0 is automatically added.
          • If a VPC added to a file system has been deleted from the VPC console, the IP addresses or IP address ranges of this VPC can still be seen as activated in the file system's VPC list. But this VPC can no longer be used and you are advised to delete it from the list.
          • You need to configure a VPC endpoint for each VPC you want to create the general purpose file system. Or, the file system will fail to be mounted.
          +

          Constraints

          • You can add a maximum of 20 VPCs for each file system. A maximum of 400 ACL rules for added VPCs can be created. When adding a VPC, the default IP address 0.0.0.0/0 is automatically added.
          • If a VPC added to a file system has been deleted from the VPC console, the IP addresses or IP address ranges of this VPC can still be seen as active in the file system's VPC list. But this VPC can no longer be used and you are advised to delete it from the list.
          • You need to configure a VPC endpoint for each VPC you want to add as an authorized VPC of a general purpose file system. Or, the file system will fail to be mounted.
          -

          Procedure for SFS Capacity-Oriented

          1. Log in to the SFS console.
          2. In the file system list, click the name of the target file system. On the displayed page, locate the Authorizations area.
          3. If no VPCs are available, create one. You can add multiple VPCs for a file system. Click Add Authorized VPC and the Add Authorized VPC dialog box is displayed. See Figure 1.

            You can select multiple VPCs from the drop-down list.

            -
            Figure 1 Adding VPCs
            +

            Procedure for SFS Capacity-Oriented

            1. Log in to the SFS console.
            2. In the file system list, click the name of the target file system. On the displayed page, locate the Authorizations area.
            3. If no VPCs are available, create one. You can add multiple VPCs for a file system. Click Add Authorized VPC to open the Add Authorized VPC dialog box, as shown in Figure 1.

              You can select multiple VPCs from the drop-down list.

              +
              Figure 1 Adding VPCs

            4. Click OK. A successfully added VPC is displayed in the list. When adding a VPC, the default IP address 0.0.0.0/0 is automatically added. The default read/write permission is Read-write, the default user permission is no_all_squash, and the default root permission is no_root_squash.
            5. View the VPC information in the VPC list. For details about the parameters, see Table 1.

              @@ -36,7 +36,7 @@
              Table 1 Parameter description

              Parameter

              -

            6. Click on the left of the VPC name to view details about the IP addresses/segments added to this VPC. You can add, edit, or delete IP addresses/segments. In the Operation column of the target VPC, click Add. The Add Authorized Address/Segment dialog box is displayed. See Figure 2. Table 2 describes the parameters to be configured.

              Figure 2 Adding an authorized address or segment
              +

            7. Click on the left of the VPC name to view details about the IP addresses/segments added to this VPC. You can add, edit, or delete IP addresses/segments. In the Operation column of the target VPC, click Add. The Add Authorized Address/Segment dialog box is displayed, as shown in Figure 2. Table 2 describes the parameters to be configured.

              Figure 2 Adding an authorized address or segment
              @@ -46,7 +46,7 @@ -
              Table 2 Parameter description

              Parameter

              Authorized Address/Segment

              • Enter one IPv4 address or address segment at a time.
              • The entered IPv4 address or address segment must be valid and cannot be one starting with 0 except 0.0.0.0/0. If you add 0.0.0.0/0, any IP address within this VPC will be authorized for accessing the file system. Class D and class E IP addresses are not supported. Therefore, do not enter an IP address or address segment starting with any number ranging from 224 to 255, for example 224.0.0.1 or 255.255.255.255. IP addresses or address segments starting with 127 are also not supported. If an invalid IP address or address segment is used, the access rule may fail to be added or the added access rule cannot take effect.
              • Do not enter multiple IP addresses (separated using commas) at a time. For example, do not enter 10.0.1.32,10.5.5.10.
              • If you enter an IP address segment, enter it in the format of IP address/mask. For example, enter 192.168.1.0/24. Do not enter in the format of 192.168.1.0-255 or 192.168.1.0-192.168.1.255. The number of bits in a subnet mask must be an integer ranging from 0 to 31, and mask value 0 is valid only in 0.0.0.0/0.
              +
              • Enter one IPv4 address or range in each line.
              • Enter a valid IPv4 address or range that is not starting with 0 except 0.0.0.0/0. If you add 0.0.0.0/0, any IP address within this VPC will be authorized to access the file system. Do not enter an IP address or IP address range starting with any number ranging from 224 to 255, for example 224.0.0.1 or 255.255.255.255, because class D and class E IP addresses are not supported. IP addresses starting with 127 are also not supported. If you enter an invalid IP address or IP address range, the permission rule may fail to be added, or the authorization will not work.
              • Do not enter multiple IP addresses (separated using commas) at a time. For example, do not enter 10.0.1.32,10.5.5.10.
              • If you enter an IP address range, enter it in the format of IP address/mask. For example, enter 192.168.1.0/24. Do not use the following format:192.168.1.0-255 or 192.168.1.0-192.168.1.255. The number of bits in a subnet mask must be an integer ranging from 0 to 31, and mask value 0 is valid only in 0.0.0.0/0.

              Read-Write Permission

              @@ -75,11 +75,11 @@
              -

              For an ECS in VPC A, its IP address can be added to the authorized IP address list of VPC B, but the file system of VPC B cannot be mounted to this ECS. The VPC of the ECS and the file system must be the same.

              +

              For an ECS in VPC A, its IP address can be added as an authorized IP address of VPC B, but the file system in VPC B cannot be mounted to this ECS. The VPC used by the ECS and the file system must be the same.

            -

            Procedure for General Purpose File System

            1. Log in to the SFS console.
            2. In the file system list, click the name of the target file system. On the displayed page, locate the permissions list.
            3. If no VPCs are available, create one. Click Add VPC.

              Table 3 describes the parameters.
              Figure 3 Add VPC
              +

              Procedure for General Purpose File System

              1. Log in to the SFS console.
              2. In the file system list, click the name of the target file system. On the displayed page, locate the permissions list.
              3. If no VPCs are available, create one. Click Add VPC.

                Table 3 describes the parameters.
                Figure 3 Add VPC
                @@ -94,7 +94,7 @@ - @@ -102,7 +102,7 @@

              4. Click OK. The added VPC will be displayed in the list.
              5. On the VPC Endpoints page, click Create VPC Endpoint.

                The Create VPC Endpoint page is displayed.

                -
                Figure 4 Create VPC Endpoint
                +
                Figure 4 Create VPC Endpoint

              6. Set the parameters as prompted.

              7. Table 3 Parameter description

                Parameter

                Authorizations

                The value can be Read/Write or Read-only. The default value is Read/Write.

                +

                The value can be Read/Write or Read-only. The default value is Read/Write.

                @@ -134,7 +134,7 @@

                VPC endpoint tags. Each tag consists of a key and a value.

                Tag keys and values must meet the requirements listed in Table 5.

                NOTE:

                If a predefined tag has been created in TMS, you can select the corresponding tag key and value.

                -

                For details about predefined tags, see section "Predefined Tag Overview" in the Tag Management Service User Guide.

                +

                For details about predefined tags, see section "Predefined Tag Overview" in the Tag Management Service User Guide.

                diff --git a/docs/sfs/umn/sfs_01_0038.html b/docs/sfs/umn/sfs_01_0038.html index 8f447be85..a0051db9b 100644 --- a/docs/sfs/umn/sfs_01_0038.html +++ b/docs/sfs/umn/sfs_01_0038.html @@ -2,29 +2,29 @@

                Configuring DNS

                A DNS server is used to resolve domain names of file systems. The DNS server IP address is 100.125.4.25.

                -

                Scenarios

                By default, the IP address of the DNS server used to resolve domain names of file systems is automatically configured on ECSs when creating ECSs. No manual configuration is needed except when the resolution fails due to a change in the DNS server IP address.

                +

                Scenarios

                By default, the IP address of the DNS server used to resolve domain names of file systems is automatically configured on ECSs when they are created. No manual configuration is needed except when the resolution fails due to a change in the DNS server IP address.

                Windows Server 2012 is used as an example in the operation procedures for Windows.

                -

                Procedure (Linux)

                1. Log in to the ECS as user root.
                2. Run the vi /etc/resolv.conf command to edit the /etc/resolv.conf file. Add the DNS server IP address above the existing nameserver information. See Figure 1.

                  Figure 1 Configuring DNS
                  +

                  Procedure (Linux)

                  1. Log in to the ECS as user root.
                  2. Run the vi /etc/resolv.conf command to edit the /etc/resolv.conf file. Add the DNS server IP address above the existing nameserver information. See Figure 1.

                    Figure 1 Configuring DNS
                    The format is as follows:
                    nameserver 100.125.4.25

                  3. Press Esc, input :wq, and press Enter to save the changes and exit the vi editor.
                  4. Run the following command to check whether the IP address is successfully added:

                    cat /etc/resolv.conf

                  5. Run the following command to check whether an IP address can be resolved from the file system domain name:

                    nslookup File system domain name

                    Obtain the file system domain name from the file system mount point.

                    -

                  6. (Optional) In a network environment of the DHCP server, edit the /etc/resolv.conf file to prevent the file from being automatically modified upon an ECS startup, and prevent the DNS server IP address added in 2 from being reset.

                    1. Run the following command to lock the file:
                      chattr +i /etc/resolv.conf

                      Run the chattr -i /etc/resolv.conf command to unlock the file if needed.

                      +

                    2. (Optional) In a network environment that uses the DHCP server, edit the /etc/resolv.conf file to prevent the file from being automatically modified upon an ECS restart, and prevent the DNS server IP address added in 2 from being reset.

                      1. Run the following command to lock the file:
                        chattr +i /etc/resolv.conf

                        Run the chattr -i /etc/resolv.conf command to unlock the file if needed.

                      2. Run the following command to check whether the editing is successful:

                        lsattr /etc/resolv.conf

                        If the information shown in Figure 2 is displayed, the file is locked.

                        -
                        Figure 2 A locked file
                        +
                        Figure 2 A locked file

                  -

                  Procedure (Windows)

                  1. Go to the ECS console and log in to the ECS running Windows Server 2012.
                  2. Click This PC in the lower left corner.
                  3. On the page that is displayed, right-click Network and choose Properties from the drop-down list. The Network and Sharing Center page is displayed, as shown in Figure 3. Click Local Area Connection.

                    Figure 3 Page for network and sharing center
                    -

                  4. In the Activity area, select Properties. See Figure 4.

                    Figure 4 Local area connection
                    -

                  5. In the Local Area Connection Properties dialog box that is displayed, select Internet Protocol Version 4 (TCP/IPv4) and click Properties. See Figure 5.

                    Figure 5 Local area connection properties
                    -

                  6. In the dialog box that is displayed, select Use the following DNS server addresses: and configure DNS, as shown in Figure 6. The DNS server IP address is 100.125.4.25. After completing the configuration, click OK.

                    Figure 6 Configuring DNS on Windows
                    +

                    Procedure (Windows)

                    1. Go to the ECS console and log in to the ECS running Windows Server 2012.
                    2. Click This PC in the lower left corner.
                    3. On the page that is displayed, right-click Network and choose Properties from the drop-down list. The Network and Sharing Center page is displayed, as shown in Figure 3. Click Local Area Connection.

                      Figure 3 Page for network and sharing center
                      +

                    4. In the Activity area, select Properties. See Figure 4.

                      Figure 4 Local area connection
                      +

                    5. In the Local Area Connection Properties dialog box that is displayed, select Internet Protocol Version 4 (TCP/IPv4) and click Properties. See Figure 5.

                      Figure 5 Local area connection properties
                      +

                    6. In the dialog box that is displayed, select Use the following DNS server addresses: and configure DNS, as shown in Figure 6. The DNS server IP address is 100.125.4.25. After completing the configuration, click OK.

                      Figure 6 Configuring DNS on Windows

                  diff --git a/docs/sfs/umn/sfs_01_0039.html b/docs/sfs/umn/sfs_01_0039.html index 4f2a05775..a276a6310 100644 --- a/docs/sfs/umn/sfs_01_0039.html +++ b/docs/sfs/umn/sfs_01_0039.html @@ -3,9 +3,9 @@

                  File System Resizing

                  Scenarios

                  You can expand or shrink the capacity of a file system when needed.

                  -

                  Constraints

                  SFS Turbo file systems can only have their capacities expanded, not reduced. And only In-use file systems can be expanded.

                  -

                  SFS Capacity-Oriented file systems support resizing, during which services are not affected. Only In-use file systems can be expanded.

                  -

                  SFS Turbo file systems support online capacity expansion, during which mounting a file system may fail and the connection being used for mounting will experience about a 30-second (max. 3 minutes) I/O delay. So you are advised to expand capacity during off-peak hours. Note that only In-use file systems can be expanded.

                  +

                  Constraints

                  SFS Turbo file systems can only have their capacities expanded, not reduced. And only in-use file systems can be expanded.

                  +

                  SFS Capacity-Oriented file systems support resizing, during which services are not affected. Only in-use file systems can be expanded.

                  +

                  SFS Turbo file systems support online capacity expansion, during which mounting a file system may fail and the connection being used for mounting will experience about a 30-second (max. 3 minutes) I/O delay. So you are advised to expand capacity during off-peak hours. Note that only in-use file systems can be expanded.

                  General purpose file systems have no capacity limit and do not support resizing.

                  Precautions

                  The rules for resizing an SFS Capacity-Oriented file system are as follows:

                  @@ -15,8 +15,8 @@
                -

                Procedure

                1. Log in to the SFS console.
                2. In the file system list, click Resize or Expand Capacity in the row of the desired file system. The following dialog box is displayed

                  Figure 1 Resizing an SFS Capacity-Oriented file system
                  -
                  Figure 2 Expanding an SFS Turbo file system
                  +

                  Procedure

                  1. Log in to the SFS console.
                  2. In the file system list, click Resize or Expand Capacity in the row of the desired file system. A dialog box is displayed.

                    Figure 1 Resizing an SFS Capacity-Oriented file system
                    +
                    Figure 2 Expanding an SFS Turbo file system

                  3. Enter a new capacity and click OK. The following tables describe the parameters.

                Table 4 Parameters for purchasing an endpoint

                Parameter

                @@ -59,7 +59,7 @@ diff --git a/docs/sfs/umn/sfs_01_0042.html b/docs/sfs/umn/sfs_01_0042.html index 18b5a311b..56df8806e 100644 --- a/docs/sfs/umn/sfs_01_0042.html +++ b/docs/sfs/umn/sfs_01_0042.html @@ -3,11 +3,11 @@

                Encryption

                Creating an Encrypted File System

                To use the file system encryption function, you need to authorize SFS Capacity-Oriented to access KMS when creating an SFS Capacity-Oriented file system. If you have the Security Administrator rights, grant SFS the permissions to access KMS directly. Otherwise, you need to contact the system administrator to obtain the "Security Administrator" rights first. For details, see File System Encryption.

                SFS Turbo file systems do not require authorization.

                -

                You can create an encrypted or non-encrypted file system, but you cannot change the encryption settings of an existing file system.

                +

                You can create a file system that is encrypted or not, but you cannot change the encryption attribute of an existing file system.

                For details about how to create an encrypted file system, see Create a File System.

                Unmounting an Encrypted File System

                If the custom key used by the encrypted file system is disabled or scheduled for deletion, the file system can only be used within a certain period of time (30s by default). Exercise caution in this case.

                -

                For details about how to unmount a file system, see Unmount a File System

                +

                For details about how to unmount the file system, see Unmount a File System.

                diff --git a/docs/sfs/umn/sfs_01_0043.html b/docs/sfs/umn/sfs_01_0043.html index 7018f5dbc..d072be5ec 100644 --- a/docs/sfs/umn/sfs_01_0043.html +++ b/docs/sfs/umn/sfs_01_0043.html @@ -1,12 +1,14 @@

                Tags

                -

                This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see section Create a File System.

                +

                This section describes how to add tags to existing file systems. You can also add tags when creating file systems. For details, see Create a File System.

                Tags are used to identify and classify file systems.

                -
                • Tags are composed of key-value pairs.
                  • A tag key can contain a maximum of 36 characters and cannot be left blank. It must start with a letter and can only contain letters, digits, hyphens (-), underscores (_), and at signs (@).
                  • A tag value can contain a maximum of 43 characters and can be an empty string. It must start with a letter and can only contain letters, digits, hyphens (-), underscores (_), and at signs (@).
                  -
                • You can add a maximum of 20 tags to a file system.
                • The tag keys of the same file system must be unique.
                • Once created, the tag keys of the file system cannot be edited. You can only edit the tag values. You can delete tags.
                -

                Procedure

                1. Log in to the SFS console.
                2. In the file system list, find the file system to which you want to add tags and click the name of it. The file system details page is displayed, as shown in Figure 1.

                  Figure 1 Managing file system tags
                  -

                3. Click the Tags tab.
                4. On the Tags tab page, click Edit Tag to open the Edit Tag dialog box.
                5. Add the key and value of the tag and click OK.

                  • Key: This parameter is mandatory.
                  • Value: This parameter is optional.
                  +
                  • Tags are composed of key-value pairs.
                    • A tag key can contain a maximum of 128 characters and cannot be left blank. For a general purpose file system, a tag key can contain letters, digits, spaces, and special characters (_.:=+-@), but it cannot start or end with a space or start with _sys_. For an SFS Turbo file system, a tag key can contain only letters, digits, hyphens (-), underscores (_), and at signs (@).
                    • A tag value can contain a maximum of 255 characters and can be an empty string. For a general purpose file system, a tag value can contain letters, digits, spaces, and special characters (_.:/=+-@), but it cannot start or end with a space. For an SFS Turbo file system, a tag value can contain only letters, digits, hyphens (-), and underscores (_).
                    +
                  • You can add a maximum of 20 tags to a file system.
                  • Tag keys of the same file system must be unique.
                  • After adding a tag to a file system, you can edit the tag key and value, or delete the tag.
                  +

                  Procedure

                  1. Log in to the SFS console.
                  2. In the file system list, find the file system to which you want to add tags and click its name to go to its details page.

                    Figure 1 Tags of a general purpose file system
                    +
                    Figure 2 Tags of an SFS Turbo file system
                    +

                  3. Click the Tags tab.
                  4. On the Tags tab, click Edit Tag.

                    The Edit Tag dialog box is displayed.

                    +

                  5. Add the key and value of the tag and click OK.

                    • Key: This parameter is mandatory.
                    • Value: This parameter is optional.

                    Return to the tag list, and you can see the tags you have just added. You can edit and delete the added tags.

                  diff --git a/docs/sfs/umn/sfs_01_0044.html b/docs/sfs/umn/sfs_01_0044.html index df7ca9f41..6b1b16a92 100644 --- a/docs/sfs/umn/sfs_01_0044.html +++ b/docs/sfs/umn/sfs_01_0044.html @@ -1,9 +1,9 @@

                  Backup

                  -

                  You can only back up SFS Turbo file systems using CBR while you cannot back up SFS Capacity-Oriented and general purpose file systems.

                  -

                  Scenarios

                  A backup is a complete copy of an SFS Turbo file system at a specific time and it records all configuration data and service data at that time.

                  -

                  For example, if a file system is faulty or encounters a logical error (for example, mis-deletion, hacker attacks, and virus infection), you can use data backups to restore data quickly.

                  +

                  You can only back up SFS Turbo file systems using CBR but you cannot back up SFS Capacity-Oriented and general purpose file systems.

                  +

                  Scenarios

                  A backup is a complete copy of an SFS Turbo file system at a specific time and it records all configuration data and service data at that time.

                  +

                  For example, if a file system is faulty or encounters a logical error (like accidental deletion, hacker attack, or virus infection), you can use data backups to restore data quickly.

                  Creating a File System Backup

                  Ensure that the target file system is available. Or, the backup task cannot start. This procedure describes how to manually create a file system backup.

                  If any modification is made to a file system during the backup, inconsistencies may occur. For example, there may be duplicate or deleted data, or data discrepancies. Such a modification includes a write, rename, move or delete. To ensure backup data consistency, you are advised to stop the applications or programs that use the file system during the backup, or schedule the backup at off-peak hours.

                  @@ -13,10 +13,10 @@

                  Using a Backup to Create a File System

                  In case of a virus attack, accidental deletion, or software or hardware fault, you can use an SFS Turbo file system backup to create a new file system. Data on the new file system is the same as that in the backup.

                  1. Log in to CBR Console.

                    1. Log in to the management console.
                    2. Click in the upper left corner and select your desired region and project.
                    3. Choose Storage > Cloud Backup and Recovery > SFS Turbo Backups.
                    -

                  2. Click the Backups tab and locate the desired backup.
                  3. If the status of the target backup is Available, click Create File System in the Operation column of the backup.
                  4. Set the file system parameters. See Figure 1.

                    Figure 1 Create File System
                    -
                    • For detailed parameter descriptions, see table "Parameter description" under Table 3.
                    +

                  5. Click the Backups tab and locate the desired backup.
                  6. If the status of the target backup is Available, click Create File System in the Operation column of the backup.
                  7. Set the file system parameters. See Figure 1.

                    Figure 1 Create File System
                    +
                    • For detailed parameter descriptions, see table "File system parameters" under Table 3.
                    -

                  8. Click Next.
                  9. Go back to the file system list and check whether the file system is successfully created.

                    You will see the file system status change as follows: Creating, Available, Restoring, Available. You may not notice the Restoring status because Instant Restore is supported and the restoration speed is very fast. After the file system status has changed from Creating to Available, the file system is successfully created. After the status has changed from Restoring to Available, backup data has been successfully restored to the created file system.

                    +

                  10. Click Create Now.
                  11. Go back to the file system list and check whether the file system is successfully created.

                    You will see the file system status change as follows: Creating, Available, Restoring, Available. You may not notice the Restoring status because Instant Restore is supported and the restoration speed is very fast. After the file system status has changed from Creating to Available, the file system is successfully created. After the status has changed from Restoring to Available, backup data has been successfully restored to the created file system.

                  diff --git a/docs/sfs/umn/sfs_01_0047.html b/docs/sfs/umn/sfs_01_0047.html index ef68f3f6d..b14cf6875 100644 --- a/docs/sfs/umn/sfs_01_0047.html +++ b/docs/sfs/umn/sfs_01_0047.html @@ -2,121 +2,148 @@

                  SFS Metrics

                  General purpose file systems do not support monitoring. This section describes only the monitoring metrics of SFS Capacity-Oriented.

                  -

                  Function

                  This section describes metrics reported by Scalable File Service (SFS) as well as their namespaces and dimensions. You can use the console or APIs provided by Cloud Eye to query the metrics generated for SFS.

                  +

                  Function

                  This section describes the SFS metrics reported to Cloud Eye as well as their namespaces and dimensions. You can use the Cloud Eye console or APIs provided by Cloud Eye to query the SFS metrics and alarms.

                  +

                  Cloud Eye can monitor dimensions nested to a maximum depth of four levels (levels 0 to 3). 3 is the deepest level.

                  +

                  Namespace

                  SYS.SFS

                  Metrics

                  -
                Table 1 SFS Capacity-Oriented file system resizing parameters

                Parameter

                New Capacity

                New storage capacity of the file system

                -
                Value constraints:
                • For a Standard, Standard-Enhanced, Performance, or Performance-Enhanced file system, the minimum expansion increment is 100 GB. A Standard or Performance file system can be expanded to up to 32 TB, and a Standard - Enhanced or Performance - Enhanced file system can be expanded to up to 320 TB.
                • For a 20 MB/s/TiB, 40 MB/s/TiB, 125 MB/s/TiB, or 250 MB/s/TiB file system, the expansion increment is 1.2 TB, and a file system can be expanded to up to 1 PB.
                +
                Value constraints:
                • For a Standard, Standard-Enhanced, Performance, or Performance-Enhanced file system, the minimum expansion increment is 100 GB. A Standard or Performance file system can be expanded to up to 32 TB, and a Standard-Enhanced or Performance-Enhanced file system can be expanded to up to 320 TB.
                • For a 20 MB/s/TiB, 40 MB/s/TiB, 125 MB/s/TiB, or 250 MB/s/TiB file system, the expansion increment is 1.2 TB, and the increment must be an integer multiple of 1.2 TB. The new capacity can be no more than 1 PB.
                Table 1 SFS metrics

                Metric ID

                +
                - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + @@ -132,7 +159,7 @@ - @@ -140,7 +167,7 @@

                Viewing Monitoring Statistics

                1. Log in to the management console.
                2. Choose Management & Deployment > Cloud Eye > Cloud Service Monitoring > Scalable File Service. In the file system list, click View Metric in the Operation column of the desired file system.
                3. View the SFS file system monitoring data by metric or monitored duration.

                  Figure 1 shows the monitoring graphs. For more information about Cloud Eye, see the Cloud Eye User Guide.

                  -
                  Figure 1 Monitoring graphs
                  +
                  Figure 1 Monitoring graphs

                diff --git a/docs/sfs/umn/sfs_01_0048.html b/docs/sfs/umn/sfs_01_0048.html index e4e93e3d5..6eb2c2d01 100644 --- a/docs/sfs/umn/sfs_01_0048.html +++ b/docs/sfs/umn/sfs_01_0048.html @@ -1,136 +1,168 @@

                SFS Turbo Metrics

                -

                Function

                This section describes metrics reported by SFS Turbo to Cloud Eye as well as their namespaces and dimensions. You can use the console or APIs provided by Cloud Eye to query the metrics generated for SFS Turbo.

                +

                Function

                This section describes the SFS metrics reported to Cloud Eye as well as their namespaces and dimensions. You can use the Cloud Eye console or APIs provided by Cloud Eye to query the SFS metrics and alarms.

                +

                Cloud Eye can monitor dimensions nested to a maximum depth of four levels (levels 0 to 3). 3 is the deepest level.

                +

                Namespace

                SYS.EFS

                Metrics

                -
                Table 1 SFS metrics

                Metric ID

                Metric Name

                +

                Metric Name

                Description

                +

                Description

                Value Range

                +

                Value Range

                Monitored Object

                +

                Unit

                Monitoring Period (Raw Data)

                +

                Conversion Rule

                +

                Dimension

                +

                Monitoring Period (Raw Data)

                read_bandwidth

                +

                read_bandwidth

                Read Bandwidth

                +

                Read Bandwidth

                Read bandwidth of a file system within a monitoring period

                -

                Unit: byte/s

                +

                Read bandwidth of a file system within a monitoring period

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS file system

                +

                bytes/s

                4 minutes

                +

                1024 (IEC)

                +

                share_id

                +

                4 minutes

                write_bandwidth

                +

                write_bandwidth

                Write Bandwidth

                +

                Write Bandwidth

                Write bandwidth of a file system within a monitoring period

                -

                Unit: byte/s

                +

                Write bandwidth of a file system within a monitoring period

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS file system

                +

                bytes/s

                4 minutes

                +

                1024 (IEC)

                +

                share_id

                +

                4 minutes

                rw_bandwidth

                +

                rw_bandwidth

                Read and Write Bandwidth

                +

                Read and Write Bandwidth

                Read and write bandwidth of a file system within a monitoring period

                -

                Unit: byte/s

                +

                Read and write bandwidth of a file system within a monitoring period

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS file system

                +

                bytes/s

                4 minutes

                +

                1024 (IEC)

                +

                share_id

                +

                4 minutes

                read_ops

                +

                read_ops

                Read OPS

                +

                Read OPS

                Read operations of a file system within a monitoring period

                -

                Unit: count/s

                +

                Read operations of a file system within a monitoring period

                ≥ 0 counts/s

                +

                ≥ 0

                SFS file system

                +

                count/s

                4 minutes

                +

                N/A

                +

                share_id

                +

                4 minutes

                write_ops

                +

                write_ops

                Write OPS

                +

                Write OPS

                Write operations of a file system within a monitoring period

                -

                Unit: count/s

                +

                Write operations of a file system within a monitoring period

                ≥ 0 counts/s

                +

                ≥ 0

                SFS file system

                +

                count/s

                4 minutes

                +

                N/A

                +

                share_id

                +

                4 minutes

                rw_ops

                +

                rw_ops

                Read Write OPS

                +

                Read Write OPS

                Read and write operations of a file system within a monitoring period

                -

                Unit: count/s

                +

                Read and write operations of a file system within a monitoring period

                ≥ 0 counts/s

                +

                ≥ 0

                SFS file system

                +

                count/s

                4 minutes

                +

                N/A

                +

                share_id

                +

                4 minutes

                used_capicity

                +

                used_capicity

                Used Capacity

                +

                Used Capacity

                Used capacity of a file system within a monitoring period

                -

                Unit: byte

                +

                Used capacity of a file system within a monitoring period

                ≥ 0 bytes

                +

                ≥ 0

                SFS file system

                +

                bytes

                4 minutes

                +

                1024 (IEC)

                +

                share_id

                +

                4 minutes

                share_id

                SFS file system

                +

                SFS Capacity-Oriented

                - + + + + + +
                Table 1 SFS Turbo metrics

                Metric ID

                +
                - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - + + @@ -153,8 +185,8 @@
                Table 1 SFS Turbo metrics

                Metric ID

                Metric Name

                +

                Metric Name

                Description

                +

                Description

                Value Range

                +

                Value Range

                Monitored Object

                +

                Unit

                Monitoring Period (Raw Data)

                +

                Conversion Rule

                +

                Dimension

                +

                Monitoring Period (Raw Data)

                client_connections

                +

                client_connections

                File System Client Connections

                +

                File System Client Connections

                Number of client connections

                +

                Number of client connections

                NOTE:

                Only active client connections are counted.

                A network connection is automatically disconnected when the client has no I/Os for a long time and is automatically re-established when there are I/Os.

                ≥ 0

                +

                ≥ 0

                SFS Turbo file system

                +

                count

                1 minute

                +

                N/A

                +

                efs_instance_id

                +

                1 minute

                data_read_io_bytes

                +

                data_read_io_bytes

                Read Bandwidth

                +

                Read Bandwidth

                Data read I/O load

                -

                Unit: byte/s

                +

                Data read I/O load

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS Turbo file system

                +

                bytes/s

                1 minute

                +

                1024 (IEC)

                +

                efs_instance_id

                +

                1 minute

                data_write_io_bytes

                +

                data_write_io_bytes

                Write Bandwidth

                +

                Write Bandwidth

                Data write I/O load

                -

                Unit: byte/s

                +

                Data write I/O load

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS Turbo file system

                +

                bytes/s

                1 minute

                +

                1024 (IEC)

                +

                efs_instance_id

                +

                1 minute

                metadata_io_bytes

                +

                metadata_io_bytes

                Metadata Read and Write Bandwidth

                +

                Metadata Read and Write Bandwidth

                Metadata read and write I/O load

                -

                Unit: byte/s

                +

                Metadata read and write I/O load

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS Turbo file system

                +

                bytes/s

                1 minute

                +

                1024 (IEC)

                +

                efs_instance_id

                +

                1 minute

                total_io_bytes

                +

                total_io_bytes

                Total Bandwidth

                +

                Total Bandwidth

                Total I/O load

                -

                Unit: byte/s

                +

                Total I/O load

                ≥ 0 bytes/s

                +

                ≥ 0

                SFS Turbo file system

                +

                bytes/s

                1 minute

                +

                1024 (IEC)

                +

                efs_instance_id

                +

                1 minute

                iops

                +

                iops

                IOPS

                +

                IOPS

                I/O operations per unit time

                +

                I/O operations per unit time

                ≥ 0

                +

                ≥ 0

                SFS Turbo file system

                +

                count

                1 minute

                +

                N/A

                +

                efs_instance_id

                +

                1 minute

                used_capacity

                +

                used_capacity

                Used Capacity

                +

                Used Capacity

                Used capacity of a file system

                -

                Unit: byte

                +

                Used capacity of a file system

                ≥ 0 bytes

                +

                ≥ 0

                SFS Turbo file system

                +

                byte

                1 minute

                +

                1024 (IEC)

                +

                efs_instance_id

                +

                1 minute

                used_capacity_percent

                +

                used_capacity_percent

                Capacity Usage

                +

                Capacity Usage

                Percentage of used capacity in the total capacity

                -

                Unit: percent

                +

                Percentage of used capacity in the total capacity

                0% to 100%

                +

                0 - 100

                SFS Turbo file system

                +

                %

                1 minute

                +

                N/A

                +

                efs_instance_id

                +

                1 minute

                -

                Viewing Monitoring Statistics

                1. Log in to the management console.
                2. View the monitoring graphs using either of the following methods.

                  • Method 1: Choose Service List > Storage > Scalable File Service. In the file system list, click View Metric in the Operation column of the target file system.
                  • Method 2: Choose Management & Deployment > Cloud Eye > Cloud Service Monitoring > SFS Turbo. In the file system list, click View Metric in the Operation column of the desired file system.
                  -

                3. View the SFS Turbo file system monitoring data by metric or monitored duration.

                  For more information about Cloud Eye, see the Cloud Eye User Guide.

                  +

                  Viewing Monitoring Statistics

                  1. Log in to the management console.
                  2. View the monitoring graphs using either of the following methods.

                    • Method 1: Choose Service List > Storage > Scalable File Service. In the file system list, click View Metric in the Operation column of the target file system.
                    • Method 2: Choose Management & Deployment > Cloud Eye > Cloud Service Monitoring > Scalable File Service Turbo SFS Turbo. In the file system list, click View Metric in the Operation column of the desired file system.
                    +

                  3. View the SFS Turbo file system monitoring data by metric or monitored duration.

                    For more information about Cloud Eye, see the Cloud Eye User Guide.

                diff --git a/docs/sfs/umn/sfs_01_0050.html b/docs/sfs/umn/sfs_01_0050.html index 03335b662..50a431ada 100644 --- a/docs/sfs/umn/sfs_01_0050.html +++ b/docs/sfs/umn/sfs_01_0050.html @@ -5,7 +5,6 @@

                Only SFS Turbo file systems support recording of resource operations using CTS. SFS Capacity-Oriented and general purpose file systems do not support this function.

                Prerequisites

                You have enabled CTS and the tracker is normal. For details about how to enable CTS, see section "Enabling CTS" in the Cloud Trace Service User Guide.

                -

                Operations

                Table 1 SFS Capacity-Oriented operations traced by CTS

                Operation

                @@ -95,12 +94,12 @@
                -

                Querying Traces

                1. Log in to the management console.
                2. Click in the upper left corner and select a region and project.
                3. Choose Management & Deployment > Cloud Trace Service.

                  The Cloud Trace Service page is displayed.

                  +

                  Querying Traces

                  1. Log in to the management console.
                  2. Click in the upper left corner and select a region and project.
                  3. Choose Management & Deployment > Cloud Trace Service.

                    The Cloud Trace Service page is displayed.

                  4. In the navigation pane on the left, choose Trace List.
                  5. On the trace list page, set Trace Source, Resource Type, and Search By, and click Query to query the specified traces.

                    For details about other operations, see section "Querying Real-Time Traces" in the Cloud Trace Service User Guide.

                  Disabling or Enabling a Tracker

                  This section describes how to disable an existing tracker on the CTS console. After the tracker is disabled, the system will stop recording operations, but you can still view existing operation records.

                  -
                  1. Log in to the management console.
                  2. Click in the upper left corner and select a region and project.
                  3. Choose Management & Deployment > Cloud Trace Service.

                    The Cloud Trace Service page is displayed.

                    +
                    1. Log in to the management console.
                    2. Click in the upper left corner and select a region and project.
                    3. Choose Management & Deployment > Cloud Trace Service.

                      The Cloud Trace Service page is displayed.

                    4. Click Trackers in the left pane.
                    5. Click Disable on the right of the tracker information.
                    6. Click Yes.
                    7. After the tracker is disabled, the available operation changes from Disable to Enable. To enable the tracker again, click Enable and then click Yes. The system will start recording operations again.
                diff --git a/docs/sfs/umn/sfs_01_0052.html b/docs/sfs/umn/sfs_01_0052.html index fa5e96334..084d65cea 100644 --- a/docs/sfs/umn/sfs_01_0052.html +++ b/docs/sfs/umn/sfs_01_0052.html @@ -7,12 +7,12 @@
              8. Energy exploration: Field operations, geologic prospecting, geological data processing and interpretation, and identification of oil and gas reservoirs all require large memory and high bandwidth of the file system.
              9. Image rendering: Image processing, 3D rendering, and frequent processing of small files require high read/write performance, large capacity, and high bandwidth of file systems.
              10. Heterogeneous computing: Compute elements may have different instruction set architectures, requiring the file system provide high bandwidth and low latency.
              11. SFS is a shared storage service based on file systems. It features high-speed data sharing, dynamic storage tiering, as well as on-demand, smooth, and online resizing. These outstanding features empower SFS to meet the demanding requirements of HPC on storage capacity, throughput, IOPS, and latency.

                A biological company needs to perform plenty of gene sequencing using software. However, due to the trivial steps, slow deployment, complex process, and low efficiency, self-built clusters are reluctant to keep abreast of business development. However, things are getting better since the company resorted to professional HPC service process management software. With massive compute and storage resource of the cloud platform, the initial investment and cost during O&M are greatly reduced, the service rollout time is shortened, and efficiency is boosted.

                -

                Configuration Process

                1. Organize the files of DNA sequencing to be uploaded.
                2. Log in to the SFS console. Create a file system to store the files of DNA sequencing.
                3. Log in to the servers that function as the head node and compute node, and mount the file system.
                4. On the head node, upload the files to the file system.
                5. On the compute node, edit the files.
                +

                Configuration Process

                1. Organize the files of DNA sequencing to be uploaded.
                2. Log in to the SFS console. Create a file system to store the files of DNA sequencing.
                3. Log in to the cloud servers that function as the head node and compute node, and mount the file system on them, respectively.
                4. On the head node, upload the files to the file system.
                5. On the compute node, edit the files.
                -

                Prerequisites

                • A VPC has been created.
                • ECSs that function as head nodes and compute nodes have been created, and have been assigned to the VPC.
                • SFS has been enabled.
                +

                Prerequisites

                • A VPC has been created.
                • Cloud servers that function as the head node and compute node have been created and are in the created VPC.
                • SFS has been enabled.
                -

                Example Configuration

                1. Log in to the SFS console.
                2. In the upper right corner of the page, click Create File System.
                3. On the Create File System page, set parameters as instructed.
                4. After the configuration is complete, click Create Now.

                  To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  -

                5. Log in to the head node, and upload the files to the file system.
                6. Start gene sequencing, and the compute node obtains the gene sequencing file from the mounted file system for calculation.
                +

                Example Configuration

                1. Log in to the SFS console.
                2. In the upper right corner of the page, click Create File System.
                3. On the Create File System page, set parameters as instructed.
                4. After the configuration is complete, click Create Now.

                  To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  +

                5. Log in to the head node and upload the files to the file system.
                6. Start gene sequencing, and the compute node obtains the gene sequencing file from the mounted file system for calculation.
                diff --git a/docs/sfs/umn/sfs_01_0053.html b/docs/sfs/umn/sfs_01_0053.html index 93a2c7e50..6ca66006a 100644 --- a/docs/sfs/umn/sfs_01_0053.html +++ b/docs/sfs/umn/sfs_01_0053.html @@ -10,7 +10,7 @@

                Prerequisites

                • A VPC has been created.
                • ECSs that function as upload workstations and editing workstations have been created, and have been assigned to the VPC.
                • SFS has been enabled.
                -

                Example Configuration

                1. Log in to the SFS console.
                2. In the upper right corner of the page, click Create File System.
                3. On the Create File System page, set parameters as instructed.
                4. After the configuration is complete, click Create Now.

                  To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  +

                  Example Configuration

                  1. Log in to the SFS console.
                  2. In the upper right corner of the page, click Create File System.
                  3. On the Create File System page, set parameters as instructed.
                  4. After the configuration is complete, click Create Now.

                    To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  5. Log in to the upload workstations, and upload the material files to the file system.
                  6. Log in to the editing workstations, and edit the material files.
                diff --git a/docs/sfs/umn/sfs_01_0054.html b/docs/sfs/umn/sfs_01_0054.html index 9f222e7d6..437412e8c 100644 --- a/docs/sfs/umn/sfs_01_0054.html +++ b/docs/sfs/umn/sfs_01_0054.html @@ -1,14 +1,14 @@

                Enterprise Website/App Background

                -

                Context

                For I/O-intensive website services, SFS Turbo can provide shared website source code directories and storage for multiple web servers, enabling low-latency and high-IOPS concurrent share access. Features of such services are as follows:

                +

                Context

                For I/O-intensive website services, SFS Turbo can provide shared website source code directories and storage for multiple web servers, enabling low-latency and high-IOPS concurrent shared access. Features of such services are as follows:

                • A large number of small files: Static website files need to be stored, including HTML files, JSON files, and static images.
                • Read I/O intensive: Scope of data reading is large, and data writing is relatively small.
                • Multiple web servers access an SFS Turbo background to achieve high availability of website services.
                -

                Configuration Process

                1. Sort out the website files.
                2. Log in to the SFS console. Create an SFS Turbo file system to store the website files.
                3. Log in to the server that functions as the compute node and mount the file system.
                4. On the head node, upload the files to the file system.
                5. Start the web server.
                +

                Configuration Process

                1. Sort out the website files.
                2. Log in to the SFS console. Create an SFS Turbo file system to store the website files.
                3. Log in to the cloud server that functions as the compute node and mount the file system.
                4. On the head node, upload the files to the file system.
                5. Start the web server.
                -

                Prerequisites

                • A VPC has been created.
                • Servers that function as head nodes and compute nodes have been created, and have been assigned to the VPC.
                • SFS has been enabled.
                +

                Prerequisites

                • A VPC has been created.
                • Cloud servers that function as the head node and compute node have been created and are in the created VPC.
                • SFS has been enabled.
                -

                Example Configuration

                1. Log in to the SFS console.
                2. In the navigation pane on the left, choose SFS Turbo > File Systems. In the upper right corner of the page, click Create File System.
                3. On the Create File System page, set parameters as instructed.
                4. After the configuration is complete, click Create Now.

                  To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  +

                  Example Configuration

                  1. Log in to the SFS console.
                  2. In the navigation pane on the left, choose SFS Turbo > File Systems. In the upper right corner of the page, click Create File System.
                  3. On the Create File System page, set parameters as instructed.
                  4. After the configuration is complete, click Create Now.

                    To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  5. Log in to the head node and upload the files to the file system.
                  6. Start the web server.
                diff --git a/docs/sfs/umn/sfs_01_0055.html b/docs/sfs/umn/sfs_01_0055.html index de0e8944a..5eb4e4796 100644 --- a/docs/sfs/umn/sfs_01_0055.html +++ b/docs/sfs/umn/sfs_01_0055.html @@ -1,14 +1,14 @@

                Log Printing

                -

                Context

                SFS Turbo can provide multiple service nodes for shared log output directories, facilitating log collection and management of distributed applications. Features of such services are as follows:
                • A shared file system is mounted to multiple service hosts and logs are printed concurrently.
                • Large file size and small I/O: The size of a single log file is large, but the I/O of each log writing is small.
                • Write I/O intensive: Write I/O of small blocks is the major service.
                +

                Context

                SFS Turbo can provide shared log output directories for multiple service nodes, facilitating log collection and management of distributed applications. Features of such services are as follows:
                • A shared file system is mounted to multiple service hosts and logs are printed concurrently.
                • Large file size and small I/O: The size of a single log file is large, but the I/O of each log writing is small.
                • Write I/O intensive: Write I/O of small blocks is the major service.
                -

                Configuration Process

                1. Log in to the SFS console. Create an SFS Turbo file system to store the log files.
                2. Log in to the server that functions as the compute node and mount the file system.
                3. Configure the log directory to the shared file system. It is recommended that each host use different log files.
                4. Start applications.
                +

                Configuration Process

                1. Log in to the SFS console. Create an SFS Turbo file system to store the log files.
                2. Log in to the cloud server that functions as the compute node and mount the file system.
                3. Configure the log directory to the shared file system. It is recommended that each host use different log files.
                4. Start applications.
                -

                Prerequisites

                • A VPC has been created.
                • Servers that function as head nodes and compute nodes have been created, and have been assigned to the VPC.
                • SFS has been enabled.
                +

                Prerequisites

                • A VPC has been created.
                • Cloud servers that function as the head node and compute node have been created and are in the created VPC.
                • SFS has been enabled.
                -

                Example Configuration

                1. Log in to the SFS console.
                2. In the upper right corner of the page, click Create File System.
                3. On the Create File System page, set parameters as instructed.
                4. After the configuration is complete, click Create Now.

                  To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  +

                  Example Configuration

                  1. Log in to the SFS console.
                  2. In the upper right corner of the page, click Create File System.
                  3. On the Create File System page, set parameters as instructed.
                  4. After the configuration is complete, click Create Now.

                    To mount a file system to Linux ECSs, see Mounting an NFS File System to ECSs (Linux). To mount a file system to Windows ECSs, see Mounting an NFS File System to ECSs (Windows).

                  5. Configure the log directory to the shared file system. It is recommended that each host use different log files.
                  6. Start applications.
                diff --git a/docs/sfs/umn/sfs_01_0056.html b/docs/sfs/umn/sfs_01_0056.html index fafce3d30..99fdc0d1d 100644 --- a/docs/sfs/umn/sfs_01_0056.html +++ b/docs/sfs/umn/sfs_01_0056.html @@ -12,9 +12,9 @@ - - diff --git a/docs/sfs/umn/sfs_01_0057.html b/docs/sfs/umn/sfs_01_0057.html index 913ef50ff..485eb400f 100644 --- a/docs/sfs/umn/sfs_01_0057.html +++ b/docs/sfs/umn/sfs_01_0057.html @@ -1,19 +1,19 @@

                Mounting a File System Fails

                -

                Symptom

                When a file system is mounted to servers using the mount command, message access denied is displayed.

                +

                Symptom

                When a file system was mounted to a cloud server using the mount command, message "access denied" was displayed on the server.

                -

                Possible Causes

                • Cause 1: The file system has been deleted.
                • Cause 2: The server and the mounted file system are not in the same VPC.
                • Cause 3: The mount point in the mount command is incorrect.
                • Cause 4: The IP address used for accessing SFS is a virtual IP address.
                • Cause 5: The DNS used for accessing the file system is incorrect.
                +

                Possible Causes

                • Cause 1: The file system has been deleted.
                • Cause 2: The server and the file system are not in the same VPC.
                • Cause 3: The mount point in the mount command is incorrect.
                • Cause 4: The IP address used for accessing SFS is a virtual IP address.
                • Cause 5: The DNS used for accessing the file system is incorrect.

                Fault Diagnosis

                Take troubleshooting measures based on possible causes.

                -

                Solution

                • Cause 1: The file system has been deleted.
                  Log in to the management console and check whether the file system has been deleted.
                  • If yes, create a file system or select an existing file system to mount. Ensure that the server and the file system reside in the same VPC.
                  • If no, go to Cause 2.
                  +

                  Solution

                  • Cause 1: The file system has been deleted.
                    Log in to the management console and check whether the file system has been deleted.
                    • If yes, create a file system or select an existing file system to mount. Ensure that the server and the file system are in the same VPC.
                    • If no, go to Cause 2.
                    -
                  • Cause 2: The server and the mounted file system are not in the same VPC.
                    Log in to the management console and check whether the server and the file system belong to the same VPC.
                    • If yes, go to Cause 3.
                    • If no, select a file system that resides in the same VPC as the server.
                    +
                  • Cause 2: The server and the file system are not in the same VPC.
                    Log in to the console and check whether the server and the file system are in the same VPC.
                    • If yes, go to Cause 3.
                    • If no, select a file system that is in the same VPC as the server.
                    -
                  • Cause 3: The mount point in the mount command is incorrect.
                    1. Log in to the management console and check whether the mount point is the same as the one in the mount command.
                    2. If the mount point in the mount command is incorrectly entered, correct it and run the command again.
                    +
                  • Cause 3: The mount point in the mount command is incorrect.
                    1. Log in to the management console and check whether the mount point is the same as the one in the mount command.
                    2. If the mount point in the mount command is incorrectly entered, correct it and run the command again.
                  • Cause 4: The IP address used for accessing SFS is a virtual IP address.

                    Log in to the server and run the ping command and use the server IP address to access SFS. Check whether the service is reachable. See Figure 1.

                    -
                    • If yes, the network problem has been resolved. Check other possible causes.
                    • If no, the server virtual IP address is unable to access SFS due to the network problem. Use the private IP address and run the ping command to access SFS and check whether the service is reachable.
                      Figure 1 Running the ping command to access SFS
                      +
                      • If yes, the network problem has been resolved. Check other possible causes.
                      • If no, the network is disconnected. Use the server's private IP address and the ping command to access SFS and check whether the service is reachable.
                        Figure 1 Running the ping command to access SFS
                    • Cause 5: The DNS used for accessing the file system is incorrect.

                      Run the following command to check whether the DNS is correct:

                      nslookup File system domain name

                      diff --git a/docs/sfs/umn/sfs_01_0058.html b/docs/sfs/umn/sfs_01_0058.html index 6b77d45cd..17cfa960c 100644 --- a/docs/sfs/umn/sfs_01_0058.html +++ b/docs/sfs/umn/sfs_01_0058.html @@ -1,15 +1,15 @@ -

                      A Server Fails to Access a File System

                      -

                      Symptom

                      A server fails to access a file system. The system displays a message indicating that the access request is denied. All services on the server are abnormal.

                      +

                      A Client Server Failed to Access a File System

                      +

                      Symptom

                      Access from a client server to a file system was denied. All services on the server were abnormal.

                      -

                      Possible Causes

                      • Cause 1: The file system is abnormal.
                      • Cause 2: After a forcible unmount operation on the server, mount fails.
                      +

                      Possible Causes

                      • Cause 1: The file system is abnormal.
                      • Cause 2: The file system fails to be mounted to the server after being forcibly unmounted.

                      Fault Diagnosis

                      Take troubleshooting measures based on possible causes.

                      Solution

                      • Cause 1: The file system is abnormal.

                        Log in to the management console. On the Scalable File System page, check whether the file system is in the Available state.

                        -
                        • If yes, go to Cause 2.
                        • If no, see The File System Is Abnormal to restore the file system to the available state, and then access the file system again.
                        -
                      • Cause 2: After a forcible unmount operation on the server, mount fails.
                        1. This problem is caused by an inherent defect of servers. Restart the server to resolve this problem.
                        2. Check whether the file system can be properly mounted and accessed.
                          • If yes, no further action is required.
                          • If no, contact technical support.
                          +
                          • If yes, go to Cause 2.
                          • If no, see File System Is Abnormal to restore the file system to the available state, and then access the file system again.
                          +
                        3. Cause 2: The file system fails to be mounted to the server after being forcibly unmounted.
                          1. This problem is caused by a defect of servers. Restart the server to resolve this problem.
                          2. Check whether the file system can be properly mounted and accessed from the server.
                            • If yes, no further action is required.
                            • If no, contact technical support.
                      diff --git a/docs/sfs/umn/sfs_01_0059.html b/docs/sfs/umn/sfs_01_0059.html index 813500e6b..616ee9e6f 100644 --- a/docs/sfs/umn/sfs_01_0059.html +++ b/docs/sfs/umn/sfs_01_0059.html @@ -1,7 +1,7 @@ -

                      The File System Is Abnormal

                      -

                      Currently, the file system exceptions include deletion error, expansion error, reduction error, and reduction failure. When the file system is in these statuses, refer to the following handling suggestions.

                      +

                      File System Is Abnormal

                      +

                      Currently, the file system exceptions include reduction error, reduction failure, deletion error and expansion error. When the file system is in these statuses, refer to the following handling suggestions.

                      diff --git a/docs/sfs/umn/sfs_01_0060.html b/docs/sfs/umn/sfs_01_0060.html index 0ffcd490d..7ad2b910b 100644 --- a/docs/sfs/umn/sfs_01_0060.html +++ b/docs/sfs/umn/sfs_01_0060.html @@ -7,8 +7,8 @@

                      Fault Diagnosis

                      To address this problem, modify the registry and change both UID and GID values to 0 for NFS accesses from Windows.

                      -

                      Solution

                      1. Choose Start > Run and enter regedit to open the registry.
                      2. Enter the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default directory. Figure 1 shows an example of the directory.

                        Figure 1 Entering the directory
                        -

                      3. Right-click the blank area and choose New > DWORD Value from the shortcut menu. Set AnonymousUid and AnonymousGid to 0. Figure 2 shows a successful operation.

                        Figure 2 Adding values
                        +

                        Solution

                        1. Choose Start > Run and enter regedit to open the registry.
                        2. Enter the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default directory. Figure 1 shows an example of the directory.

                          Figure 1 Entering the directory
                          +

                        3. Right-click the blank area and choose New > DWORD Value from the shortcut menu. Set AnonymousUid and AnonymousGid to 0. Figure 2 shows a successful operation.

                          Figure 2 Adding values

                        4. After modifying the registry, restart the server for the modification to take effect.
                      diff --git a/docs/sfs/umn/sfs_01_0061.html b/docs/sfs/umn/sfs_01_0061.html index a7866bc3d..daa264c84 100644 --- a/docs/sfs/umn/sfs_01_0061.html +++ b/docs/sfs/umn/sfs_01_0061.html @@ -7,8 +7,8 @@

                      Fault Diagnosis

                      Take troubleshooting measures based on possible causes.

                      -

                      Solution

                      1. Log in to the ECS. An ECS running Windows Server 2012 R2 is used in this example.
                      2. Click Server Manager in the lower left corner.
                      3. Choose Tools > Internet Information Services (IIS) Manager, expand Sites, and select the target website.
                      4. Click Basic Settings to check whether the Physical path is correct.
                      5. The correct physical path is that of the mount point with the colon (:) deleted.

                        Figure 1 shows the mount point of a file system. You need to enter the physical path \\sfs-nas1.example.com\share-396876e8, as shown in Figure 2.
                        Figure 1 Mount point
                        -
                        Figure 2 Physical path
                        +

                        Solution

                        1. Log in to the cloud server. An ECS running Windows Server 2012 R2 is used in this example.
                        2. Click Server Manager in the lower left corner.
                        3. Choose Tools > Internet Information Services (IIS) Manager, expand Sites, and select the target website.
                        4. Click Basic Settings to check whether the Physical path is correct.
                        5. The correct physical path is that of the mount point with the colon (:) deleted.

                          Figure 1 shows the mount point of a file system. You need to enter the physical path \\sfs-nas1.example.com\share-396876e8, as shown in Figure 2.
                          Figure 1 Mount point
                          +
                          Figure 2 Physical path

                        diff --git a/docs/sfs/umn/sfs_01_0062.html b/docs/sfs/umn/sfs_01_0062.html index b80af2fa4..a5a7f4c6b 100644 --- a/docs/sfs/umn/sfs_01_0062.html +++ b/docs/sfs/umn/sfs_01_0062.html @@ -8,13 +8,13 @@

                        Fault Diagnosis

                        Install the required nfs-utils software package.

                        Solution

                        1. Log in to the ECS and check whether the nfs-utils package is installed. Run the following command. If no command output is displayed, the package is not installed.

                          rpm -qa|grep nfs
                          -
                          Figure 1 Checking whether the software package has been installed
                          +
                          Figure 1 Checking whether the software package has been installed

                        2. Run the following command to install the nfs-utils software package:

                          yum -y install nfs-utils
                          -
                          Figure 2 Executing the installation command
                          -
                          Figure 3 Successful installation
                          +
                          Figure 2 Executing the installation command
                          +
                          Figure 3 Successful installation

                        3. Run the mount command again to mount the file system to the ECS.

                          mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point Local path

                        4. Run the following command to view the mounted file system:

                          mount -l

                          -
                          If the command output contains the following information, the file system is mounted successfully.
                          example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
                          +
                          If the command output contains the following information, the file system has been mounted:
                          example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)

                        diff --git a/docs/sfs/umn/sfs_01_0063.html b/docs/sfs/umn/sfs_01_0063.html index fb3597452..68e61e990 100644 --- a/docs/sfs/umn/sfs_01_0063.html +++ b/docs/sfs/umn/sfs_01_0063.html @@ -1,7 +1,7 @@

                        Failed to Access the Shared Folder in Windows

                        -

                        Symptom

                        When you mount a file system to an ECS running Windows, the system displays a message "You cannot access this shared folder because your organization's security policies block unauthenticated guest access. These policies help to protect you PC from unsafe or malicious devices on the network."

                        +

                        Symptom

                        When you mount a file system to an ECS running Windows, the system displays a message "You cannot access this shared folder because your organization's security policies block unauthenticated guest access. These policies help protect your PC from unsafe or malicious devices on the network."

                        Possible Causes

                        Guest access to CIFS file systems is blocked or disabled.

                        @@ -9,14 +9,14 @@

                        Solution 2: Modify the registry to allow guest access (suitable for versions later than Windows Server 2016).

                        Solution

                        Solution 1: Manually enable guest access.

                        -
                        1. Open Run command box, enter gpedit.msc, and press Enter to start Local Group Policy Editor.

                          Figure 1 Entering gpedit.msc
                          -

                        2. On the Local Group Policy Editor page, choose Computer Configuration > Administrative Templates.

                          Figure 2 Local Group Policy Editor
                          -

                        3. Under Administrative Templates, choose Network > Lanman Workstation and find the option of Enable insecure guest logons.

                          Figure 3 Locating the option
                          -

                        4. Double-click Enable insecure guest logons. Select Enabled and click OK.

                          Figure 4 Enabling insecure guest logons
                          +
                          1. Open the Run command box, enter gpedit.msc, and press Enter to start Local Group Policy Editor.

                            Figure 1 Entering gpedit.msc
                            +

                          2. On the Local Group Policy Editor page, choose Computer Configuration > Administrative Templates.

                            Figure 2 Local Group Policy Editor
                            +

                          3. Under Administrative Templates, choose Network > Lanman Workstation and find the option Enable insecure guest logons.

                            Figure 3 Locating the option
                            +

                          4. Double-click Enable insecure guest logons. Select Enabled and click OK.

                            Figure 4 Enabling insecure guest logons

                          5. After the access is enabled, mount the file system again. If the fault persists, contact technical support.

                          Solution 2: Modify the registry to allow guest access (suitable for versions later than Windows Server 2016).

                          -
                          1. Choose Start > Run and enter regedit to open the registry.
                          2. Go to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters directory.

                            Figure 5 Entering the registry
                            -

                          3. Right-click AllowInsecureGuestAuth and choose Modify from the shortcut menu. In the pop-up window, change the value to 1.

                            Figure 6 Changing the value
                            +
                            1. Choose Start > Run and enter regedit to open the registry.
                            2. Go to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters directory.

                              Figure 5 Entering the registry
                              +

                            3. Right-click AllowInsecureGuestAuth and choose Modify from the shortcut menu. In the pop-up window, change the value to 1.

                              Figure 6 Changing the value

                        diff --git a/docs/sfs/umn/sfs_01_0067.html b/docs/sfs/umn/sfs_01_0067.html index eaeb498a3..5f03c0262 100644 --- a/docs/sfs/umn/sfs_01_0067.html +++ b/docs/sfs/umn/sfs_01_0067.html @@ -3,7 +3,7 @@

                        What Is SFS?

                        Scalable File Service (SFS) provides scalable, high-performance file storage. With SFS, you can enjoy shared file access spanning multiple ECSs. SFS supports the Network File System (NFS) protocol. You can seamlessly integrate existing applications and tools with the service.

                        SFS provides an easy-to-use graphical user interface (GUI). On the GUI, users can create and configure file systems, saving effort in deploying, resizing, and optimizing file systems.

                        -

                        In addition, SFS features high availability. It can be elastically expanded, and it performs better as its capacity grows. The service is suitable for a wide range of scenarios, including media processing, file sharing, content management and web services, big data, and analytic applications.

                        +

                        In addition, SFS features high availability. It can be elastically expanded, and it performs better as its capacity grows. It is suitable for a wide range of scenarios, including media processing, file sharing, content management and web services, big data, and analytic applications.

                      6. - diff --git a/docs/sfs/umn/sfs_01_0073.html b/docs/sfs/umn/sfs_01_0073.html index 08059c56f..16b2df491 100644 --- a/docs/sfs/umn/sfs_01_0073.html +++ b/docs/sfs/umn/sfs_01_0073.html @@ -1,8 +1,8 @@

                        How Many File Systems Can Be Created by Each Account?

                        -

                        Each account can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems.

                        -

                        Each account can create a maximum of 100 general purpose file systems.

                        +

                        You can create a maximum of 10 SFS Capacity-Oriented file systems and 10 SFS Turbo file systems with each account.

                        +

                        You can create a maximum of 100 general purpose file systems with one account.

                        • SFS Capacity-Oriented file systems can be created in batches. To create more than 10 SFS Capacity-Oriented file systems, click Increase quota on the page for creating a file system.
                        • Only one SFS Turbo file system can be created at a time. To create more than 10 SFS Turbo file systems, contact customer service to apply for a higher quota. For details, see How Do I Apply for a Higher Quota?
                        diff --git a/docs/sfs/umn/sfs_01_0074.html b/docs/sfs/umn/sfs_01_0074.html index d52d381bc..f64c25842 100644 --- a/docs/sfs/umn/sfs_01_0074.html +++ b/docs/sfs/umn/sfs_01_0074.html @@ -1,6 +1,6 @@ -

                        How Many Servers Can a File System Be Mounted To?

                        +

                        How Many Cloud Servers Can I Mount a File System To?

                        You can mount an SFS Capacity-Oriented file system to a maximum of 10,000 servers.

                        You can mount an SFS Turbo file system to a maximum of 3,000 servers.

                        You can mount a general purpose file system to a maximum of 10,000 servers.

                        diff --git a/docs/sfs/umn/sfs_01_0080.html b/docs/sfs/umn/sfs_01_0080.html index 99a543533..f405c0cf3 100644 --- a/docs/sfs/umn/sfs_01_0080.html +++ b/docs/sfs/umn/sfs_01_0080.html @@ -2,7 +2,7 @@

                        Can a File System Be Accessed Across VPCs?

                        Yes.

                        -
                        • Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that ECSs in different VPCs can share the same file system, as long as the VPCs that the ECSs belong to are added to the VPC list of the file system or the ECS IP addresses are added as authorized IP addresses of the VPCs. For details, see Configuring Multi-VPC Access.
                        • An SFS Turbo file system allows two or more VPCs in the same region to interconnect with each other through VPC peering connection. In this case, different VPCs are in the same network, and ECSs in these VPCs can share the same file system. For details about VPC peering connection, see section "VPC Peering Connection" in Virtual Private Cloud User Guide.
                        +
                        • Multi-VPC access can be configured for an SFS Capacity-Oriented or a general purpose file system so that servers in different VPCs can share the same file system, as long as the VPCs that the servers belong to are added as authorized VPCs of the file system or the server IP addresses are added as authorized IP addresses of the VPCs. For details, see Configuring Multi-VPC Access.
                        • An SFS Turbo file system allows two or more VPCs in the same region to interconnect with each other through VPC peering connection. In this case, different VPCs are in the same network, and servers in these VPCs can share the same file system. For details about VPC peering connection, see section "VPC Peering Connection" in Virtual Private Cloud User Guide.
                      Table 1 Measures for handling file system abnormalities

                      Exception

                    • Run the following command to view the mounted file system:

                      mount -l

                      -
                      If the command output contains the following information, the file system has been mounted.
                      example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
                      +
                      If the command output contains the following information, the file system has been mounted:
                      example.com:/share-xxx on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)

                  diff --git a/docs/sfs/umn/sfs_01_0101.html b/docs/sfs/umn/sfs_01_0101.html index e145019f1..c2cbdab5a 100644 --- a/docs/sfs/umn/sfs_01_0101.html +++ b/docs/sfs/umn/sfs_01_0101.html @@ -4,7 +4,11 @@
                  diff --git a/docs/sfs/umn/sfs_01_0104.html b/docs/sfs/umn/sfs_01_0104.html index 162ec3a7c..68767e5ea 100644 --- a/docs/sfs/umn/sfs_01_0104.html +++ b/docs/sfs/umn/sfs_01_0104.html @@ -8,7 +8,19 @@

                2024-12-20

                +

                2025-10-16

                +

                Updated the following content:

                + +

                2025-09-28

                +

                Updated the following content:

                +

                Modified the description in section Mounting an NFS File System to ECSs (Linux).

                +

                2024-12-20

                Updated the following content:

                Added section Managing SFS Turbo+OBS Storage Interworking.

                diff --git a/docs/sfs/umn/sfs_01_0117.html b/docs/sfs/umn/sfs_01_0117.html deleted file mode 100644 index 32a049ceb..000000000 --- a/docs/sfs/umn/sfs_01_0117.html +++ /dev/null @@ -1,30 +0,0 @@ - - -

                Migrating Data Between File Systems

                -

                Solution Overview

                You can migrate data from an SFS Capacity-Oriented file system to an SFS Turbo file system or the other way around.

                -

                This solution creates a Linux ECS to connect an SFS Capacity-Oriented file system with an SFS Turbo file system.

                -
                -

                Limitations and Constraints

                • Only Linux ECSs can be used to migrate data.
                • The Linux ECS, SFS Capacity-Oriented file system, and SFS Turbo file system must be in the same VPC.
                • Incremental migration is supported, so that only changed data is migrated.
                -
                -

                Prerequisites

                • You have created a Linux ECS.
                • You have created an SFS Capacity-Oriented file system and an SFS Turbo file system and have obtained their mount points.
                -
                -

                Procedure

                1. Log in to the ECS console.
                2. Log in to the created Linux ECS that can access SFS Capacity-Oriented and SFS Turbo file systems.
                3. Run the following command to mount file system 1 (either the SFS Capacity-Oriented or SFS Turbo file system). After that, you can access file system 1 on the Linux ECS.

                  mount -t nfs -o vers=3,timeo=600,noresvport,nolock [Mount point of file system 1] /mnt/src
                  -

                4. Run the following command to mount file system 2 (the other file system that you have not mounted in the previous step). After that, you can access file system 2 on the Linux ECS.

                  mount -t nfs -o vers=3,timeo=600,noresvport,nolock [Mount point of file system 2] /mnt/dst
                  -

                5. Download and install rclone. For the download address, see https://rclone.org/downloads/.
                6. Run the following command to synchronize data:

                  rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs
                  -

                  Set transfers and checkers based on the system specifications. The parameters are described as follows:

                  -
                  • /mnt/src: source path
                  • /mnt/dst: destination path
                  • --transfers: number of files that can be transferred concurrently
                  • --checkers: number of local files that can be scanned concurrently
                  • -P: data copy progress
                  • --links: replicates the soft links from the source. They are saved as soft links in the destination.
                  • --copy-links: replicates the content of files to which the soft links point. They are saved as files rather than soft links in the destination.
                  • --create-empty-src-dirs: replicates the empty directories from the source to the destination.
                  -
                  -

                  After data synchronization is complete, go to the target file system to check whether data is migrated.

                  -

                -
                -

                Verification

                1. Log in to the created Linux ECS.
                2. Run the following commands on the destination server to verify file synchronization:

                  cd /mnt/dst
                  -ls | wc -l
                  -

                3. If the data volume is the same as that on the source server, the data is migrated successfully.
                -
                -
                -
                - -
                - diff --git a/docs/sfs/umn/sfs_01_0118.html b/docs/sfs/umn/sfs_01_0118.html index 7e380c904..c059c2281 100644 --- a/docs/sfs/umn/sfs_01_0118.html +++ b/docs/sfs/umn/sfs_01_0118.html @@ -3,11 +3,11 @@

                Failed to Create an SFS Turbo File System

                Symptom

                An SFS Turbo file system fails to be created.

                -

                Fault Diagnosis

                The following fault causes are sequenced based on their occurrence probability.

                +

                Troubleshooting

                Possible causes are described here in order of how likely they are to occur.

                If the fault persists after you have ruled out one cause, move on to the next one in the list.

                -
                Figure 1 Fault diagnosis
                +
                Figure 1 Troubleshooting
                -
                - - @@ -68,9 +68,9 @@
                Table 1 Fault diagnosis

                Possible Cause

                +
                @@ -15,7 +15,7 @@ - - diff --git a/docs/sfs/umn/sfs_01_0120.html b/docs/sfs/umn/sfs_01_0120.html index 7f2f40441..986d60907 100644 --- a/docs/sfs/umn/sfs_01_0120.html +++ b/docs/sfs/umn/sfs_01_0120.html @@ -4,7 +4,7 @@

                Before you start, understand the following concepts.

                NFS

                Network File System (NFS) is a distributed file system protocol that allows different computers and operating systems to share data over a network.

                -

                File System

                A file system provides users with shared file storage service through NFS. It is used for accessing network files remotely. After a user creates a file system on the console, the file system can be mounted to multiple servers and is accessible through the standard POSIX.

                +

                File System

                A file system provides users with shared file storage through NFS. It is used for accessing network files remotely. After you create a file system on the console, you can mount the file system on multiple cloud servers and access the file system from the servers through the standard POSIX.

                POSIX

                Portable Operating System Interface (POSIX) is a set of interrelated standards specified by Institute of Electrical and Electronics Engineers (IEEE) to define the application programming interface (API) for software compatible with variants of the UNIX operating system. POSIX is intended to achieve software portability at the source code level. That is, a program written for a POSIX compatible operating system may be compiled and executed on any other POSIX operating system.

                diff --git a/docs/sfs/umn/sfs_01_0125.html b/docs/sfs/umn/sfs_01_0125.html index 3ebdc4271..a62b84d3e 100644 --- a/docs/sfs/umn/sfs_01_0125.html +++ b/docs/sfs/umn/sfs_01_0125.html @@ -7,7 +7,7 @@

                Fault Diagnosis

                Check whether the port of the target server is enabled and correctly configure the port on the security group console.

                -

                Solution

                1. Log in to the ECS console.

                  1. Log in to the management console.
                  2. Click in the upper left corner and select your desired region and project.
                  3. Under Compute, choose Elastic Cloud Server.
                  +

                  Solution

                  1. Log in to the ECS console.

                    1. Log in to the management console.
                    2. Click in the upper left corner and select your desired region and project.
                    3. Under Compute, choose Elastic Cloud Server.

                  2. In the navigation pane on the left, choose Elastic Cloud Server. On the page displayed, select the target server. Go to the server details page.
                  3. Click the Security Groups tab and select the target security group. Click Manage Rule to go to the security group console.
                  4. On the displayed page, click the Inbound Rules tab and click Add Rule. The Add Inbound Rule page is displayed. Add rules as follows:

                    After an SFS Turbo file system is created, the system automatically enables the security group port required by the NFS protocol. This ensures that the SFS Turbo file system can be accessed by your servers and prevents file system mounting failures. The inbound ports required by the NFS protocol are ports 111, 2049, 2051, 2052, and 20048. If you need to change the enabled ports, go to the VPC console, choose Access Control > Security Groups, locate the target security group, and change the ports.

                    You are advised to use an independent security group for an SFS Turbo file system to isolate it from service nodes.

                    You need to add inbound and outbound rules for the security group of an SFS Capacity-Oriented file system. For details, see section "Adding a Security Group Rule" in the Virtual Private Cloud User Guide. In an SFS Capacity-Oriented file system, the inbound ports required by the NFS protocol are ports 111, 2049, 2051, and 2052. The inbound port required by the DNS server is port 53.

                    diff --git a/docs/sfs/umn/sfs_01_0134.html b/docs/sfs/umn/sfs_01_0134.html index 503cdfa4a..b1a9d55c4 100644 --- a/docs/sfs/umn/sfs_01_0134.html +++ b/docs/sfs/umn/sfs_01_0134.html @@ -5,13 +5,13 @@

                    Before mounting a general purpose file system to a compute resource, you need to create a VPC endpoint in the region where the compute resource belongs.

                    VPC endpoints are not required for SFS Capacity-Oriented and SFS Turbo file systems.

                  -

                  Prerequisites

                  1. Before creating a general purpose file system, ensure that a VPC is available.

                    If no VPC is available, create one by referring to section "Creating a VPC" in the Virtual Private Cloud User Guide.

                    +

                    Prerequisites

                    1. Before creating a general purpose file system, ensure that a VPC is available.

                      If no VPC is available, create one by referring to section "Creating a VPC" in the Virtual Private Cloud User Guide.

                    2. Before creating a general purpose file system, ensure that ECSs are available and in the created VPC.

                      If no ECS is available, create ECSs by referring to "Creating an ECS" in the Elastic Cloud Server User Guide.

                    Procedure

                    1. Log in to the console.

                      1. Log in to the management console.
                      2. Click in the upper left corner and select your desired region and project.
                      3. Choose Networking > VPC Endpoint > VPC Endpoints.

                    2. On the VPC Endpoints page, click Create VPC Endpoint.

                      The Create VPC Endpoint page is displayed.

                      -
                      Figure 1 Create VPC Endpoint
                      +
                      Figure 1 Create VPC Endpoint

                    3. Set the parameters as prompted.

                Table 1 Troubleshooting

                Possible Cause

                Solution

                The quota is insufficient.

                The number of created file systems has reached the upper limit. to increase the quota.

                +

                The number of created file systems has reached the upper limit. Apply for a higher quota.

                The subnet does not have sufficient IP addresses.

                @@ -25,7 +25,7 @@

                The background resources are insufficient.

                Background resources, such as compute and storage resources, have reached the upper limit. for technical consultation.

                +

                Background resources, such as compute and storage resources, have reached the upper limit. Seek for technical consultation.

                diff --git a/docs/sfs/umn/sfs_01_0162.html b/docs/sfs/umn/sfs_01_0162.html index bd08fc607..e644f43ae 100644 --- a/docs/sfs/umn/sfs_01_0162.html +++ b/docs/sfs/umn/sfs_01_0162.html @@ -6,9 +6,9 @@

                Figure 1 shows the process for creating and mounting an SFS Turbo file system.

                Figure 2 shows the process for creating and mounting an SFS Capacity-Oriented file system.

                Figure 3 shows the process for creating and mounting a general purpose file system.

                -
                Figure 1 Process for using SFS Turbo
                -
                Figure 2 Process for using SFS Capacity-Oriented
                -
                Figure 3 Process for using General Purpose File System
                +
                Figure 1 Process for using SFS Turbo
                +
                Figure 2 Process for using SFS Capacity-Oriented
                +
                Figure 3 Process for using General Purpose File System
                Table 1 Parameters for purchasing an endpoint

                Parameter

                @@ -68,7 +70,7 @@
                Table 1 Parameters required for adding an OBS bucket

                Parameter

                -

              12. Select "Grant SFS Turbo the read/write permissions on the OBS bucket using a bucket policy" and click OK.
              13. +

              14. Select "Grant SFS Turbo the read/write permissions on the OBS bucket using a bucket policy" and click OK.
                • OBS buckets configured with server-side encryption and OBS parallel file systems cannot be added as storage backends.
                • When you add an OBS bucket as the storage backend, a bucket policy will be automatically created for the bucket, with the policy Sid set to PolicyAddedBySFSTurbo. Do not modify or delete this policy, or the interworking function cannot work normally.
                • If you have added an OBS bucket as the storage backend for one or multiple SFS Turbo file systems, before you delete any file system or remove the bucket, do not delete the bucket. Otherwise, the interworking function cannot work normally.
                @@ -78,17 +80,17 @@
                • New: Files created and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.
                • Changed: Files previously imported from the OBS bucket and then modified in the SFS Turbo interworking directory. Any data or metadata modifications made will be automatically synchronized to the OBS bucket.
                • Deleted: Files deleted from the SFS Turbo interworking directory. Deletions will be automatically synchronized to the OBS bucket, and only such files that were previously exported to the bucket will be deleted.

                To configure auto synchronization when adding an OBS bucket, see Adding an OBS Bucket.

                To configure auto synchronization after an OBS bucket is added, perform the following steps:

                -
                1. Find the added OBS bucket and click Auto Synchronization in the Operation column.

                  Figure 2 Auto Synchronization
                  -

                2. Configure Auto Export.

                  Figure 3 Auto Export
                  +
                  1. Find the added OBS bucket and click Auto Synchronization in the Operation column.

                    Figure 2 Auto Synchronization
                    +

                  2. Configure Auto Export.

                    Figure 3 Auto Export
                    1. Enable or disable auto export.
                    2. If auto export is disabled, this function is not supported. After auto export is enabled, select the types of data to be exported. Supported types include New, Changed, and Deleted. For more information, see Table 1.

                  3. Click OK.

                  Metadata Import

                  After you add an OBS bucket as a storage backend, you can use the metadata import function.

                  -

                  Before using an SFS Turbo file system to access data in your OBS bucket, you need to use metadata import to import the object metadata (name, size, last modification time) from the bucket to the file system. You can only access the object data in the interworking directory after the metadata is imported. This operation only imports the metadata. The data will be loaded from the bucket and cached in the file system when it is accessed for the first time. When the same data is accessed later, it will be accessed from the cache, instead of the bucket.

                  +

                  Before accessing data in your OBS bucket from SFS Turbo, you need to use metadata import to import the object metadata (name, size, and last modification time) from the bucket to the file system. You can only access the object data in the interworking directory after the metadata is imported. This operation only imports the metadata. The data will be loaded from the bucket and cached in the file system when it is accessed for the first time. When the same data is accessed later, it will be accessed from the cache, instead of the bucket.

                  SFS Turbo supports two metadata import methods: quick import and additional metadata import. After the metadata import is complete, you can view the imported directories and files in the interworking directory.

                  -
                  • Quick import: Use quick import if data in the bucket has not been exported from SFS Turbo before. A quick import only imports the object metadata (name, size, last modification time). After the import is complete, SFS Turbo will, by default, generate the additional metadata (uid, gid, directory permissions, and file permissions). If you want to specify the permissions of imported directories and files, follow the instructions in section "Creating a Data Import or Export Task" in the Scalable File Service API Reference. Such an operation is only valid for the current task. Quick import is faster, so you are advised to use quick import.
                  • Additional metadata import: Use additional metadata import if data in the bucket has been exported from SFS Turbo before. With additional metadata import, both the object metadata (name, size, last modification time) and the additional metadata (uid, gid, mode) will be imported. If there is no additional metadata, the permissions you specified will be used for imported directories and files.
                  -
                  1. Find the added OBS bucket and click Import Metadata in the Operation column.

                    Figure 4 Import Metadata
                    +
                    • Quick import: Use quick import if data in the bucket has not been exported from SFS Turbo before. A quick import only imports the object metadata (name, size, and last modification time). After the import is complete, SFS Turbo will, by default, generate the additional metadata (uid, gid, directory permissions, and file permissions). If you want to specify the permissions of imported directories and files, follow the instructions in section "Creating a Data Import or Export Task" in the Scalable File Service API Reference. Such an operation is only valid for the current task. Quick import is faster, so you are advised to use quick import.
                    • Additional metadata import: Use additional metadata import if data in the bucket has been exported from SFS Turbo before. With additional metadata import, both the object metadata (name, size, and last modification time) and the additional metadata (uid, gid, and mode) will be imported. If there is no additional metadata, the permissions you specified will be used for imported directories and files.
                    +
                    1. Find the added OBS bucket and click Import Metadata in the Operation column.

                      Figure 4 Import Metadata

                    2. Set Object Prefix to the prefix of objects in the OBS bucket. It can be a specific object name. To import metadata of all the objects in the OBS bucket, leave the prefix field empty.
                    3. Select Import Additional Metadata to import additional metadata. If this option is not selected, the system will perform a quick import.
                    4. Click OK.
                    • After you import data from OBS to SFS Turbo, if new data is written to the bucket or existing data is modified, you need to import the data to SFS Turbo again.
                    • The length of a file or subdirectory name cannot exceed 255 bytes.
                    @@ -96,7 +98,7 @@

                    Data Import

                    After you add an OBS bucket as a storage backend, you can use the data import function.

                    After a metadata import, data is not imported to the SFS Turbo file system. Instead, data will be loaded from the bucket to the file system when a file is accessed for the first time, which may take a long time. If your workloads are latency-sensitive and you know which directories and files need to be accessed, for example, AI training involves a large number of small files and is sensitive to latency, you can import specified directories and files in advance.

                    During a data import, both data and metadata will be imported, and a quick metadata import will be performed, meaning that the additional metadata (such as uid, gid, and mode) will not be imported. If you want to specify the permissions of imported directories and files, follow the instructions in section "Creating a Data Import or Export Task" in the Scalable File Service API Reference. Such an operation is only valid for the current task.

                    -
                    1. Find the added OBS bucket and click Data import in the Operation column.

                      Figure 5 Data import
                      +
                      1. Find the added OBS bucket and click Data import in the Operation column.

                        Figure 5 Data import

                      2. Set Object Path to the path of objects in the OBS bucket (excluding the bucket name).

                        If you enter the path of a directory, end it with a slash (/).

                        • To import data of all the objects in the OBS bucket, leave the object path field empty. SFS Turbo will import data to the interworking directory and ensure that the file paths in the interworking directory are the same as those in the OBS bucket.
                        • Object path examples: (/mnt/sfs_turbo is the local mount point and output-1 is the interworking directory name.)
                          • If you enter dir/ as the object path, data will be imported to /mnt/sfs_turbo/output-1/dir.
                          • If you enter dir/file as the object path, data will be imported to /mnt/sfs_turbo/output-1/dir/file.
                          • If you leave the object path field empty, data will be imported to /mnt/sfs_turbo/output-1.
                        @@ -107,7 +109,7 @@

                        Data Export

                        After you add an OBS bucket as a storage backend, you can use the data export function.

                        Data export allows you to export to the OBS bucket the files newly created in the interworking directory or the objects previously imported and then modified in the interworking directory. You can specify a prefix for data export. Then, only directories and files that match the specified prefix will be exported to the bucket.

                        -
                        1. Find the added OBS bucket and click More > Export in the Operation column.

                          Figure 6 Export
                          +
                          1. Find the added OBS bucket and click More > Export in the Operation column.

                            Figure 6 Export

                          2. Set File Prefix to the path of directories or files (excluding the interworking directory name) or that of a specific file. To export all files in the interworking directory to the bucket, leave the file prefix field empty.
                          3. Click OK.
                          • Before data is exported, SFS Turbo starts asynchronous tasks to scan the files in the target directories. If there is any file that has been updated in the last 10 seconds, this file will not be exported.
                          • For a given file, if no changes were made since the last time it was exported to OBS, it will not be exported in the next export task even if the previously exported file has been deleted from the OBS bucket.
                          • After files are exported to OBS, any SFS Turbo metadata with a name starting with x-obs-meta-sfsturbo-st- will be included in the objects' custom metadata.
                          • The maximum file path that supports export is 1,023 characters.
                          • The maximum file size supported in an SFS Turbo file system is 320 TB, and the maximum file size that can be exported is 48.8 TB.
                          • When large files are exported, temporary files generated during the export will be stored in the x-obs-upload-sfsturbo-temp-part directory in the bucket. After the export is complete, SFS Turbo will automatically delete this directory as well as the temporary files in it.
                          • When a file is exported from SFS Turbo to OBS:

                            If it was previously imported to and then modified in SFS Turbo, it will overwrite its peer object in the bucket if it is newer. Otherwise, it will not overwrite its peer object in the bucket.

                            If you upload an object to OBS when an object with the same name is being exported, the object you uploaded may be overwritten.

                            @@ -118,24 +120,24 @@

                            Evicting data by time

                            After adding an OBS bucket, you can configure a cold data eviction duration to delete data from the cache by time. Files that have not been accessed within the specified duration will be evicted.

                            The procedure is as follows:

                            -
                            1. Log in to the SFS console.
                            2. In the file system list, click the name of the created SFS Turbo file system to go to its details page.
                            3. On the Basic Info tab, configure a cold data eviction duration.

                              Figure 7 Setting a cold data eviction duration
                              +
                              1. Access the SFS Turbo file system list page.
                              2. In the file system list, click the name of the created SFS Turbo file system to go to its details page.
                              3. On the Basic Info tab, configure a cold data eviction duration.

                                Figure 7 Setting a cold data eviction duration

                              Evicting data by capacity

                              SFS Turbo file systems also support data eviction by capacity.

                              When the capacity usage of a file system reaches 95%, SFS Turbo will delete data that has not been accessed in the last 30 minutes until the capacity usage falls below 85%.

                              -
                              • Data can be evicted by time or capacity depending on which rule is triggered first.
                              • Cold data eviction is enabled by default, and the default duration is 60 hours. To configure a cold data eviction duration by calling the API, see section "Updating a File System" in the Scalable File Service API Reference.
                              • Services will be affected if the capacity of an SFS Turbo file system is used up, so you are advised to configure an alarm rule on Cloud Eye to monitor the file system capacity usage.
                              • When a file system capacity alarm is generated, change the cold data eviction duration to a shorter one, for example from 60 hours to 40 minutes to speed up data eviction, or simply expand the file system capacity.
                              +
                              • Data can be evicted by time or capacity depending on which rule is triggered first.
                              • Cold data eviction is enabled by default, and the default duration is 60 hours. To configure a cold data eviction duration by calling the API, see section "Updating a File System" in the Scalable File Service API Reference.
                              • Services will be affected if the capacity of an SFS Turbo file system is used up, so you are advised to configure an alarm rule on Cloud Eye to monitor the file system capacity usage.
                              • When a file system capacity alarm is generated, change the cold data eviction duration to a shorter one, for example, from 60 hours to 40 minutes, to speed up data eviction, or simply expand the file system capacity.
                              • In high-performance scenarios, you are advised to configure a relatively long eviction duration to avoid the high latency caused by frequently loading data from OBS.

                              Task Status

                              When you export data, a task record will be generated. You can view the task progress and status.

                              The system retains the latest 1,000 task records. Earlier records will be deleted automatically.

                              -
                              1. Above the storage backend list, click View Task Status.
                              2. View the task records about export tasks. Click to the right of the status to view the number of failures or success times.
                              3. In the search box in the upper right corner, enter the status, type, or creation time to filter tasks.
                              +
                              1. Above the storage backend list, click View Task Status.
                              2. View the task records about export tasks. Click to the right of the status to view the number of failures or successful executions.
                              3. In the search box in the upper right corner, enter the status, type, or creation time to filter tasks.
                              -

                              FAQs

                              • In what cases will SFS Turbo evicts data?

                                For the files imported from OBS to SFS Turbo, if they not accessed within the configured eviction duration, they will be evicted.

                                +

                                FAQs

                                • In what cases will SFS Turbo evict data?

                                  For the files imported from OBS to SFS Turbo, if they are not accessed within the configured eviction duration, they will be evicted.

                                  For the files created in SFS Turbo, they will only be evicted when they have been exported to OBS and meet the eviction rule. If they have not been exported, they will not be evicted.

                                • How do I import evicted data to my SFS Turbo file system?
                                  1. File data is loaded from the bucket to the file system when the file is read or written.
                                  2. You can use the data import function to manually load data to the file system.
                                  -
                                • In what scenarios will data import fail?

                                  When the SFS Turbo file system contains only the file metadata (only metadata is imported or data eviction happens) and the object in the OBS bucket has been deleted, importing data or access the file will fail.

                                  +
                                • In what scenarios will data import fail?

                                  When the SFS Turbo file system contains only the file metadata (only metadata is imported or data eviction happens) and the object in the OBS bucket has been deleted, importing data or accessing the file will fail.

                                • Are the import or export tasks synchronous or asynchronous?

                                  Tasks are asynchronous. After a task is submitted, you can query the task status based on the task ID.

                                • If I delete the files in the SFS Turbo interworking directory, will the objects in the OBS bucket be deleted as well?

                                  If auto synchronization is disabled, the answer is no. If auto synchronization is enabled, the answer is yes.

                                diff --git a/docs/sfs/umn/sfs_01_0346.html b/docs/sfs/umn/sfs_01_0346.html index 17360b1b4..6c69f806c 100644 --- a/docs/sfs/umn/sfs_01_0346.html +++ b/docs/sfs/umn/sfs_01_0346.html @@ -26,7 +26,7 @@

                Status

                Possible values are Available, Unavailable, Frozen, Creating, Deleting, Deletion error, Creation failed, Expanding, Expansion error, Capacity reducing, Capacity reduction error, and Capacity reduction failed.

                +

                Possible values are Available, Unavailable, Frozen, Creating, Deleting, Deletion error, Creation failed, Expanding, Expansion error, Capacity reducing, Capacity reduction error, and Capacity reduction failed.

                Protocol Type

                @@ -46,7 +46,7 @@

                Maximum capacity of the file system

                Encrypted

                +

                Encryption

                Encryption status of the file system. The value can be Yes or No.

                -

              15. Click the name of a file system to view detailed information about the file system.

                Figure 1 Basic information of an SFS Capacity-Oriented file system
                -
                Figure 2 Details of a general purpose file system
                -
                Figure 3 Details of an SFS Turbo file system
                +

              16. Click the name of a file system to view detailed information about the file system.

                Figure 1 Basic information of an SFS Capacity-Oriented file system
                +
                Figure 2 Basic information of a general purpose file system
                +
                Figure 3 Basic information of an SFS Turbo file system

              17. (Optional) Search for the specified file system by file system name.

                You can search for SFS Capacity-Oriented file systems by tag in the upper right area above the file system list.
                • On the displayed Search by Tag tab page, enter a tag key and a tag value (must be among existing keys and values) and click Search.
                • You can use more than one tag for a combination search. Each time after a key and a value are entered, click . The added search criteria are displayed under the text boxes. When more than one tag is added, they will be applied together for a combination search. A maximum of 20 tags can be added at a time.
                • You can click Reset under the search criteria to reset.

              18. diff --git a/docs/sfs/umn/sfs_01_0347.html b/docs/sfs/umn/sfs_01_0347.html index ac1158cee..5c64b5227 100644 --- a/docs/sfs/umn/sfs_01_0347.html +++ b/docs/sfs/umn/sfs_01_0347.html @@ -4,11 +4,11 @@

                Data in a deleted file system cannot be restored. Ensure that files in a file system have been properly stored or backed up before you delete the file system.

                Prerequisites

                The file system to be deleted has been unmounted. For details about how to unmount the file system, see Unmount a File System.

                -

                Procedure

                1. Log in to the SFS console.
                2. In the file system list, locate the file system you want to delete and click Delete in the Operation column.

                  If you want to delete more than one file system at a time, select the file systems, and then click Delete in the upper left part above the file system list. In the displayed dialog box, confirm the information and then click OK. Batch deletion is only supported for SFS Capacity-Oriented file systems.

                  -

                3. In the displayed dialog box for an SFS Turbo file system, as shown in Figure 1, confirm the information, enter DELETE in the text box, and click OK.

                  In the displayed dialog box for an SFS Capacity-Oriented or a general purpose file system, confirm the information and click OK.

                  -

                  Only file systems whose statuses are Available or Creation failed can be deleted.

                  +

                  Procedure

                  1. Log in to the SFS console.
                  2. In the file system list, locate the file system you want to delete and click Delete in the Operation column.

                    If you want to delete more than one file system at a time, select the file systems, and then click Delete in the upper left part above the file system list. In the displayed dialog box, confirm the information and then click OK. Batch deletion is only supported for SFS Capacity-Oriented file systems.

                    +

                  3. In the displayed dialog box for an SFS Turbo file system, confirm the information, enter DELETE in the text box, and click OK.

                    In the displayed dialog box for an SFS Capacity-Oriented or a general purpose file system, confirm the information and click OK.

                    +

                    Only file systems whose statuses are Available, Unavailable, or Creation failed can be deleted.

                    -
                    Figure 1 Deleting an SFS Turbo file system
                    +
                    Figure 1 Deleting an SFS Turbo file system

                  4. Check that the file system disappears from the file system list.
                  diff --git a/docs/sfs/umn/sfs_01_0348.html b/docs/sfs/umn/sfs_01_0348.html index d8dc18a86..bdcb8b3fe 100644 --- a/docs/sfs/umn/sfs_01_0348.html +++ b/docs/sfs/umn/sfs_01_0348.html @@ -1,31 +1,31 @@

                  Mounting a File System Times Out

                  -

                  Symptom

                  When a file system is mounted to servers using the mount command, message timed out is displayed.

                  +

                  Symptom

                  When a file system was mounted to a cloud server using the mount command, message timed out was returned.

                  -

                  Possible Causes

                  • Cause 1: The network status is not stable.
                  • Cause 2: The network connection is abnormal.
                  • Cause 3: The DNS configuration of the server is incorrect. As a result, the domain name of the file system cannot be resolved, and the mounting fails. This issue will not occur on SFS Turbo file systems.
                  • Cause 4: The server that mounts the file system runs Ubuntu18 or later.
                  +

                  Possible Causes

                  • Cause 1: The network status is not stable.
                  • Cause 2: The network connection is abnormal.
                  • Cause 3: The DNS configuration of the server is incorrect. As a result, the domain name of the file system cannot be resolved, and the mount fails. This issue will not occur on SFS Turbo file systems.
                  • Cause 4: The server that mounts the file system runs Ubuntu18 or later.

                  Fault Diagnosis

                  After the network fault is excluded, run the mount command again.

                  Solution

                  • Cause 1 and Cause 2: The network status is not stable or the network connection is abnormal.

                    Re-mount the file system after the network issue is addressed.

                    -
                    • If the patch is uninstalled successfully, no further action is required.
                    • If the problem persists, see the solution for cause 3.
                    -
                  • Cause 3: The DNS configuration of the server is incorrect. As a result, the domain name of the file system cannot be resolved, and the mounting fails.
                    1. Check the DNS configuration of the tenant and run the cat /etc/resolv.conf command.
                      • If the DNS has not been configured, configure it. For details about how to configure the DNS, see Configuring DNS.
                      • If the DNS has been configured, run the following command to check whether the DNS is correct:

                        nslookup File system domain name

                        +
                        • If the mount is successful, no further action is required.
                        • If the problem persists, see the solution for cause 3.
                        +
                      • Cause 3: The DNS configuration of the server is incorrect. As a result, the domain name of the file system cannot be resolved, and the mount fails.
                        1. Check the DNS configuration of the tenant and run the cat /etc/resolv.conf command.
                          • If the DNS has not been configured, configure it. For details, see Configuring DNS.
                          • If the DNS has been configured, run the following command to check whether the DNS is correct:

                            nslookup File system domain name

                            If the resolved IP address is in network segment 100, the DNS configuration is correct. If the IP address is in another network segment, the DNS configuration is incorrect. In this case, go to 2.

                          -
                        2. Modify the /etc/resolv.conf configuration file, configure the correct tenant DNS, and run vi /etc/resolv.conf to edit the /etc/resolv.conf file. Add the DNS server IP address above the existing nameserver information. The DNS server IP address is 100.125.4.25.
                          Figure 1 Configuring DNS
                          +
                        3. Modify the /etc/resolv.conf configuration file, configure the correct tenant DNS, and run vi /etc/resolv.conf to edit the /etc/resolv.conf file. Add the DNS server IP address above the existing nameserver information. The DNS server IP address is 100.125.4.25.
                          Figure 1 Configuring DNS
                          The format is as follows:
                          nameserver 100.125.4.25
                          -
                          • If the configuration succeeds, go to 3.
                          • If the configuration fails, run the lsattr /etc/resolv.conf command. If the information shown in Figure 2 is displayed, the file is locked.
                            Figure 2 A locked file
                            +
                            • If the configuration succeeds, go to 3.
                            • If the configuration fails, run the lsattr /etc/resolv.conf command. If the information shown in Figure 2 is displayed, the file is locked.
                              Figure 2 A locked file

                              Run the chattr -i/etc/resolv.conf command to unlock the file. Then, re-configure the DNS and go to 3.

                            -
                          • Press Esc, input :wq, and press Enter to save the changes and exit the vi editor.
                          • The default DNS of the ECS applied by the user is inherited from the VPC to which the ECS belongs. Therefore, when the ECS restarts, the ECS changes synchronously. For this reason, changing configurations of the ECS does not settle the issue completely. You need to modify configurations in the VPC. Set a correct tenant DNS for the subnet of the VPC to which the ECS belongs. See Figure 3 and Figure 4.
                            Figure 3 VPC details
                            +
                          • Press Esc, input :wq, and press Enter to save the changes and exit the vi editor.
                          • By default, the server inherits the DNS configuration of the VPC every time the server restarts. Changing only the server DNS configuration does not resolve the issue completely. You need to modify configurations in the VPC. Set a correct tenant DNS for the subnet of the VPC to which the ECS belongs. See Figure 3 and Figure 4.
                            Figure 3 VPC details

                            -
                            Figure 4 Modifying the DNS
                            -
                          • (Optional) Restart the server.
                          • Run the mount command again.
                            • If the problem is solved, no further action is required.
                            • If the problem persists, see the solution for cause 4.
                            +
                            Figure 4 Modifying the DNS
                            +
                          • (Optional) Restart the server.
                          • Run the mount command again.
                            • If the mount is successful, no further action is required.
                            • If the problem persists, see the solution for cause 4.
                        -
                      • Cause 4: The server that mounts the file system runs Ubuntu18 or later.
                        1. Reconfigure DNS by referring to Configuring DNS.
                        2. Check whether the target server running Ubuntu18 or later uses a private image.
                          • If yes, go to 4.
                          • If no, go to 3.
                          -
                        3. Convert the public image server to a private image server.
                          1. To create a private image based on an existing ECS, see section "Creating an Image" in the Elastic Cloud Server User Guide.
                          2. Use the private image created in 3.a to create an ECS or change the ECS OS. For details, see section "Changing the OS" in the Elastic Cloud Server User Guide.
                          -
                        4. Log in to the server and mount the file system again.
                        +
                      • Cause 4: The server that mounts the file system runs Ubuntu18 or later.
                        1. Reconfigure DNS by referring to Configuring DNS.
                        2. Check whether the server running Ubuntu18 or later was created from a private image.
                          • If yes, go to 4.
                          • If no, go to 3.
                          +
                        3. Convert the public image server to a private image server.
                          1. Create a private image for the server by referring to section "Creating an Image" in the Elastic Cloud Server User Guide.
                          2. Use the private image obtained in 3.a to create a server or change the server OS to the created private image by referring to section "Changing the OS" in the Elastic Cloud Server User Guide.
                          +
                        4. Log in to the server and remount the file system.
                  diff --git a/docs/sfs/umn/sfs_01_1001.html b/docs/sfs/umn/sfs_01_1001.html deleted file mode 100644 index 9c3301996..000000000 --- a/docs/sfs/umn/sfs_01_1001.html +++ /dev/null @@ -1,200 +0,0 @@ - - -

                  Mounting an NFS File System to ECSs (Linux)

                  -

                  After creating a file system, you need to mount the file system to servers so that they can share the file system.

                  -

                  In this section, ECSs are used as example servers. Operations on BMSs and containers (CCE) are the same as those on ECSs.

                  -

                  General purpose file systems cannot be mounted to 32-bit Linux servers.

                  -

                  Prerequisites

                  • You have checked the type of the operating system on each ECS. Different operating systems use different commands to install the NFS client.
                  • You have created a file system and have obtained the mount point of the file system.
                  • At least one ECS that belongs to the same VPC as the file system exists.
                  • The IP address of the DNS server for resolving the domain names of the file systems has been configured on the ECS. SFS Turbo file systems do not require domain name resolution.
                  -
                  -

                  Constraints

                  This constraint only applies to local paths (mount points) and does not affect other files or directories.

                  -
                  -

                  Metadata of the local paths (mount points) cannot be modified. Specifically, the following operations cannot be performed on the local paths' metadata:

                  -

                  - touch: Update file access time and modification time.

                  -

                  - rm: Delete files or directories.

                  -

                  - cp: Replicate files or directories.

                  -

                  - mv: Move files or directories.

                  -

                  - rename: Rename files or directories.

                  -

                  - chmod:Modify permissions on files or directories.

                  -

                  - chown: Change file or directory owners.

                  -

                  - chgrp: Change file or directory groups.

                  -

                  - ln: Create hard links.

                  -

                  - link: Create hard links.

                  -

                  - unlink: Delete hard links.

                  -

                  The atime, ctime, and mtime attributes of a local path (root directory of the mount point) are the current time. So each time the root directory attribute is queried, the current time of the server is returned.

                  -
                  -

                  Procedure

                  1. Log in to the management console using a cloud account.

                    1. Log in to the management console and select a region and a project.
                    2. Under Computing, click Elastic Cloud Server to go to the ECS console.
                    -

                  2. Log in to the ECS as user root.

                    If you log in to the ECS as a non-root user, see Mounting a File System to a Linux ECS as a Non-root User.

                    -
                    -

                  3. Install the NFS client.

                    1. Install the NFS client.
                      1. Run the following command to check whether the NFS software package is installed.
                        • In CentOS, Red Hat, Oracle Enterprise Linux, SUSE, EulerOS, Fedora, or OpenSUSE:

                          rpm -qa|grep nfs

                          -
                        • In Debian or Ubuntu:

                          dpkg -l nfs-common

                          -
                        -
                        If a command output similar to the following is displayed, the NFS software package has been installed and you can go to 4. If no such command output is displayed, go to b.
                        • In CentOS, Red Hat, EulerOS, Fedora, or Oracle Enterprise Linux:
                          libnfsidmap
                          -nfs-utils
                          -
                        • In SUSE or OpenSUSE:
                          nfsidmap
                          -nfs-client
                          -
                        • In Debian or Ubuntu:
                          nfs-common
                          -
                        -
                        -
                      2. Run the following command to install the NFS software package.

                        The following commands require that ECSs be connected to the Internet. Or, the installation will fail. Installing NFS clients requires enabling effective software repositories. Installing NFS clients will fail if no software repository is enabled or the ECS does not have any software repository. If installing NFS clients fails, refer to Enabling or Adding a Software Repository.

                        -
                        -
                        • In CentOS, Red Hat, EulerOS, Fedora, or Oracle Enterprise Linux:

                          sudo yum -y install nfs-utils

                          -
                        • In Debian or Ubuntu:

                          sudo apt-get install nfs-common

                          -
                        • In SUSE or OpenSUSE:

                          zypper install nfs-client

                          -
                        -
                      -
                    -

                  4. Run the following command to check whether the domain name in the file system mount point can be resolved. SFS Turbo file systems do not require domain name resolution. Skip this step and directly mount the file system.

                    nslookup File system domain name

                    -
                    • A file system domain name is just a part of the mount point, for example, sfs-nas1.example.com. You can obtain a file system domain name from the mount point of a file system. In this step, you are not supposed to enter the entire mount point but only the domain name.
                    • If the nslookup command cannot be used, install the bind-utils software package by running the yum install bind-utils command.
                    -
                    -
                    • If the domain name can be resolved, go to 5.
                    • If the domain name cannot be resolved, configure the DNS server IP address and then mount the file system. For details, see Configuring DNS.
                    -

                  5. Run the following command to create a local path for mounting the file system:

                    mkdir Local path

                    -

                    If there is any resource, such as a disk, already mounted on the local path, create a new path. (NFS clients do not refuse repeated mounts. If there are repeated mounts, information of the last successful mount is displayed.)

                    -
                    -

                  6. Run the following command to mount the file system to the ECS that belongs to the same VPC as the file system. Currently, the file system can be mounted to Linux ECSs using NFSv3 only.

                    Table 1 describes the variables.

                    -

                    To mount an SFS Capacity-Oriented file system, run the following command: mount -t nfs -o vers=3,timeo=600,noresvport,nolock Mount point Local path

                    -

                    To mount an SFS Turbo file system, run the following command: mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp Mount point Local path

                    -

                    To mount a general purpose file system, run the following command: mount -t nfs -o vers=3,timeo=600,nolock,proto=tcp Mount point Local path

                    -

                    General purpose file systems do not support the noresvport mount option.

                    -

                    After an ECS where file systems have been mounted restarts, it loses the file system mount information. You can configure automatic mount in the fstab file to ensure that an ECS automatically mounts file systems when it restarts. For details, see Mounting a File System Automatically.

                    -
                    -
                    -
                    - - - - - - - - - - - - - - - - - - - - - - - - - -
                    Table 1 Parameter description

                    Parameter

                    -

                    Description

                    -

                    vers

                    -

                    File system version. Only NFSv3 is supported currently, so the value is fixed to 3.

                    -

                    timeo

                    -

                    Waiting time before the NFS client retransmits a request. The unit is 0.1 second. The recommended value is 600.

                    -

                    noresvport

                    -

                    Whether the NFS client uses a new TCP port when a network connection is re-established.

                    -

                    It is strongly recommended you use the noresvport option, which ensures that your file system maintains uninterrupted availability after a network reconnection or recovery.

                    -

                    lock/nolock

                    -

                    Whether to lock files on the server using the NLM protocol. If nolock is selected, the lock is valid for applications on one host. For applications on another host, the lock is invalid. The recommended value is nolock. If this parameter is not specified, lock is selected by default. In this case, other servers cannot write data to the file system.

                    -

                    proto

                    -

                    Protocol used by NFS clients to send requests to the server. Both UDP and TCP protocols can be used.

                    -

                    UDP is currently not supported by general purpose file systems. If you are using general purpose file systems, set this option to tcp, that is, proto=tcp.

                    -

                    Mount point

                    -

                    The format for an SFS Capacity-Oriented file system is File system domain name:/Path, for example, example.com:/share-xxx. The format for an SFS Turbo file system is File system IP address:/, for example, 192.168.0.0:/.

                    -

                    Figure 1 shows an example.

                    -
                    NOTE:
                    • x is a digit or letter.
                    • If the mount point is too long to display completely, you can adjust the column width.
                    • Hover the mouse over the mount point to display the complete mount command.
                    -
                    -

                    Local path

                    -

                    Local path on the ECS, used to mount the file system, for example, /local_path.

                    -
                    -
                    -
                    -
                    Figure 1 Mount point
                    -

                    For more mounting parameters for performance optimization during file system mounting, see Table 2. Use commas (,) to separate parameters. The following command is an example:

                    -

                    mount -t nfs -o vers=3,timeo=600,nolock,rsize=1048576,wsize=1048576,hard,retrans=3,noresvport,ro,async,noatime,nodiratime Mount point Local path

                    - -
                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                    Table 2 Parameters for file system mounting

                    Parameter

                    -

                    Description

                    -

                    rsize

                    -

                    Maximum number of bytes that can be read from the server each time. The actual data is less than or equal to the value of this parameter. The value of rsize must be a positive integer that is a multiple of 1024. If the entered value is smaller than 1024, the value is automatically set to 4096. If the entered value is greater than 1048576, the value is automatically set to 1048576. By default, the setting is performed after the negotiation between the server and the client.

                    -

                    You are advised to set this parameter to the maximum value 1048576.

                    -

                    wsize

                    -

                    Maximum number of bytes that can be written to the server each time. The actual data is less than or equal to the value of this parameter. The value of wsize must be a positive integer that is a multiple of 1024. If the entered value is smaller than 1024, the value is automatically set to 4096. If the entered value is greater than 1048576, the value is automatically set to 1048576. By default, the setting is performed after the negotiation between the server and the client.

                    -

                    You are advised to set this parameter to the maximum value 1048576.

                    -

                    soft/hard

                    -

                    soft indicates that a file system is mounted in soft mount mode. In this mode, if an NFS request times out, the client returns an error to the invoking program. hard indicates that a file system is mounted in hard mount mode. In this mode, if the NFS request times out, the client continues to request until the request is successful.

                    -

                    The default value is hard.

                    -

                    retrans

                    -

                    Number of retransmission times before the client returns an error. Recommended value: 1

                    -

                    ro/rw

                    -
                    • ro: indicates that the file system is mounted as read-only.
                    • rw: indicates that the file system is mounted as read/write.
                    -

                    The default value is rw. If this parameter is not specified, the file system will be mounted as read/write.

                    -

                    noresvport

                    -

                    Whether the NFS client uses a new TCP port when a network connection is re-established.

                    -

                    It is strongly recommended you use the noresvport option, which ensures that your file system maintains uninterrupted availability after a network reconnection or recovery.

                    -

                    sync/async

                    -

                    sync indicates that data is written to the server immediately. async indicates that data is first written to the cache before being written to the server.

                    -

                    Synchronous write requires that an NFS server returns a success message only after all data is written to the server, which brings long latency. The recommended value is async.

                    -

                    noatime

                    -

                    If you do not need to record the file access time, set this parameter. This prevents overheads caused by access time modification during frequent access.

                    -

                    nodiratime

                    -

                    If you do not need to record the directory access time, set this parameter. This prevents overheads caused by access time modification during frequent access.

                    -
                    -
                    -

                    You are advised to use the default values for the parameters without usage recommendations.

                    -
                    -

                  7. Run the following command to view the mounted file system:

                    mount -l

                    -
                    If the command output contains the following information, the file system has been mounted.
                    Mount point on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
                    -
                    -

                  8. After the file system is mounted successfully, access the file system on the ECSs to read or write data.

                    If the mounting fails or times out, rectify the fault by referring to Troubleshooting.

                    -

                    The maximum size of a file that can be written to an SFS Capacity-Oriented file system is 240 TB.

                    -

                    The maximum size of a file that can be written to an SFS Turbo file system is 32 TB, and that for an SFS Turbo Enhanced file system is 320 TB.

                    -
                    -
                    -

                  -
                  -
                  -
                  - -
                  - - - \ No newline at end of file diff --git a/docs/sfs/umn/sfs_03_0036.html b/docs/sfs/umn/sfs_03_0036.html new file mode 100644 index 000000000..507330eb7 --- /dev/null +++ b/docs/sfs/umn/sfs_03_0036.html @@ -0,0 +1,38 @@ + + +

                  Migrating Data from SFS Capacity-Oriented to Other File Systems Using rclone

                  +

                  Solution Overview

                  You can migrate data from SFS Capacity-Oriented to General-Purpose File System or SFS Turbo.

                  +

                  In this solution, a Linux ECS is used to connect the SFS Capacity-Oriented file system and the destination file system.

                  +
                  +

                  Constraints

                  • Only Linux ECSs can be used for data migration.
                  • The Linux ECS, SFS Capacity-Oriented file system, and destination file system must be in the same VPC. If the destination file system is a general-purpose file system, you need to configure a VPC endpoint.
                  • Incremental migration is supported, so you can only migrate the changed data.
                  +
                  +

                  Prerequisites

                  • You have created a Linux ECS.
                  • You have created an SFS Capacity-Oriented file system and a destination file system and have obtained their mount points.
                  +
                  +

                  Procedure

                  1. Log in to the ECS console.
                  2. Log in to the created Linux ECS, which can access both the SFS Capacity-Oriented and the destination file systems.
                  3. Mount the SFS Capacity-Oriented file system, which is file system 1 in this example.

                    mount -t nfs -o vers=3,timeo=600,noresvport,nolock <mount-point-of-file-system-1> /mnt/src
                    +

                  4. Mount the general-purpose file system or SFS Turbo file system, which is file system 2 in this example.

                    mount -t nfs -o vers=3,timeo=600,noresvport,nolock <mount-point-of-file-system-2> /mnt/dst
                    +

                  5. Install rclone on the Linux ECS.

                    wget https://downloads.rclone.org/v1.53.4/rclone-v1.53.4-linux-amd64.zip --no-check-certificate
                    +unzip rclone-v1.53.4-linux-amd64.zip
                    +chmod 0755 ./rclone-*/rclone
                    +cp ./rclone-*/rclone /usr/bin/
                    +rm -rf ./rclone-*
                    +

                    rclone does not retain the file permissions or owner group information on the source. Use rsync if you have such requirements.

                    +
                    +

                  6. Synchronize data to the destination file system.

                    rclone copy /mnt/src /mnt/dst -P --transfers 32 --checkers 64 --links --create-empty-src-dirs
                    +

                    The parameters are described as follows. Set transfers and checkers based on the system specifications.

                    +
                    • /mnt/src: source path
                    • /mnt/dst: destination path
                    • --transfers: number of files that can be transferred concurrently
                    • --checkers: number of local files that can be scanned concurrently
                    • -P: data copy progress
                    • --links: replicates the soft links from the source. They are saved as soft links in the destination.
                    • --copy-links: replicates the content of files to which the soft links point. They are saved as files rather than soft links in the destination.
                    • --create-empty-src-dirs: replicates the empty directories from the source to the destination.
                    +
                    +

                    After data synchronization is complete, go to the destination file system to check whether data is migrated.

                    +

                  +
                  +

                  Verification

                  1. Log in to the Linux ECS.
                  2. Check the file synchronization results on the destination server.

                    cd /mnt/dst
                    +ls | wc -l
                    +

                    If the data volume is the same as that on the source server, data is migrated successfully.

                    +

                  +
                  +
                  +
                  + +
                  + diff --git a/docs/sfs/umn/sfs_03_0037.html b/docs/sfs/umn/sfs_03_0037.html new file mode 100644 index 000000000..f918f1ed8 --- /dev/null +++ b/docs/sfs/umn/sfs_03_0037.html @@ -0,0 +1,55 @@ + + +

                  Migrating Data from SFS Capacity-Oriented to General-Purpose File System Using fpart

                  +

                  Solution Overview

                  This section describes how to use fpart to migrate data from SFS Capacity-Oriented to General-Purpose File System. The migration aims to efficiently and securely migrate data while ensuring data integrity and consistency. The entire process includes a full migration (no impact on services), a first incremental migration (no impact on services), unmounting the SFS Capacity-Oriented file system (services are interrupted), a second incremental migration (services are interrupted), and changing the mount point (services are interrupted).

                  +
                  +

                  Constraints

                  • This solution is only applicable for the data migration using Linux ECSs.
                  • This solution is not applicable for SFS Capacity-Oriented file systems using CIFS or those mounted on Windows clients.
                  • The Linux ECS, SFS Capacity-Oriented file system, and general-purpose file system must be in the same VPC.
                  • If the general-purpose file system is used by a CCE cluster, the CCE cluster must be upgraded to version 1.19.10, and the everest add-on version must be later than 2.0.9.
                  +
                  +

                  Solution Architecture

                  Figure 1 Process of migrating data from SFS Capacity-Oriented to General-Purpose File System using fpart
                  +
                  +

                  Preparations

                  1. Create a general-purpose file system in the VPC where the SFS Capacity-Oriented file system resides. If no VPC is available, create one in the same region and then create the general-purpose file system. For how to create a VPC, see section "Creating a VPC with a Subnet" in the Virtual Private Cloud User Guide.
                  2. Buy a VPC endpoint (used for free) in the desired VPC.
                  3. If a Linux ECS is available, skip this step. If not, buy a Linux ECS. You are advised to buy an ECS with 8 or 16 vCPUs. This ECS must be in the VPC where the SFS Capacity-Oriented file system and general-purpose file system belong and can communicate with the file systems.
                  4. Install fpart on the Linux ECS.
                    yum -y install fpart rsync
                    +
                  5. Create two local mount points on the Linux ECS.
                    mkdir /mnt/src
                    +
                    mkdir /mnt/dst
                    +
                  6. Obtain the mount points of the SFS Capacity-Oriented file system and general-purpose file system from the console. Then, mount the file systems on the created local mount points (/mnt/src and /mnt/dst).
                    mount -t nfs -o vers=3,timeo=600,nolock  <mount-point-of-the-SFS-Capacity-Oriented-file-system> /mnt/src
                    +
                    mount -t nfs -o vers=3,timeo=600,nolock  <mount-point-of-the-general-purpose-file-system> mnt/dst
                    +
                  7. If the mount fails, install the required tool package by referring to section "Mounting an NFS File System to ECSs (Linux)" in the Scalable File Service Getting Started.
                  +
                  +

                  Procedure

                  1. Full migration: Migrate all files from the SFS Capacity-Oriented file system to the general-purpose file system.

                    1. Log in to the ECS using VNC and run the following command to synchronize data:
                      fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                      +
                      • n: the number of parallel copy threads
                      • f: the number of files each thread can copy
                      • o: the rsync configuration option
                      • v: the output detailed logs
                      • If there are a large number of files, you can run the command concurrently for the subdirectories in /mnt/src.
                      • You can adjust the n and f options based on the file and directory structure.
                      +
                      +
                    2. The default run log files are stored in /tmp/fpsync, under which log stores task run logs, parts stores file partition logs, queue stores execution configurations, and work stores the copy commands. A run ID is returned after you run the fpsync command. You can use this run ID to check the task running status.
                    +

                  2. First incremental migration: If there is data written to the source files from the service application during the full migration, synchronize the incremental data after the full migration is complete.

                    Run the following command to perform an incremental migration:
                    fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                    +

                    Take note of the start time and end time of this operation. This period is approximately equal to how long customer services need to be stopped in the following steps.

                    +
                    +
                    +

                  3. Unmounting the SFS Capacity-Oriented file system: To prevent new data from being written to the file system, before synchronizing the incremental data, stop the service application that uses the source file system on all ECSs and containers.

                    • Ensure that the SFS Capacity-Oriented file system is unmounted from all service ECSs (or cloud containers). Otherwise, after the migration, data in the general-purpose file system may be inconsistent with that in the SFS Capacity-Oriented file system.
                    • Do not unmount the SFS Capacity-Oriented file system from the ECS that you use to perform the migration.
                    • The operations vary in ECS and CCE scenarios. Refer to the operations based on your scenario.
                    • Ensure that services are stopped when you perform this step.
                    +
                    +

                    ECS scenario:

                    +
                    1. Log in to each service ECS that mounts the SFS Capacity-Oriented file system.
                    2. Unmount the SFS Capacity-Oriented file system.
                      umount -f <local-mount-point>
                      +
                    +

                  4. Second incremental migration: Synchronize the incremental data generated after the first incremental migration to the general-purpose file system. After the synchronization, data in the general-purpose file system will be the same as that in the SFS Capacity-Oriented file system.

                    fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                    +
                    • Check that data in the general-purpose file system is the same as that in the SFS Capacity-Oriented file system.
                    • Ensure that services are stopped when you perform this step.
                    +
                    +

                  5. Mounting the general-purpose file system: Switch the service to the general-purpose file system by mounting all service ECSs (or cloud containers) to the general-purpose file system.

                    ECS scenario:

                    +
                    1. Log in to the service ECS and run the following command to unmount the SFS Capacity-Oriented file system:
                      umount -f <local-mount-point>
                      +
                    2. Mount the general-purpose file system.
                      mount -t nfs -o vers=3,timeo=600,noresvport,nolock <mount-point-of-the-general-purpose-file-system>  <local-mount-point>
                      +
                    +
                    • Ensure that the mount parameters and directories are correct. Or, services may be affected.
                    +
                    +

                  6. The customer restores services and checks whether services are normal.
                  7. After observing the services for a period of time, the customer can release the SFS Capacity-Oriented file system resources to prevent unintended charges.
                  +
                  +

                  +
                  +
                  + +
                  + + + \ No newline at end of file diff --git a/docs/sfs/umn/sfs_03_0038.html b/docs/sfs/umn/sfs_03_0038.html new file mode 100644 index 000000000..a5f037a69 --- /dev/null +++ b/docs/sfs/umn/sfs_03_0038.html @@ -0,0 +1,53 @@ + + +

                  Migrating Data from SFS Capacity-Oriented to SFS Turbo Using fpart

                  +

                  Solution Overview

                  This section describes how to use fpart to migrate data from SFS Capacity-Oriented to SFS Turbo. The migration aims to efficiently and securely migrate data while ensuring data integrity and consistency. The entire process includes a full migration (no impact on services), a first incremental migration (no impact on services), unmounting the SFS Capacity-Oriented file system (services are interrupted), a second incremental migration (services are interrupted), and changing the mount point (services are interrupted).

                  +
                  +

                  Constraints

                  • This solution is only applicable for the data migration using Linux ECSs.
                  • The Linux ECS, SFS Capacity-Oriented file system, and SFS Turbo file system must be in the same VPC.
                  • This solution is not applicable for SFS Capacity-Oriented file systems using CIFS or those mounted on Windows clients.
                  • If the SFS Turbo file system is used by a CCE cluster, the CCE cluster must be upgraded to version 1.15+, and the everest add-on version must be later than 1.1.13.
                  +
                  +

                  Solution Architecture

                  Figure 1 Process of migrating data from SFS Capacity-Oriented to SFS Turbo using fpart
                  +
                  +

                  Preparations

                  1. Create an SFS Turbo file system in the VPC where the SFS Capacity-Oriented file system resides. If no VPC is available, create one in the same region and then create the SFS Turbo file system. For how to create an SFS Turbo file system, see Creating an SFS Turbo File System. For details about how to create a VPC, see section "Creating a VPC with a Subnet" in the Virtual Private Cloud User Guide.
                  2. If a Linux ECS is available, skip this step. If not, buy a Linux ECS. You are advised to buy an ECS with 8 or 16 vCPUs. This ECS must be in the VPC where the SFS Capacity-Oriented and SFS Turbo file systems belong and can communicate with the file systems.
                  3. Install fpart on the Linux ECS.
                    yum -y install fpart rsync
                    +
                  4. Create two local mount points on the Linux ECS.
                    mkdir /mnt/src
                    +
                    mkdir /mnt/dst
                    +
                  5. Obtain the mount points of the SFS Capacity-Oriented and SFS Turbo file systems from the console. Then, mount the file systems on the created local mount points (/mnt/src and /mnt/dst).
                    mount -t nfs -o vers=3,timeo=600,nolock <mount-point-of-the-SFS-Capacity-Oriented-file-system> /mnt/src
                    +
                    mount -t nfs -o vers=3,timeo=600,nolock <mount-point-of-the-SFS-Turbo-file-system> /mnt/dst
                    +
                  6. If the mount fails, install the required tool package by referring to section "Mounting an NFS File System to ECSs (Linux)" in the Scalable File Service Getting Started.
                  +
                  +

                  Procedure

                  1. Full migration: Migrate all files from the SFS Capacity-Oriented file system to the SFS Turbo file system.

                    1. Log in to the ECS using VNC and run the following command to synchronize data:
                      fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                      +
                      • n: the number of parallel copy threads
                      • f: the number of files each thread can copy
                      • o: the rsync configuration option
                      • v: the output detailed logs
                      • If there are a large number of files, you can run the command concurrently for the subdirectories in /mnt/src.
                      • You can adjust the n and f options based on the file and directory structure.
                      +
                      +
                    2. The default run log files are stored in /tmp/fpsync, under which log stores task run logs, parts stores file partition logs, queue stores execution configurations, and work stores the copy commands. You can check the task running status based on these logs.
                    +

                  2. First incremental migration: Synchronize the incremental data generated after the full migration to the SFS Turbo file system.

                    fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                    +

                    Take note of the start time and end time of this operation. This period is approximately equal to how long customer services need to be stopped in the following steps.

                    +
                    +

                  3. Unmounting the SFS Capacity-Oriented file system: To prevent new data from being written to the file system, before synchronizing the incremental data, stop the service application that uses the source file system on all ECSs and containers.

                    • Ensure that the SFS Capacity-Oriented file system is unmounted from all service ECSs (or cloud containers). Otherwise, after the migration, data in the SFS Turbo file system may be inconsistent with that in the SFS Capacity-Oriented file system.
                    • Do not unmount the SFS Capacity-Oriented file system from the ECS that you use to perform the migration.
                    • The operations vary in ECS and CCE scenarios. Refer to the operations based on your scenario.
                    • Ensure that services are stopped when you perform this step.
                    +
                    +

                    ECS scenario:

                    +
                    1. Log in to each service ECS that mounts the SFS Capacity-Oriented file system.
                    2. Unmount the SFS Capacity-Oriented file system.
                      umount -f <local-mount-point>
                      +
                    +

                  4. Second incremental migration: Synchronize the incremental data generated after the first incremental migration to the SFS Turbo file system. After the synchronization, data in the SFS Turbo file system will be the same as that in the SFS Capacity-Oriented file system.

                    fpsync -n 500 -f 500 -o "-lptgoDvu --numeric-ids" -v /mnt/src/ /mnt/dst/
                    +
                    • Check that data in the SFS Turbo file system is the same as that in the SFS Capacity-Oriented file system.
                    • Ensure that services are stopped when you perform this step.
                    +
                    +

                  5. Mounting the SFS Turbo file system: Switch the service to the SFS Turbo file system by mounting all service ECSs (or cloud containers) to the SFS Turbo file system.

                    ECS scenario:

                    +
                    1. Log in to the service ECS and run the following command to unmount the SFS Capacity-Oriented file system:
                      umount -f <local-mount-point>
                      +
                    2. Mount the SFS Turbo file system.
                      mount -t nfs -o vers=3,nolock <mount-point-of-the-SFS-Turbo-file-system>
                      +
                    +
                    • Ensure that the mount parameters and directories are correct. Or, services may be affected.
                    +
                    +

                  6. The customer restores services and checks whether services are normal.
                  7. After observing the services for a period of time, the customer can release the SFS Capacity-Oriented file system resources to prevent unintended charges.
                  +
                  +
                  +
                  + +
                  + + + \ No newline at end of file