14장. IBM Z 또는 IBM(R) LinuxONE 환경에서 추가 장치 구성

OpenShift Container Platform을 설치한 후 z/VM과 함께 설치된 IBM Z 또는 IBM® LinuxONE 환경에서 클러스터에 대한 추가 장치를 구성할 수 있습니다. 다음 장치를 구성할 수 있습니다.

  • 파이버 채널 프로토콜(FCP) 호스트
  • FCP LUN
  • DASD
  • qeth

MCO(Machine Config Operator)를 사용하여 udev 규칙을 추가하거나 장치를 수동으로 구성할 수 있습니다.

참고

여기에 설명된 절차는 z/VM 설치에만 적용됩니다. IBM Z 또는 IBM® LinuxONE 인프라에 RHEL KVM을 사용하여 클러스터를 설치한 경우 KVM 게스트에 장치를 추가한 후 추가 구성이 필요하지 않습니다. 그러나 z/VM 및 RHEL KVM 환경에서 모두 Local Storage Operator 및 Kubernetes NMState Operator를 구성하려면 다음 단계를 적용해야 합니다.

14.1. MCO(Machine Config Operator)를 사용하여 추가 장치 구성

이 섹션의 작업은 MCO(Machine Config Operator) 기능을 사용하여 IBM Z 또는 IBM® LinuxONE 환경에서 추가 장치를 구성하는 방법을 설명합니다. MCO를 사용하여 장치를 구성하는 것은 영구적이지만 컴퓨팅 노드에 대한 특정 구성만 허용합니다. MCO는 컨트롤 플레인 노드가 다른 구성을 갖는 것을 허용하지 않습니다.

사전 요구 사항

  • 관리 권한이 있는 사용자로 클러스터에 로그인했습니다.
  • z/VM 게스트에서 장치를 사용할 수 있어야 합니다.
  • 장치가 이미 연결되어 있습니다.
  • 장치는 커널 매개변수에서 설정할 수 있는 cio_ignore 목록에 포함되어 있지 않습니다.
  • 다음 YAML을 사용하여 MachineConfig 오브젝트 파일을 생성했습니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfigPool
    metadata:
      name: worker0
    spec:
      machineConfigSelector:
        matchExpressions:
          - {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,worker0]}
      nodeSelector:
        matchLabels:
          node-role.kubernetes.io/worker0: ""

14.1.1. FCP(Fibre Channel Protocol) 호스트 구성

다음은 udev 규칙을 추가하여 NPIV(N_Port Identifier Virtualization)를 사용하여 FCP 호스트 어댑터를 구성하는 방법의 예입니다.

절차

  1. 다음 샘플 udev 규칙 441-zfcp-host-0.0.8000.rules 를 사용합니다.

    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.8000", DRIVER=="zfcp", GOTO="cfg_zfcp_host_0.0.8000"
    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", TEST=="[ccw/0.0.8000]", GOTO="cfg_zfcp_host_0.0.8000"
    GOTO="end_zfcp_host_0.0.8000"
    
    LABEL="cfg_zfcp_host_0.0.8000"
    ATTR{[ccw/0.0.8000]online}="1"
    
    LABEL="end_zfcp_host_0.0.8000"
  2. 다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.

    $ base64 /path/to/file/
  3. 다음 MCO 샘플 프로필을 YAML 파일에 복사합니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 1
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> 2
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-zfcp-host-0.0.8000.rules 3
    1
    머신 구성 파일에 정의된 역할입니다.
    2
    이전 단계에서 생성한 Base64 인코딩 문자열입니다.
    3
    udev 규칙이 있는 경로입니다.

14.1.2. FCP LUN 구성

다음은 udev 규칙을 추가하여 FCP LUN을 구성하는 방법의 예입니다. 새 FCP LUN을 추가하거나 다중 경로로 이미 구성된 LUN에 경로를 추가할 수 있습니다.

절차

  1. 다음 샘플 udev 규칙 41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules:

    ACTION=="add", SUBSYSTEMS=="ccw", KERNELS=="0.0.8000", GOTO="start_zfcp_lun_0.0.8207"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="start_zfcp_lun_0.0.8000"
    SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x500507680d760026", GOTO="cfg_fc_0.0.8000_0x500507680d760026"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="cfg_fc_0.0.8000_0x500507680d760026"
    ATTR{[ccw/0.0.8000]0x500507680d760026/unit_add}="0x00bc000000000000"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="end_zfcp_lun_0.0.8000"
  2. 다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.

    $ base64 /path/to/file/
  3. 다음 MCO 샘플 프로필을 YAML 파일에 복사합니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 1
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> 2
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules 3
    1
    머신 구성 파일에 정의된 역할입니다.
    2
    이전 단계에서 생성한 Base64 인코딩 문자열입니다.
    3
    udev 규칙이 있는 경로입니다.

14.1.3. DASD 구성

다음은 udev 규칙을 추가하여 DASD 장치를 구성하는 방법의 예입니다.

절차

  1. 다음 샘플 udev 규칙 41-dasd-0.0.4444.rules를 사용합니다.

    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.4444", DRIVER=="dasd-eckd", GOTO="cfg_dasd_eckd_0.0.4444"
    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="dasd-eckd", TEST=="[ccw/0.0.4444]", GOTO="cfg_dasd_eckd_0.0.4444"
    GOTO="end_dasd_eckd_0.0.4444"
    
    LABEL="cfg_dasd_eckd_0.0.4444"
    ATTR{[ccw/0.0.4444]online}="1"
    
    LABEL="end_dasd_eckd_0.0.4444"
  2. 다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.

    $ base64 /path/to/file/
  3. 다음 MCO 샘플 프로필을 YAML 파일에 복사합니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 1
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> 2
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules 3
    1
    머신 구성 파일에 정의된 역할입니다.
    2
    이전 단계에서 생성한 Base64 인코딩 문자열입니다.
    3
    udev 규칙이 있는 경로입니다.

14.1.4. qeth 구성

다음은 udev 규칙을 추가하여 qeth 장치를 구성하는 방법의 예입니다.

절차

  1. 다음 샘플 udev 규칙 41-qeth-0.0.1000.rules 를 사용합니다.

    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1001", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1002", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="cfg_qeth_0.0.1000"
    GOTO="end_qeth_0.0.1000"
    
    LABEL="group_qeth_0.0.1000"
    TEST=="[ccwgroup/0.0.1000]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1000]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1001]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1002]", GOTO="end_qeth_0.0.1000"
    ATTR{[drivers/ccwgroup:qeth]group}="0.0.1000,0.0.1001,0.0.1002"
    GOTO="end_qeth_0.0.1000"
    
    LABEL="cfg_qeth_0.0.1000"
    ATTR{[ccwgroup/0.0.1000]online}="1"
    
    LABEL="end_qeth_0.0.1000"
  2. 다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.

    $ base64 /path/to/file/
  3. 다음 MCO 샘플 프로필을 YAML 파일에 복사합니다.

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 1
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> 2
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules 3
    1
    머신 구성 파일에 정의된 역할입니다.
    2
    이전 단계에서 생성한 Base64 인코딩 문자열입니다.
    3
    udev 규칙이 있는 경로입니다.