在 CentOS 中安装文件共享

在 CentOS 的 Linux® 计算实例上挂载 NFS 文件共享,可选启用传输过程中的IPsec加密(需要 dp2 配置文件及安全组访问模式)。

准备工作

  1. 验证计算主机是否属于与共享相同的 安全组。 更多信息,请参阅 粒度授权。

  2. 确认服务器所在的 VPC 存在共享的挂载目标。 如果需要新的安装目标,请遵循 创建文件共享和安装目标 中的指示信息。

  3. 从安装目标获取文件共享的安装路径。 可从 控制台 的文件共享详细信息页面、CLI、API 或 Terraform 获取安装路径信息。

  4. 如果要在传输过程中使用加密,则需要从元数据服务中获取 IPsec 证书。 确保为安装目标启用传输中的加密。 此外,使用安全连接安装文件共享。 此功能仅可用于具有 dp2 概要文件和安全组访问方式的文件共享。 有关更多信息,请参阅 Encryption in Transit-Securing mount connections between file share and host。

    安装并运行 mount helper 实用程序,以通过传输中的加密或不使用加密连接来安装文件共享。

File Storage for VPC 服务需要 NFS v4.1 或更高版本。

在 CentOS 上安装文件共享

通过执行以下步骤在 CentOS 主机上安装文件共享。 这些示例基于 CentOS 8。 这些步骤类似于 在 Red Hat Enterprise Linux® 上描述的步骤。

SSH 到要安装文件共享的 Compute 实例,然后继续执行以下步骤:

  1. 安装必需的工具。

    dnf install nfs-utils
    
  2. 在您的实例中创建一个目录。

    mkdir /mnt/test
    
  3. 挂载远程文件共享。

    mount -t nfs4 -o <options> <host:/mount_target> /mnt
    

    请参阅以下示例。

    mount -t nfs4 -o sec=sys 10.240.64.11:/384f711c_0684_4643_b1c3_dc7acb36d04a /mnt/test
    
  4. 使用磁盘文件系统命令验证安装是否成功。

    $ df -h
    Filesystem                                                                                    Size  Used Avail Use% Mounted on
    udev                                                                                          3.9G     0  3.9G   0% /dev
    tmpfs                                                                                         798M  660K  798M   1% /run
    /dev/vda2                                                                                      99G  1.6G   93G   2% /
    tmpfs                                                                                         3.9G     0  3.9G   0% /dev/shm
    tmpfs                                                                                         5.0M     0  5.0M   0% /run/lock
    tmpfs                                                                                         3.9G     0  3.9G   0% /sys/fs/cgroup
    /dev/vda1                                                                                     240M   73M  155M  33% /boot
    fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136  190G  384K  190G   1% /mnt/test
    tmpfs                                                                                         798M     0  798M   0% /run/user/0
    
  5. 转至安装点以创建测试文件并列出所有文件以验证共享是否已安装为读/写。

    touch /mnt/test/test.txt
    ls -al /mnt/test
    
    $ touch /mnt/test/test.txt
    ls -al /mnt/test
    total 12
    drwxr-xr-x   2 nobody nobody 4096 Apr 8 15:52 .
    dr-xr-xr-x. 22 root   root   4096 Apr 8 14:30 ..
    -rw-r--r--   1 nobody nobody    0 Apr 8 15:52 test.txt
    

    这些文件由 root 创建,所有者为 nobody:nobody。 要正确显示所有权,请使用正确的域设置更新 idmapd.conf。 如需了解更多信息,请参阅 《如何在 NFS 上实现no_root_squash》。

  6. 在启动时挂载远程文件共享。 要完成设置,您必须编辑文件系统表(/etc/fstab ),并将远程文件共享添加到启动时自动挂载的条目列表中。 在 fstab 中创建条目之前,请执行以下步骤将安装路径主机名添加到 /etc/hosts。

    1. 获取安装路径的 hostname.com 部分,例如 fsf-dal2433a-dz.adn.networklayer.com 并获取 IP 地址。 从实例运行以下命令以获取 IP 地址。

      host hostname.com
      

      请参阅以下示例。

      host fsf-dal2433a-dz.adn.networklayer.com
      fsf-dal2433a-dz.adn.networklayer.com has address 203.0.113.0
      

      如果在运行 host 命令时迂到“找不到命令”错误,请使用 dnf install bind-utils 进行安装。

    2. 编辑 /etc/hosts 并向主机名条目添加 IP。

       <IP_Address> hostname.comhostname.com
      

      请参阅以下示例。

      198.51.100.0 fsf-dal2433a-dz.adn.networklayer.com
      
    3. 编辑文件系统表 /etc/fstab,并添加条目。

      (hostname):/(file_share_path) /mnt nfs_version options 0 0
      

      请参阅以下示例。

      fsf-dal2433a-dz.adn.networklayer.com:/nxg_s_voll_246a9cb9-4679-4dc5-9522-4a7ed2575136 /mnt/test nfs4 nfsvers=4.1,sec=sys,_netdev 0 0
      
  7. 验证配置文件是否没有任何错误。

    mount -fav
    

    如果该命令执行完毕且未出现错误,则说明您的设置已完成。

    对于 NFS 4.1,请在挂载命令中添加 sec=sys,以避免文件所有权问题。 使用 _netdev 以等待安装存储器,直到启动所有网络组件为止。

如何对 NFS 实施 no_root_squash(可选)

默认情况下,NFS 会将所有以root权限创建的文件的所有权降级为 nobody 用户。 此安全功能部件会阻止共享特权,除非请求了这些特权。

通过配置 no_root_squash,root 客户机可以保留远程 NFS 文件共享上的 root 用户许可权。

对于 NFSv4.1,将 nfsv4 域设置为:slnfsv4.com,并启动 rpcidmapd 或您操作系统中使用的类似服务。 请参阅以下示例。

  1. 在主机上,通过 /etc/idmapd.conf 配置域名设置。

    $ vi /etc/idmapd.conf
    [General]
    #Verbosity = 0
    #The following should be set to the local NFSv4 domain name
    #The default is the host's DNS domain name.
    Domain = slnfsv4.com
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nobody
    
  2. 运行 nfsidmap -c。

卸装文件系统

要卸装主机上目前已安装的任何文件系统,请运行 umount 命令并输入磁盘名或安装点名称。

umount /dev/sdb
umount /mnt