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
    Copy to Clipboard Toggle word wrap
  • 필요한 vfio 커널 모듈이 호스트에 로드되었습니다.

    # lsmod | grep vfio
    Copy to Clipboard Toggle word wrap

    이 명령의 출력에는 다음 모듈이 포함되어야 합니다.

    • vfio_ccw
    • vfio_mdev
    • vfio_iommu_type1
  • VM에서 독점적으로 사용할 수 있는 예비 DASD 장치가 있으며 장치의 식별자를 알고 있습니다.

    다음 절차에서는 예제로 0.0.002c 를 사용합니다. 명령을 수행할 때 0.0.002c 를 DASD 장치의 식별자로 바꿉니다.

절차

  1. DASD 장치의 하위 채널 식별자를 가져옵니다.

    # 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 Toggle word wrap

    이 예에서 하위 채널 식별자는 0.0.29a8 로 탐지됩니다. 이 절차의 다음 명령에서 0.0.29a8 을 사용자의 장치의 검색된 하위 채널 식별자로 바꿉니다.

  2. 이전 단계의 lscss 명령이 헤더 출력만 표시하고 장치 정보도 표시하지 않은 경우 다음 단계를 수행합니다.

    1. the cio_ignore 목록에서 장치를 제거합니다.

      # cio_ignore -r 0.0.002c
      Copy to Clipboard Toggle word wrap
    2. 게스트 OS에서 VM 의 커널 명령줄을 편집하고 아직 없는 경우 cio_ignore= 로 시작하는 줄에 ! 기호가 있는 장치 식별자를 추가합니다.

      cio_ignore=all,!condev,!0.0.002c
      Copy to Clipboard Toggle word wrap
    3. 호스트에서 1단계를 반복하여 하위 채널 식별자를 가져옵니다.
  3. 하위 채널을 vfio_ccw passthrough 드라이버에 바인딩합니다.

    # driverctl -b css set-override 0.0.29a8 vfio_ccw
    Copy to Clipboard Toggle word wrap
    참고

    이렇게 하면 0.0.29a8 하위 채널을 vfio_ccw 에 영구적으로 바인딩합니다. 즉, 호스트에서 DASD를 사용할 수 없습니다. 호스트에서 장치를 사용해야 하는 경우 먼저 'vfio_ccw'에 대한 자동 바인딩을 제거하고 하위 채널을 기본 드라이버에 다시 바인딩해야 합니다.

    # driverctl -bss unset-override 0.0.29a8

  4. DASD 중재 장치를 정의하고 시작합니다.

    # cat nodedev.xml
    <device>
        <parent>css_0_0_29a8</parent>
        <capability type="mdev">
            <type id="vfio_ccw-io"/>
        </capability>
    </device>
    
    # virsh nodedev-define nodedev.xml
    Node device 'mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8' defined from 'nodedev.xml'
    
    # virsh nodedev-start mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
    Device mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8 started
    Copy to Clipboard Toggle word wrap
  5. 실행 중인 경우 VM을 종료합니다.
  6. 이전에 정의한 장치의 UUID를 표시하고 다음 단계를 위해 저장합니다.

    # virsh nodedev-dumpxml mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
    
    <device>
      <name>mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8</name>
      <parent>css_0_0_29a8</parent>
      <capability type='mdev'>
        <type id='vfio_ccw-io'/>
        <uuid>30820a6f-b1a5-4503-91ca-0c10ba12345a</uuid>
        <iommuGroup number='0'/>
        <attr name='assign_adapter' value='0x02'/>
        <attr name='assign_domain' value='0x002b'/>
      </capability>
    </device>
    Copy to Clipboard Toggle word wrap
  7. 조정된 장치를 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>
    Copy to Clipboard Toggle word wrap
  8. 선택 사항: 호스트 부팅 시 자동으로 시작되도록 중재 장치를 구성합니다.

    # virsh nodedev-autostart mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
    Copy to Clipboard Toggle word wrap

검증

  1. 중재 장치가 올바르게 구성되었는지 확인합니다.

    # virsh nodedev-info mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
    Name:           mdev_30820a6f_b1a5_4503_91ca_0c10ba12345a_0_0_29a8
    Parent:         css_0_0_0121
    Active:         yes
    Persistent:     yes
    Autostart:      yes
    Copy to Clipboard Toggle word wrap
  2. 조정된 DASD 장치에 libvirt 가 할당된 식별자를 가져옵니다. 이를 위해 VM의 XML 구성을 표시하고 vfio-ccw 장치를 찾습니다.

    # virsh dumpxml vm-name
    
    <domain>
    [...]
        <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ccw'>
          <source>
            <address uuid='10620d2f-ed4d-437b-8aff-beda461541f9'/>
          </source>
          <alias name='hostdev0'/>
          <address type='ccw' cssid='0xfe' ssid='0x0' devno='0x0009'/>
        </hostdev>
    [...]
    </domain>
    Copy to Clipboard Toggle word wrap

    이 예에서 장치의 할당된 식별자는 0. 9입니다.

  3. VM을 시작하고 게스트 OS에 로그인합니다.
  4. 게스트 OS에서 DASD 장치가 나열되었는지 확인합니다. 예를 들면 다음과 같습니다.

    # lscss | grep 0.0.0009
    0.0.0009 0.0.0007  3390/0c 3990/e9      f0  f0  ff   12212231 00000000
    Copy to Clipboard Toggle word wrap
  5. 게스트 OS에서 장치를 온라인으로 설정합니다. 예를 들면 다음과 같습니다.

    # chccwdev -e 0.0009
    Setting device 0.0.0009 online
    Done
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat