검색

19.8. IBM Z의 가상 머신에 암호화 공동 프로세서 연결

download PDF

IBM Z 호스트의 VM(가상 머신)에서 하드웨어 암호화를 사용하려면 암호화 coprocessor 장치에서 중재된 장치를 생성하여 의도한 VM에 할당합니다. 자세한 지침은 아래를 참조하십시오.

사전 요구 사항

  • 호스트가 IBM Z 하드웨어에서 실행되고 있습니다.
  • 암호화 coprocessor는 장치 할당과 호환됩니다. 이를 확인하려면 coprocessor 유형이 CEX4 이상으로 나열되어 있는지 확인합니다.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05         CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4card
    05.0004    CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    05.00ab    CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
  • vfio_ap 커널 모듈이 로드됩니다. 확인하려면 다음을 사용합니다.

    # lsmod | grep vfio_ap
    vfio_ap         24576  0
    [...]

    모듈을 로드하려면 다음을 사용합니다.

    # modprobe vfio_ap
  • s390utils 버전은 ap 처리를 지원합니다.

    # lszdev --list-types
    ...
    ap           Cryptographic Adjunct Processor (AP) device
    ...

프로세스

  1. VM에 할당할 장치의 10진수 값을 가져옵니다. 예를 들어 장치 05.000405.00ab 의 경우 :

    # echo "obase=10; ibase=16; 04" | bc
    4
    # echo "obase=10; ibase=16; AB" | bc
    171
  2. 호스트에서 장치를 vfio-ap 드라이버에 다시 할당합니다.

    # chzdev -t ap apmask=-5 aqmask=-4,-171
    참고

    장치를 영구적으로 할당하려면 -p 플래그를 사용합니다.

  3. 암호화 장치가 올바르게 다시 할당되었는지 확인합니다.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05          CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  cex4card
    05.0004     CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  vfio_ap
    05.00ab     CEX5C CCA-Coproc  -              1        0     11     08 S--D--N--  vfio_ap

    도메인 대기열의 DRIVER 값이 vfio_ap 로 변경되면 재할당이 성공했습니다.

  4. 새 미디어 장치를 정의하는 XML 스니펫을 만듭니다.

    다음 예제에서는 영구 중재 장치를 정의하고 큐를 할당하는 방법을 보여줍니다. 특히 이 예제의 vfio_ap.xml XML 스니펫에서는 도메인 어댑터 0x05, 도메인 대기열 0x00040x00ab, 제어 도메인 0x00ab 을 중재 장치에 할당합니다.

    # vim vfio_ap.xml
    
    <device>
      <parent>ap_matrix</parent>
      <capability type="mdev">
        <type id="vfio_ap-passthrough"/>
        <attr name='assign_adapter' value='0x05'/>
        <attr name='assign_domain' value='0x0004'/>
        <attr name='assign_domain' value='0x00ab'/>
        <attr name='assign_control_domain' value='0x00ab'/>
      </capability>
    </device>
  5. vfio_ap.xml XML 스니펫에서 새 중재 장치를 만듭니다.

    # virsh nodedev-define vfio_ap.xml
    Node device 'mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix' defined from 'vfio_ap.xml'
  6. 이전 단계에서 생성한 미디어 장치를 시작합니다. 이 경우 mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix입니다.

    # virsh nodedev-start mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix
    Device mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix started
  7. 구성이 올바르게 적용되었는지 확인합니다.

    # cat /sys/devices/vfio_ap/matrix/mdev_supported_types/vfio_ap-passthrough/devices/669d9b23-fe1b-4ecb-be08-a2fabca99b71/matrix
    05.0004
    05.00ab

    이전에 vfio-ap 에 할당한 대기열의 숫자 값이 출력에 포함된 경우 프로세스가 성공적으로 수행되었습니다.

  8. 중앙 집중식 장치를 VM에 연결합니다.

    1. 생성한 중재 장치의 UUID를 표시하고 다음 단계를 위해 저장합니다.

      # virsh nodedev-dumpxml mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix
      
      <device>
        <name>mdev_8f9c4a73_1411_48d2_895d_34db9ac18f85_matrix</name>
        <parent>ap_matrix</parent>
        <capability type='mdev'>
          <type id='vfio_ap-passthrough'/>
          <uuid>8f9c4a73-1411-48d2-895d-34db9ac18f85</uuid>
          <iommuGroup number='0'/>
          <attr name='assign_adapter' value='0x05'/>
          <attr name='assign_domain' value='0x0004'/>
          <attr name='assign_domain' value='0x00ab'/>
          <attr name='assign_control_domain' value='0x00ab'/>
        </capability>
      </device>
    2. 암호화 카드 중재 장치에 대한 XML 파일을 만들고 엽니다. 예를 들면 다음과 같습니다.

      # vim crypto-dev.xml
    3. 다음 행을 파일에 추가하고 저장합니다. uuid 값을 단계a에서 얻은 UUID로 바꿉니다.

      <hostdev mode='subsystem' type='mdev' managed='no' model='vfio-ap'>
        <source>
          <address uuid='8f9c4a73-1411-48d2-895d-34db9ac18f85'/>
        </source>
      </hostdev>
    4. XML 파일을 사용하여 미디어 장치를 VM에 연결합니다. 예를 들어 crypto-dev.xml 파일에 정의된 장치를 실행 중인 testguest1 VM에 영구적으로 연결하려면 다음을 수행합니다.

      # virsh attach-device testguest1 crypto-dev.xml --live --config

      --live 옵션은 부팅 간 지속성 없이 실행 중인 VM에만 장치를 연결합니다. --config 옵션을 사용하면 구성을 영구적으로 변경합니다. --config 옵션만으로는 장치를 종료 VM에 연결할 수 있습니다.

      각 UUID는 한 번에 하나의 VM에만 할당할 수 있습니다.

검증

  1. 게스트 운영 체제가 할당된 암호화 장치를 감지하는지 확인합니다.

    # lszcrypt -V
    
    CARD.DOMAIN TYPE  MODE        STATUS  REQUESTS  PENDING HWTYPE QDEPTH FUNCTIONS  DRIVER
    --------------------------------------------------------------------------------------------
    05          CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4card
    05.0004     CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue
    05.00ab     CEX5C CCA-Coproc  online         1        0     11     08 S--D--N--  cex4queue

    게스트 운영 체제의 이 명령의 출력은 사용 가능한 동일한 암호화 coprocessor 장치가 있는 호스트 논리 파티션에서와 동일합니다.

  2. 게스트 운영 체제에서 제어 도메인이 암호화 장치에 성공적으로 할당되었는지 확인합니다.

    # lszcrypt -d C
    
    DOMAIN 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
    ------------------------------------------------------
        00  .  .  .  .  U  .  .  .  .  .  .  .  .  .  .  .
        10  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        20  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        30  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        40  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        50  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        60  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        70  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        80  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        90  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        a0  .  .  .  .  .  .  .  .  .  .  .  B  .  .  .  .
        b0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        c0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        d0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        e0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
        f0  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
    ------------------------------------------------------
    C: Control domain
    U: Usage domain
    B: Both (Control + Usage domain)

    lszcrypt -d C 가 암호화 장치 매트릭스에 UB 교집합을 표시하는 경우 제어 도메인 할당에 성공했습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.