11.9. IBM Z의 가상 머신에 DASD 장치 연결
vfio-ccw
기능을 사용하면 IBM Z 호스트의 VM(가상 머신)에 중재된 장치로 직접 액세스 스토리지 장치(DASD)를 할당할 수 있습니다. 예를 들어 VM이 z/OS 데이터 집합에 액세스하거나 할당된 DASD를 z/OS 머신에 제공할 수 있습니다.
사전 요구 사항
- FICON 프로토콜에서 지원되는 IBM Z 하드웨어 아키텍처가 있는 시스템이 있습니다.
- Linux 운영 체제의 대상 VM이 있습니다.
driverctl 패키지가 설치되어 있습니다.
yum install driverctl
# yum install driverctl
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 필요한
vfio
커널 모듈이 호스트에 로드되었습니다.lsmod | grep vfio
# lsmod | grep vfio
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 명령의 출력에는 다음 모듈이 포함되어야 합니다.
-
vfio_ccw
-
vfio_mdev
-
vfio_iommu_type1
-
VM에서 독점적으로 사용할 수 있는 예비 DASD 장치가 있으며 장치의 식별자를 알고 있습니다.
다음 절차에서는 예제로
0.0.002c
를 사용합니다. 명령을 수행할 때0.0.002c
를 DASD 장치의 식별자로 바꿉니다.
절차
DASD 장치의 하위 채널 식별자를 가져옵니다.
lscss -d 0.0.002c
# lscss -d 0.0.002c Device Subchan. DevType CU Type Use PIM PAM POM CHPIDs ---------------------------------------------------------------------- 0.0.002c 0.0.29a8 3390/0c 3990/e9 yes f0 f0 ff 02111221 00000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 하위 채널 식별자는
0.0.29a8
로 탐지됩니다. 이 절차의 다음 명령에서0.0.29a8
을 사용자의 장치의 검색된 하위 채널 식별자로 바꿉니다.이전 단계의
lscss
명령이 헤더 출력만 표시하고 장치 정보도 표시하지 않은 경우 다음 단계를 수행합니다.the
cio_ignore
목록에서 장치를 제거합니다.cio_ignore -r 0.0.002c
# cio_ignore -r 0.0.002c
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 게스트 OS에서 VM 의 커널 명령줄을 편집하고 아직 없는 경우
cio_ignore=
로 시작하는 줄에!
기호가 있는 장치 식별자를 추가합니다.cio_ignore=all,!condev,!0.0.002c
cio_ignore=all,!condev,!0.0.002c
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 호스트에서 1단계를 반복하여 하위 채널 식별자를 가져옵니다.
하위 채널을
vfio_ccw
passthrough 드라이버에 바인딩합니다.driverctl -b css set-override 0.0.29a8 vfio_ccw
# driverctl -b css set-override 0.0.29a8 vfio_ccw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이렇게 하면 0.0.29a8 하위 채널을
vfio_ccw
에 영구적으로 바인딩합니다. 즉, 호스트에서 DASD를 사용할 수 없습니다. 호스트에서 장치를 사용해야 하는 경우 먼저 'vfio_ccw'에 대한 자동 바인딩을 제거하고 하위 채널을 기본 드라이버에 다시 바인딩해야 합니다.# driverctl -bss unset-override 0.0.29a8
DASD 중재 장치를 정의하고 시작합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 실행 중인 경우 VM을 종료합니다.
이전에 정의한 장치의 UUID를 표시하고 다음 단계를 위해 저장합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 조정된 장치를 VM에 연결합니다. 이렇게 하려면
virsh edit
유틸리티를 사용하여 VM의 XML 구성을 편집하고 다음 섹션을 XML에 추가하고uuid
값을 이전 단계에서 가져온 UUID로 바꿉니다.<hostdev mode='subsystem' type='mdev' model='vfio-ccw'> <source> <address uuid="30820a6f-b1a5-4503-91ca-0c10ba12345a"/> </source> </hostdev>
<hostdev mode='subsystem' type='mdev' model='vfio-ccw'> <source> <address uuid="30820a6f-b1a5-4503-91ca-0c10ba12345a"/> </source> </hostdev>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 호스트 부팅 시 자동으로 시작되도록 중재 장치를 구성합니다.
virsh nodedev-autostart mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
# virsh nodedev-autostart mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
중재 장치가 올바르게 구성되었는지 확인합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 조정된 DASD 장치에
libvirt
가 할당된 식별자를 가져옵니다. 이를 위해 VM의 XML 구성을 표시하고vfio-ccw
장치를 찾습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서 장치의 할당된 식별자는 0.
9입니다.
- VM을 시작하고 게스트 OS에 로그인합니다.
게스트 OS에서 DASD 장치가 나열되었는지 확인합니다. 예를 들면 다음과 같습니다.
lscss | grep 0.0.0009
# lscss | grep 0.0.0009 0.0.0009 0.0.0007 3390/0c 3990/e9 f0 f0 ff 12212231 00000000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 게스트 OS에서 장치를 온라인으로 설정합니다. 예를 들면 다음과 같습니다.
chccwdev -e 0.0009
# chccwdev -e 0.0009 Setting device 0.0.0009 online Done
Copy to Clipboard Copied! Toggle word wrap Toggle overflow