로컬 스토리지 구성

개요

이 페이지에서는 베어메탈용 Anthos 클러스터에 클러스터의 로컬 볼륨을 구성하는 방법을 보여줍니다.

베어메탈용 Anthos 클러스터는 클러스터에서 로컬 PV를 구성하는 두 가지 옵션(LVP 공유 및 LVP 노드 마운트)을 제공합니다. LVP 공유는 공유 파일 시스템의 디렉터리를 사용하지만 LVP 노드 마운트는 전용 디스크를 사용합니다.

LVP 공유

이 스토리지 클래스는 클러스터의 모든 노드에서 로컬 공유 파일 시스템의 하위 디렉터리에 의해 지원되는 로컬 PV를 만듭니다. 이러한 하위 디렉터리는 클러스터 생성 중에 자동으로 생성됩니다. 이 스토리지 클래스를 사용하는 워크로드는 PV가 동일한 공유 파일 시스템에서 지원되기 때문에 용량과 IOPS를 공유합니다. 더 나은 격리를 위해 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
    

PV는 storageClassName에 지정된 스토리지 클래스로 생성됩니다. 클러스터에 생성된 총 로컬 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
    

    PV는 storageClassName에 지정된 스토리지 클래스로 생성됩니다. 생성된 총 PV 수는 모든 노드에서 path에 마운트된 디스크 수입니다.

다음 단계