配置本地存储

本页面介绍了如何为 GKE on Bare Metal 集群配置本地卷。

GKE on Bare Metal 集群提供了两种在集群中配置本地 PV 的选项:LVP 共享和 LVP 节点装载。LVP 共享使用共享文件系统中的目录,而 LVP 节点装载使用专用磁盘。

LVP 共享

此存储类别会在集群中的每个节点上创建一个由本地共享文件系统中的子目录支持的本地 PV。创建集群时,系统会自动创建这些子目录。使用这种存储类别的工作负载会共享容量和 IOPS,因为 PV 由同一共享文件系统支持。为了获得更好的隔离性,我们建议改为通过 LVP 节点装载配置磁盘。

配置 LVP 共享

  1. 可选:在创建集群之前,使用已配置的路径作为装载点装载磁盘,以便创建的 PV 共享新的磁盘容量并与启动磁盘隔离。

  2. 在集群 CR 的 lvpShare 下指定以下内容:

    • path:在其中创建子目录的各个主机上的主机路径。将为每个子目录创建一个本地 PV。默认路径为 /mnt/localpv-share
    • storageClassName:在创建集群的过程中创建 PV 的存储类别。默认值为 local-shared
    • numPVUnderSharedPath:要在 path 下创建的子目录数。默认值为 5

    配置类似于以下内容:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      storage:
        lvpShare:
          path: /mnt/localpv-share
          storageClassName: local-shared
          numPVUnderSharedPath: 5
    

使用 storageClassName 中指定的存储类别创建 PV。在集群中创建的本地 PV 总数为 numPVUnderSharedPath 乘以节点数。

LVP 节点装载

此存储类别会为已配置目录中的每个已装载磁盘创建一个本地 PV。每个 PV 都映射到容量等于指定磁盘容量的磁盘。在集群中创建的本地 PV 总数为所有节点路径下装载的磁盘数。您可以在创建集群后添加更多装载。

配置 LVP 节点装载

  1. 在具有额外 PV 磁盘的节点上,格式化每个磁盘并装载到路径下。此操作也可以在创建集群之前或之后完成。请参阅最佳做法

    1. 列出磁盘并找到要装载的磁盘:

      sudo lsblk
      
    2. 格式化磁盘,例如使用单个 ext4 文件系统:

      sudo mkfs.ext4 -m 0 -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/DEVICE_ID
      
    3. 在已配置路径下,创建一个目录作为新磁盘的装载点:

      sudo mkdir -p /mnt/localpv-disk/MNT_DIR
      
    4. 装载磁盘:

      sudo mount -o discard,defaults /dev/DEVICE_ID /mnt/localpv-disk/MNT_DIR &&
      sudo chmod a+w /mnt/localpv-disk/MNT_DIR
      
    5. 将磁盘添加到 /etc/fstab 文件中,以便在实例重启时设备会自动重新装载:

      # Backup of your current /etc/fstab file
      sudo cp /etc/fstab /etc/fstab.backup
      
      # Use the blkid command to find the UUID for the zonal persistent disk
      sudo blkid /dev/DEVICE_ID
      
      # Edit /etc/fstab file: create an entry that includes the UUID
      UUID=UUID_VALUE /mnt/disks/MNT_DIR ext4 discard,defaults,NOFAIL_OPTION 0 2
      
  2. 在集群 CR 的 lvpNodeMounts 下指定以下内容:

    • path:每个装载的主机路径,在其中发现已装载磁盘并创建一个本地 PV。默认路径为 /mnt/localpv-disk
    • storageClassName:在创建集群的过程中创建 PV 的存储类别。默认值为 local-disks

    配置类似于以下内容:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: Cluster
    metadata:
      name: cluster1
      namespace: cluster-cluster1
    spec:
      storage:
        lvpNodeMounts:
          path: /mnt/localpv-disk
          storageClassName: local-disks
    

    使用 storageClassName 中指定的存储类别创建 PV。创建的 PV 总数为所有节点 path 下装载的磁盘数。

后续步骤