14.10. IBM Z의 가상 머신에 PCI 장치 연결


vfio-pci 장치 드라이버를 사용하면 IBM Z 호스트의 가상 머신(VM)에 통과 모드에서 PCI 장치를 할당할 수 있습니다. 예를 들어 VM이 데이터베이스를 처리하기 위해 NVMe 플래시 디스크를 사용할 수 있습니다.

사전 요구 사항

  • IBM Z 하드웨어 아키텍처가 있는 호스트 시스템이 있습니다.
  • 대상 VM은 Linux 운영 체제입니다.
  • 필요한 vfio 커널 모듈이 호스트에 로드되었습니다.

    # lsmod | grep vfio

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

    • vfio_pci
    • vfio_pci_core
    • vfio_iommu_type1

프로세스

  1. 사용하려는 장치의 PCI 주소 식별자를 가져옵니다.

    # lspci -nkD
    
    0000:00:00.0 0000: 1014:04ed
    	Kernel driver in use: ism
    	Kernel modules: ism
    0001:00:00.0 0000: 1014:04ed
    	Kernel driver in use: ism
    	Kernel modules: ism
    0002:00:00.0 0200: 15b3:1016
    	Subsystem: 15b3:0062
    	Kernel driver in use: mlx5_core
    	Kernel modules: mlx5_core
    0003:00:00.0 0200: 15b3:1016
    	Subsystem: 15b3:0062
    	Kernel driver in use: mlx5_core
    	Kernel modules: mlx5_core
  2. PCI 장치를 연결할 VM의 XML 구성을 엽니다.

    # virsh edit vm-name
  3. XML 파일의 <devices> 섹션에 다음 <hostdev> 구성을 추가합니다.

    address 행의 값을 장치의 PCI 주소로 바꿉니다. 예를 들어 장치 주소가 0003:00:00.0 인 경우 다음 구성을 사용합니다.

    <hostdev mode="subsystem" type="pci" managed="yes">
      <driver name="vfio"/>
       <source>
        <address domain="0x0003" bus="0x00" slot="0x00" function="0x0"/>
       </source>
       <address type="pci"/>
    </hostdev>
  4. 선택 사항: 게스트 운영 체제가 PCI 장치를 감지하는 방법을 수정하려면 < zpci > 하위 요소를 < address > 요소에 추가할 수도 있습니다. < zpci > 줄에서는 uidfid 값을 조정하여 게스트 운영 체제에서 장치의 PCI 주소 및 기능 ID를 수정할 수 있습니다.

    <hostdev mode="subsystem" type="pci" managed="yes">
      <driver name="vfio"/>
       <source>
        <address domain="0x0003" bus="0x00" slot="0x00" function="0x0"/>
       </source>
       <address type="pci">
         <zpci uid="0x0008" fid="0x001807"/>
       </address>
    </hostdev>

    이 예제에서는 다음을 수행합니다.

    • UID="0x0008" 은 VM에 있는 장치의 도메인 PCI 주소를 0008:00:00.0 로 설정합니다.
    • FID="0x001807" 은 장치의 슬롯 값을 0x001807 로 설정합니다. 결과적으로 VM의 파일 시스템의 장치 구성이 /sys/bus/pci/slots/00001087/address 에 저장됩니다.

      이러한 값을 지정하지 않으면 libvirt 에서 자동으로 구성합니다.

  5. XML 구성을 저장합니다.
  6. VM이 실행 중이면 종료합니다.

    # virsh shutdown vm-name

검증

  1. VM을 시작하고 게스트 운영 체제에 로그인합니다.
  2. 게스트 운영 체제에서 PCI 장치가 나열되는지 확인합니다.

    예를 들어 장치 주소가 0003:00:00.0 인 경우 다음 명령을 사용합니다.

    # lspci -nkD | grep 0003:00:00.0
    
    0003:00:00.0 8086:9a09 (rev 01)
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.