12장. IBM Z 또는 LinuxONE 환경에서 추가 장치 구성
OpenShift Container Platform을 설치한 후 z/VM과 함께 설치된 IBM Z 또는 LinuxONE 환경에서 클러스터에 대한 추가 장치를 구성할 수 있습니다. 다음 장치를 구성할 수 있습니다.
- 파이버 채널 프로토콜(FCP) 호스트
- FCP LUN
- DASD
- qeth
MCO(Machine Config Operator)를 사용하여 udev 규칙을 추가하거나 장치를 수동으로 구성할 수 있습니다.
여기에 설명된 절차는 z/VM 설치에만 적용됩니다. IBM Z 또는 LinuxONE 인프라에 RHEL KVM으로 클러스터를 설치한 경우 KVM 게스트에 장치를 추가한 후 KVM 게스트 내에 추가 구성이 필요하지 않습니다. 그러나 z/VM 및 RHEL KVM 환경에서 모두 Local Storage Operator 및 Kubernetes NMState Operator를 구성하려면 다음 단계를 적용해야 합니다.
추가 리소스
12.1. MCO(Machine Config Operator)를 사용하여 추가 장치 구성
이 섹션의 작업에서는 MCO(Machine Config Operator) 기능을 사용하여 IBM Z 또는 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: ""
12.1.1. FCP(Fibre Channel Protocol) 호스트 구성
다음은 udev 규칙을 추가하여 NPIV(N_Port Identifier Virtualization)를 사용하여 FCP 호스트 어댑터를 구성하는 방법의 예입니다.
절차
다음 샘플 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"
다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.
$ base64 /path/to/file/
다음 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
12.1.2. FCP LUN 구성
다음은 udev 규칙을 추가하여 FCP LUN을 구성하는 방법의 예입니다. 새 FCP LUN을 추가하거나 다중 경로로 이미 구성된 LUN에 경로를 추가할 수 있습니다.
절차
다음 샘플 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"
다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.
$ base64 /path/to/file/
다음 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
12.1.3. DASD 구성
다음은 udev 규칙을 추가하여 DASD 장치를 구성하는 방법의 예입니다.
절차
다음 샘플 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"
다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.
$ base64 /path/to/file/
다음 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
12.1.4. qeth 구성
다음은 udev 규칙을 추가하여 qeth 장치를 구성하는 방법의 예입니다.
절차
다음 샘플 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"
다음 명령을 실행하여 규칙을 Base64로 인코딩합니다.
$ base64 /path/to/file/
다음 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