
# 在云服务器上挂载并使用通用文件系统（Linux）
#### 操作场景
如果您想访问通用文件系统数据和实现共享访问，您需要先创建通用文件系统，并在多个云服务器上完成挂载操作。
本章节介绍如何在SFS控制台创建NFS协议的通用文件系统，并将通用文件系统挂载到ECS实例（Linux）上，实现上传和下载文件等操作。
#### 操作流程
| 操作步骤                                           | 说明                                          |
|:---|:---|
| [准备工作]     | 注册华为账号并开通华为云，实名认证，为账户充值，创建VPC终端节点、VPC和ECS等。 |
| [创建通用文件系统]  | 创建一个通用文件系统。                                 |
| [挂载通用文件系统] | 将通用文件系统挂载到ECS实例上。                           |
| [使用通用文件系统]  | 使用通用文件系统，实现上传和下载文件等操作。                      |
   
 #### 准备工作
1. 注册账号并实名认证。 在购买SFS之前，请先[注册华为账号并开通华为云](https://support.huaweicloud.com/usermanual-account/account_id_001.html)、[实名认证](https://support.huaweicloud.com/usermanual-account/zh-cn_topic_0071343161.html)。
   如果您已开通华为云并进行实名认证，请忽略此步骤。
   
2. 为账户充值。 请保证账户有足够的资金，以免使用SFS失败。具体操作，请参见[账户充值](https://support.huaweicloud.com/usermanual-billing/bills-topic_30000002.html)。
   
3. 创建VPC终端节点。 通用文件系统在挂载云服务器前，可以先参阅[创建VPC终端节点](https://support.huaweicloud.com/usermanual-sfs/sfs_01_0134.html)完成创建VPC终端节点，或者在创建通用文件系统时打开"自动创建VPC终端节点"开关，自动创建VPC终端节点的具体详情请参阅[创建通用文件系统](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428727.html)。
   
4. 创建VPC和ECS 创建通用文件系统前，确认是否已创建VPC和ECS，并将ECS归属到已创建的VPC下。如果VPC不一致，SFS可通过[VPC对等连接](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0046655036.html)建立与ECS的通信。
   - 创建VPC。
   
   
   参考["创建虚拟私有云和子网"](https://support.huaweicloud.com/usermanual-vpc/zh-cn_topic_0013935842.html)章节创建VPC。
   - 创建ECS。
   
   
   参考["快速购买和使用Linux ECS"](https://support.huaweicloud.com/qs-ecs/ecs_01_0103.html)章节在华北-北京四购买ECS，同时将ECS归属到已创建的VPC下。
   
 
 #### 步骤一：创建通用文件系统
文件系统是SFS中存储文件的容器。您需要先创建一个通用文件系统，然后才能在SFS中存储数据。
本步骤仅针对示例中的关键参数进行设置和介绍，其他参数保持默认，更多创建通用文件系统的详细信息请参见[创建通用文件系统](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428727.html)。
1. [登录SFS控制台](https://console.huaweicloud.com/sfs/#/sfs/list)。
2. 在页面右上角单击"创建文件系统"。
3. 根据界面提示配置参数，参数说明如[表1]所示。
   
   
   
   ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002309032812.png "点击放大")
    表1参数说明 
   | 参数           | 示例                                       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   |:---|:---|:---|
   | 复制已有通用文件系统配置 | -                                        | 可选。单击"选择源通用文件系统"后，可以在文件系统列表中选择一个源通用文件系统。返回后页面会自动复制源通用文件系统的以下配置信息：区域、可用区、协议类型、授权信息、企业项目、标签。 选择后您仍可以根据业务情况对复制的配置信息进行部分或全部更改。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 区域           | **华北-北京四** | 租户所在的区域。 需要选择和云服务器、VPC终端节点同一个区域。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 可用区          | **可用区1**                                 | 可用区指在同一区域下，电力、网络隔离的物理区域，可用区之间内网互通，不同可用区之间物理隔离。 如果您需要较低的网络时延，建议您选择和云服务器相同的可用区。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 名称           | **sfs-name-001**                         | 用户自定义通用文件系统的名称。 需全局唯一，不能与已有的通用文件系统名称重复，包括其他用户创建的通用文件系统。通用文件系统创建成功后，不支持修改名称。 删除通用文件系统后，需要等待12小时以上才能创建同名通用文件系统。 长度范围为3到63个字符，只能由小写字母、数字、中划线"-"和英文句点"."组成，禁止两个英文句号（.）相邻，禁止英文句号（.）和中划线（-）相邻，禁止以英文句号（.）和中划线（-）开头或结尾，禁止使用IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 授权方式         | **VPC授权**                                | 您可以根据需求选择VPC授权或复制授权。 VPC授权：选择弹性云服务器和VPC终端节点所在的VPC。云服务器无法访问不在同一VPC下的文件系统，需要选择与云服务器相同的VPC。后续可以在权限列表中补充添加其他VPC。 复制授权：在选择了复制已有通用文件系统配置后默认选择该选项。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | VPC          | **-**                                    | 授权方式为VPC授权时，需要手动选择VPC。 需要先选择对应VPC所在的IAM项目，再选择对应的VPC。IAM项目的含义请参阅[项目管理](https://support.huaweicloud.com/usermanual-iam/iam_05_0001.html)。 需要选择弹性云服务器和VPC终端节点所在的VPC。 云服务器无法访问不在同一VPC下的通用文件系统，需要选择与云服务器相同的VPC。后续可以在权限列表中补充添加其他VPC。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   | VPC终端节点      | **-**                                    | 选中VPC后可以查看该通用文件系统下是否有可用的VPC终端节点。 - 如果有：列表展示VPC终端节点的ID以及对应的路由表、创建时间。单击ID和路由表的值，可跳转对应的VPC终端节点和路由表的基本信息页面。自动创建VPC终端节点开关默认关闭。  - 如果没有：您可以选择手动或自动创建VPC终端节点。 - 手动创建：单击VPC下方的"创建VPC终端节点"。  - 自动创建：打开"自动创建VPC终端节点"开关，打开开关后将展示VPC终端节点的服务名称。 选择路由表。如果没有路由表，请单击"新建路由表"创建一个路由表。      注意： - 仅支持VPC授权场景自动创建VPC终端节点。  - 通用文件系统创建VPC终端节点为免费操作。  - 如果公网无法互通，请排查VPC终端节点是否正确创建，并检查VPC终端节点路由表关联的子网和ECS所在的子网是否是同一个子网。   |
   | 企业项目         | **default**                              | 仅当使用企业类型的账号创建SFS Turbo文件系统时，会显示该参数。 用于按项目统一管理云资源。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      
   
   
4. 配置完成后，单击"立即创建"。
5. 核对通用文件系统信息，确认无误后单击"提交"。
6. 根据页面提示，返回通用文件系统列表页面。 
   您可以看到通用文件系统显示在文件系统列表中，则表示通用文件系统创建成功；如果通用文件系统列表没有该文件系统，则为创建失败，请[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)进行技术咨询。
   
   ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002343111873.png "点击放大")
   
   
 
 #### 步骤二：挂载通用文件系统
当创建通用文件系统成功后，您需要使用云服务器来挂载该通用文件系统，以实现多个云服务器共享使用通用文件系统的目的。
1. 以root用户[登录弹性云服务器](https://console.huaweicloud.com/ecm/#/ecs/manager/vmList)。可以通过管理控制台或跨平台远程访问工具（例如PuTTY）登录已购买的ECS。
   
   
   ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002342949341.png "点击放大")
   
   
   
   
2. 安装NFS客户端。 
   1. 执行如下命令查看系统（此处以CentOS为例）是否安装NFS软件包。
      ```
      rpm -qa|grep nfs
      ```
      如果回显如下信息，说明已经成功安装NFS软件包，执行[解析域名步骤]。如未显示，执行[安装命令]。
      ```
      libnfsidmap
      nfs-utils
      ```
      ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002309150074.png)
      
   
   2. 如果查看到未安装，执行如下命令。
      ```
      sudo yum -y install nfs-utils
      ```
      ![](https://support.huaweicloud.com/qs-sfs/public_sys-resources/note_3.0-zh-cn.png)
      执行命令前要求云服务器已连接到互联网，否则安装NFS客户端失败。
      
   
   
   
   
3. 查看是否能解析通用文件系统共享路径中的域名。
   
   ```
   nslookup 通用文件系统域名
   ```
   ![](https://support.huaweicloud.com/qs-sfs/public_sys-resources/note_3.0-zh-cn.png)
   - 通用文件系统域名请从挂载地址中获取。例如，通用文件系统的挂载地址为xxx:/sfs-name-001，xxx为通用文件系统的域名，sfs-name-001为通用文件系统的名称。
   
   - 无法使用**nslookup** 命令时，需要先安装**bind-utils** 软件包。（可通过执行**yum install bind-utils**命令安装）
    
   - 解析成功，执行[挂载NFS文件系统到根目录]。
   
   - 解析失败，请先完成DNS服务器IP地址的配置再执行挂载通用文件系统的操作，具体配置操作请参见[配置解析域名的DNS服务器](https://support.huaweicloud.com/usermanual-sfs/sfs_01_0038.html)。
   
   
   
   
4. 挂载NFS文件系统到根目录。
   
   ```
   mkdir 本地路径
   mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp 挂载地址 本地路径
   ```
   ![](https://support.huaweicloud.com/qs-sfs/public_sys-resources/note_3.0-zh-cn.png)
   如果本地路径已挂载其他磁盘等资源，为被占用状态时，需要新建其它目录进行挂载（NFS客户端不会对重复挂载进行拦截，当重复挂载时会表现为最后一次成功挂载的信息）。
   
   | **参数**         | **说明**                                                                                                           |
   |:---|:---|
   | **vers**       | 通用文件系统版本，目前只支持NFSv3。取值：3。                                                                                        |
   | **timeo**      | NFS客户端重传请求前的等待时间（单位为0.1秒）。建议值：600。                                                                               |
   | **noresvport** | 指定NFS客户端向NFS服务端重新发起建立连接时使用新的TCP端口。 强烈建议使用noresvport参数，这可以保障网络发生故障恢复事件后文件系统服务不会中断。   |
   | **nolock**     | 选择是否使用NLM协议在服务器上锁定文件。当选择nolock选项时，锁对于同一主机的应用有效，对不同主机不受锁的影响。                                                      |
   | **tcp**        | NFS客户端向服务器发起传输请求使用的协议，可以为UDP或者TCP。 当前通用文件系统不支持UDP传输协议，需要设置为TCP传输协议，即**proto=tcp**。 |
   | **挂载地址**       | 该挂载地址格式为：通用文件系统域名:/通用文件系统名称。例如example.com:/sfs-name-001。                                                         |
   | **本地路径**       | 云服务器上用于挂载通用文件系统的本地路径。例如"/local_path"。                                                                            |
      
   
   
5. 挂载完成后，执行如下命令，查看已挂载的通用文件系统。 
   ```
   mount -l
   ```
   如果回显包含如下类似信息，说明挂载成功。
   ```
   挂载地址 on /local_path type nfs (rw,vers=3,timeo=600,nolock,addr=)
   ```
   
   
6. (可选）配置fstab文件开机自动挂载通用文件系统。 
   已挂载通用文件系统的云服务器重启后，该云服务器上的挂载信息将会丢失，您可以通过在fstab文件中配置自动挂载来保证云服务器重启时自动挂载通用文件系统。
   1. 执行以下命令编辑"/etc/fstab"文件。
   
   
   ```
   vi /etc/fstab
   ```
   在文件的最后新增要挂载的通用文件系统信息，配置样例如下：
   ```
   挂载地址 /local_path nfs vers=3,timeo=600,noresvport,nolock,tcp 0 0
   ```
   其中，"挂载地址"和"/local_path"需根据实际情况进行修改。挂载地址可以从通用文件系统的"共享路径"一栏获取。具体字段说明如下所示。
   ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002343248865.png "点击放大")
   
   
   
   | **参数**                                     | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | **挂载地址**                                   | 通用文件系统的挂载地址。设置为[挂载NFS文件系统到根目录]中mount命令中的挂载地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | **/local_path**                            | 挂载点，即云服务器上创建的挂载通用文件系统的目录。设置为[挂载NFS文件系统到根目录]中mount命令中的本地路径。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | **nfs**                                    | 挂载类型，指通用文件系统或分区类型。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   | **vers=3,timeo=600,noresvport,nolock,tcp** | 用于设置挂载的参数，多个选项之间以英文逗号进行分隔。 - vers：通用文件系统版本，取值为3代表NFSv3。  - timeo：NFS客户端重传请求前的等待时间（单位为0.1秒）。建议值：600。  - noresvport：指定NFS客户端向NFS服务端重新发起建立连接时使用新的TCP端口。强烈建议使用noresvport参数，可保障网络发生故障恢复事件后文件系统服务不会中断。  - nolock：选择是否使用NLM协议在服务器上锁文件。当选择nolock选项时，锁对于同一主机的应用有效，对不同主机不受锁的影响。  - tcp：TCP传输协议。   |
   | **0**                                      | - 大于0的整数：让备份程序dump备份通用文件系统。数字越小越先备份。  - 0：不备份通用文件系统。                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   | **0**                                      | - 根目录分区默认设置为1，其他分区从2开始：在云服务器启动时用fsck程序检查通用文件系统以及以什么顺序检查，数字越小越先检查。  - 0：不检查通用文件系统。                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      
   ![](https://support.huaweicloud.com/qs-sfs/public_sys-resources/notice_3.0-zh-cn.png)
   为获得最优的系统性能，建议按照"配置样例"进行配置。如果业务需要，您也可以根据实际情况自定义部分挂载参数，但变更配置后将会在一定程度上影响系统性能。
   2. 单击"Esc"，并输入**:wq**，保存文件并退出。
   
   
   
   3. （可选）执行以下命令，查看修改后的fstab文件内容。
   
   
   ```
   cat /etc/fstab
   ```
   
   
![](https://support.huaweicloud.com/qs-sfs/public_sys-resources/note_3.0-zh-cn.png)
了解详细挂载步骤请参考[挂载SFS Turbo文件系统到Linux云服务器](https://support.huaweicloud.com/usermanual-sfs/zh-cn_topic_0034428728.html)。
 #### 步骤三：使用通用文件系统
挂载成功后，用户可以在云服务器上把通用文件系统当作一个普通的目录，执行读取或写入操作。
1. 远程连接ECS实例，执行以下命令，在ECS实例上写入通用文件系统。 
   ```
   # /mnt/sfs为挂载的本地目录
   mkdir /mnt/sfs/dir1
   touch /mnt/sfs/file1
   echo 'hello sfs' > /mnt/sfs/file2
   ```
   
   
2. 远程连接ECS实例，执行以下命令，在ECS实例上读取通用文件系统。 
   ```
   ls /mnt/sfs
   ```
   返回如图所示的信息，说明成功访问NFS协议的通用文件系统。
   ![](https://support.huaweicloud.com/qs-sfs/zh-cn_image_0000002342949361.png "点击放大")
   
   
 
#### 相关信息
当您完成创建通用文件系统、挂载通用文件系统后，您还可以结合业务需求使用以下高阶功能。
- [配置生命周期](https://support.huaweicloud.com/usermanual-sfs/sfs_01_0142.html)：通用文件系统支持通过配置生命周期规则，将设定某时间内通用文件系统文件转换为低频存储，从而节约成本。
 
