2.4. RHCOS에서 커널 인수로 다중 경로 활성화


중요

설치 중에 멀티패스를 활성화하는 것은 OpenShift Container Platform 4.8 이상 버전에서 프로비저닝된 노드에 권장됩니다. I/O에서 최적화된 경로로 인해 I/O 시스템 오류가 발생하는 설정에서 설치 시 멀티패스를 활성화해야 합니다. 설치 시 멀티패스 활성화에 대한 자세한 내용은 베어 메탈에 설치 설명서의 "다중 경로 활성화"를 참조하십시오.

RHCOS(Red Hat Enterprise Linux CoreOS)는 기본 디스크에서 다중 경로를 지원하므로 하드웨어 장애에 대한 탄력성이 강화된 호스트 가용성을 높일 수 있습니다. 설치 후 지원은 머신 구성을 통해 다중 경로를 활성화하여 사용할 수 있습니다.

중요

IBM Z® 및 IBM® LinuxONE에서는 설치 중에 클러스터를 구성한 경우에만 멀티패스를 활성화할 수 있습니다. 자세한 내용은 IBM Z® 및 IBM® LinuxONE에 z/VM으로 클러스터 설치의 "RHCOS 설치 및 OpenShift Container Platform 부트스트랩 프로세스 시작"을 참조하십시오.

중요

다중 경로가 구성된 IBM Power®에서 "vSCSI" 스토리지가 있는 단일 VIOS 호스트에서 OpenShift Container Platform 4.16 클러스터를 설치 후 활동으로 구성하면 다중 경로가 활성화된 CoreOS 노드가 부팅되지 않습니다. 노드에서 하나의 경로만 사용할 수 있으므로 이 동작이 예상됩니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터 (버전 4.7 이상)가 실행되고 있어야 합니다.
  • 관리 권한이 있는 사용자로 클러스터에 로그인했습니다.
  • 디스크가 멀티패스에 활성화되어 있는지 확인했습니다. 멀티패스는 HBA 어댑터를 통해 SAN에 연결된 호스트에서만 지원됩니다.

프로세스

  1. 컨트롤 플레인 노드에서 다중 경로 설치 후 활성화하려면 다음을 수행합니다.

    • 다음과 같이 클러스터에 master 레이블를 추가하도록 지시하고 다중 경로 커널 인수를 식별하는 99-master-kargs-mpath.yaml과 같은 머신 구성 파일을 만듭니다.

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: "master"
        name: 99-master-kargs-mpath
      spec:
        kernelArguments:
          - 'rd.multipath=default'
          - 'root=/dev/disk/by-label/dm-mpath-root'
  2. 작업자 노드에서 다중 경로 설치 후 활성화하려면 다음을 수행합니다.

    • 다음과 같은 99-worker-kargs-mpath.yaml 과 같은 머신 구성 파일을 생성하여 클러스터에 worker 레이블을 추가하고 다중 경로 커널 인수를 식별합니다.

      apiVersion: machineconfiguration.openshift.io/v1
      kind: MachineConfig
      metadata:
        labels:
          machineconfiguration.openshift.io/role: "worker"
        name: 99-worker-kargs-mpath
      spec:
        kernelArguments:
          - 'rd.multipath=default'
          - 'root=/dev/disk/by-label/dm-mpath-root'
  3. 이전에 작성한 마스터 또는 작업자 YAML 파일을 사용하여 새 머신 구성을 생성합니다.

    $ oc create -f ./99-worker-kargs-mpath.yaml
  4. 머신 구성에서 새 구성이 추가되었는지 확인합니다.

    $ oc get MachineConfig

    출력 예

    NAME                                               GENERATEDBYCONTROLLER                      IGNITIONVERSION   AGE
    00-master                                          52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    00-worker                                          52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    01-master-container-runtime                        52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    01-master-kubelet                                  52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    01-worker-container-runtime                        52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    01-worker-kubelet                                  52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    99-master-generated-registries                     52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    99-master-ssh                                                                                 3.2.0             40m
    99-worker-generated-registries                     52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    99-worker-kargs-mpath                              52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             105s
    99-worker-ssh                                                                                 3.2.0             40m
    rendered-master-23e785de7587df95a4b517e0647e5ab7   52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m
    rendered-worker-5d596d9293ca3ea80c896a1191735bb1   52dd3ba6a9a527fc3ab42afac8d12b693534c8c9   3.2.0             33m

  5. 노드를 확인합니다.

    $ oc get nodes

    출력 예

    NAME                           STATUS                     ROLES    AGE   VERSION
    ip-10-0-136-161.ec2.internal   Ready                      worker   28m   v1.29.4
    ip-10-0-136-243.ec2.internal   Ready                      master   34m   v1.29.4
    ip-10-0-141-105.ec2.internal   Ready,SchedulingDisabled   worker   28m   v1.29.4
    ip-10-0-142-249.ec2.internal   Ready                      master   34m   v1.29.4
    ip-10-0-153-11.ec2.internal    Ready                      worker   28m   v1.29.4
    ip-10-0-153-150.ec2.internal   Ready                      master   34m   v1.29.4

    변경 사항이 적용되어 있기 때문에 각 작업자 노드의 예약이 비활성화되어 있음을 알 수 있습니다.

  6. 작업자 노드 중 하나로 이동하여 커널 명령 행 인수 (호스트의 /proc/cmdline 에 있음)를 나열하여 커널 인수가 작동하는지 확인합니다.

    $ oc debug node/ip-10-0-141-105.ec2.internal

    출력 예

    Starting pod/ip-10-0-141-105ec2internal-debug ...
    To use host binaries, run `chroot /host`
    
    sh-4.2# cat /host/proc/cmdline
    ...
    rd.multipath=default root=/dev/disk/by-label/dm-mpath-root
    ...
    
    sh-4.2# exit

    추가된 커널 인수가 표시되어야 합니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.