更新时间:2025-08-12 GMT+08:00

设置并行文件系统挂载参数

本章节主要介绍如何设置并行文件系统的挂载参数。您可以在PV中设置挂载参数,然后通过PVC绑定PV。

并行文件系统挂载参数

CCI 2.0在挂载并行文件系统时默认设置了表1表2的参数,其中表1中的参数不可取消。除了这些参数外,您还可以设置其他的并行文件系统挂载参数,具体请参见挂载并行文件系统

表1 默认使用且不可取消的挂载参数

参数

是否必选

参数类型

描述

use_ino

无需填写参数值

参数解释:使用该选项,由obsfs分配inode编号。读写模式下自动开启。

big_writes

无需填写参数值

参数解释:配置后可更改写缓存最大值大小。

nonempty

无需填写参数值

参数解释:允许挂载目录非空。

allow_other

无需填写参数值

参数解释:允许其他用户访问挂载目录。

no_check_certificate

无需填写参数值

参数解释:不校验服务端证书。

表2 默认使用且可修改的挂载参数

参数

是否必选

参数类型

描述

max_write

Int

参数解释:仅配置big_writes的情况下才生效,推荐使用128KB。

默认取值:131072

ssl_verify_hostname

Int

参数解释:不根据主机名验证SSL证书。

默认取值:0

max_background

Int

参数解释:可配置后台最大等待请求数,并行文件系统自动使用。

默认取值:100

umask

Int

参数解释:配置文件权限的掩码。例如,如果umask值为022,而目录最大权限为777,则设置umask后该目录权限为777 - 022 = 755,即rwxr-xr-x。

默认取值:0

在PV中设置挂载参数

在PV中设置挂载参数可以通过mountOptions字段实现,如下所示,mountOptions支持挂载的字段请参见并行文件系统挂载参数

  1. 使用ccictl连接CCI2.0。
  2. 在PV中设置挂载参数,示例如下:

    apiVersion: cci/v2
    kind: PersistentVolume
    metadata:
      name: pv-obs                                  # PV的名称
    spec:
      accessModes:
      - ReadWriteMany                               # 访问模式,并行文件系统必须为ReadWriteMany
      capacity:
        storage: 1Gi                               # 存储容量大小,此处仅为校验需要(不能为空和0),设置的大小不起作用
      csi:
        driver: obs.csi.everest.io                  # 挂载依赖的存储驱动
        fsType: obsfs                              # 实例类型
        volumeHandle: <your_file_system_name>   # 并行文件系统的名称 
        nodePublishSecretRef:                       # 设置并行文件系统的密钥
          name: <your_secret_name>                  # Secret的名称
          namespace: <your_namespace>               # Secret的命名空间
      persistentVolumeReclaimPolicy: Retain         # 回收策略
      storageClassName: csi-obs                  # 存储类名称
      mountOptions:                                 # 挂载参数
      - umask=027

  3. PV创建后,可以创建PVC关联PV,然后在工作负载的容器中挂载,具体操作步骤请参见通过静态存储卷使用已有并行文件系统
  4. 验证挂载参数是否生效。

    本例中将PVC挂载至使用nginx:latest镜像的工作负载,可以登录到运行挂载并行文件系统卷的Pod所在节点,执行以下命令观察进程详情:

    ps -ef | grep obsfs
    回显如下所示:
    root      1470     1  0 Jul03 ?        00:01:23 /bin/obsfs {your_obs_name} /mnt/paas/kubernetes/kubelet/pods/{pod_uid}/volumes/kubernetes.io~csi/{your_pv_name}/mount -o url=https://{endpoint}:443 -o endpoint={region} -o passwd_file=/opt/everest-host-connector/obstmpcred/{pod_uid}/{your_obs_name} -o allow_other -o nonempty -o big_writes -o use_ino -o no_check_certificate -o ssl_verify_hostname=0 -o max_background=100 -o umask=027 -o max_write=131072