设置 IBM Cloud File Storage

如果您正在安装依赖于 Db2® 并且打算使用 IBM® Cloud File Storage 4进行持久存储,则必须配置ID映射,启用xml-ph-0000@deepl.internal。 NFS 4进行持久存储,则必须配置ID映射,启用 no_root_squash 。 配置 no_root_squash 后,root用户可以在远程 NFS 共享。

关于本任务

如果您要在 Cloud Pak for Data上安装以下任何服务,那么必须配置标识映射:
  • Db2
  • Db2 Warehouse
  • Watson Knowledge Catalog
  • OpenPages®
  • DataStage®
  • Big SQL
  • Data Virtualization

您可以通过守护程序集或通过在工作程序节点上运行手动命令来配置标识映射。 这些步骤还会在 IBM Cloud 环境中启用 no_root_squash。 有关更多详细信息,请参阅 IBM Cloud 文档中的对 NFS 实施 no_root_squash


通过守护程序集配置标识映射
  1. 通过运行以下命令,创建名为 norootsquash 的服务帐户:
    oc create -f - << EOF
    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: norootsquash
      namespace: kube-system
    EOF
  2. 通过运行以下命令,对该服务帐户指定特权安全上下文约束 (SCC):
    oc adm policy add-scc-to-user privileged system:serviceaccount:kube-system:norootsquash
    
  3. 通过运行以下命令来创建守护程序集:
    export DOMAIN_NAME=<>
    
    oc create -f - << EOF
    apiVersion: apps/v1
    kind: DaemonSet
    metadata:
      name: norootsquash
      namespace: kube-system
      labels:
        tier: management
        app: norootsquash
    spec:
      selector:
        matchLabels:
          name: norootsquash
      template:
        metadata:
          labels:
            name: norootsquash
        spec:
          serviceAccountName: norootsquash
          initContainers:
            - resources:
                requests:
                  cpu: 0.1
              securityContext:
                privileged: true
              image: alpine:3.6
              name: unrootsquash
              command: ["chroot", "/host", "sh", "-c"]
              args:
                - >
                  grep "^Domain = ${DOMAIN_NAME}" /etc/idmapd.conf;
                  if [ "\$?" -ne "0" ] ; then
                    sed -i 's/.*Domain =.*/Domain = ${DOMAIN_NAME}/g' /etc/idmapd.conf;
                    nfsidmap -c;
                    rpc.idmapd
                  fi;
              volumeMounts:
                - name: host
                  mountPath: /host
          containers:
            - resources:
                requests:
                  cpu: 0.1
              image: alpine:3.6
              name: sleep
              command: ["/bin/sh", "-c"]
              args:
                - >
                  while true; do
                    sleep 100000;
                  done
          volumes:
            - hostPath:
                path: /
                type: Directory
              name: host
    EOF
    


通过在工作程序节点上运行手动命令来配置标识映射
  • 运行以下命令以执行与 daemonset 相同的任务。 该命令针对每个节点大约需要 30 秒。 请注意,这些设置不会应用于新的工作程序节点,因此您必须手动添加。
    oc get no -l node-role.kubernetes.io/worker --no-headers -o name | xargs -I {} --  oc debug {} -- chroot /host sh -c 'grep "^Domain = ${DOMAIN_NAME}" /etc/idmapd.conf || ( sed -i "s/.*Domain =.*/Domain = slnfsv4.com/g" /etc/idmapd.conf; nfsidmap -c; rpc.idmapd )'
    
    注: ibm-cloud-file-storageDOMAIN_NAME 将为 slnfsv4.com