15장. IBM Z 또는 IBM LinuxONE 환경에서 추가 장치 구성
OpenShift Container Platform을 설치한 후 z/VM과 함께 설치된 IBM Z® 또는 IBM® LinuxONE 환경에서 클러스터에 대한 추가 장치를 구성할 수 있습니다. 다음 장치를 구성할 수 있습니다.
- FCP(Fibre Channel Protocol) 호스트
- 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를 구성하려면 다음 단계를 모두 적용해야 합니다.
추가 리소스
15.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: ""
15.1.1. FCP(Fibre Channel Protocol) 호스트 구성
다음은 udev 규칙을 추가하여 N_Port Identifier Virtualization(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
15.1.2. FCP LUN 구성
다음은 udev 규칙을 추가하여 FCP LUN을 구성하는 방법의 예입니다. 새 FCP LUN을 추가하거나 다중 경로를 사용하여 이미 구성된 LUN에 경로를 추가할 수 있습니다.
프로세스
다음 샘플 udev 규칙
41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc0000.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
15.1.3. DASD 구성
다음은 udev 규칙을 추가하여 DASD 장치를 구성하는 방법의 예입니다.
프로세스
다음 샘플 udev 규칙
41-dasd-remoted-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
15.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