20.16. 장치
이 XML 요소 세트는 모두 게스트 가상 머신 도메인에 제공되는 장치를 설명하는 데 사용됩니다. 아래의 모든 장치는 주요 장치 요소의 자식으로 표시됩니다.
다음과 같은 가상 장치가 지원됩니다.
- virtio-scsi-pci - PCI 버스 스토리지 장치
- virtio-9p-pci - PCI 버스 스토리지 장치
- virtio-blk-pci - PCI 버스 스토리지 장치
- virtio-net-pci - virtio-net이라고도 하는 PCI 버스 네트워크 장치
- virtio-serial-pci - PCI 버스 입력 장치
- virtio-balloon-pci - PCI 버스 메모리 balloon 장치
- virtio-rng-pci - PCI 버스 가상 임의 번호 생성기 장치
중요
virtio 장치가 32보다 큰 값으로 설정된 벡터 수가 생성되는 경우 장치는 Red Hat Enterprise Linux 6에서 0 값으로 설정되었지만 Enterprise Linux 7에서는 값이 아닌 것처럼 작동합니다. 결과 벡터 설정이 일치하지 않으면 두 플랫폼의 virtio 장치 벡터 수가 33 이상으로 설정된 경우 마이그레이션 오류가 발생합니다. 따라서
벡터
값을 32보다 크게 설정하지 않는 것이 좋습니다. virtio-balloon-pci 및 virtio-rng-pci를 제외한 모든 virtio 장치는 벡터
인수를 허용합니다.
그림 20.22. 장치 - 하위 요소
... <devices> <emulator>/usr/lib/xen/bin/qemu-dm</emulator> </devices> ...
<에뮬레이터 요소의 내용은 장치 모델 에뮬레이터>
바이너리에 대한 정규화된 경로를 지정합니다. capabilities XML은 각 특정 도메인 유형 또는 아키텍처 조합에 사용할 권장 기본 에뮬레이터를 지정합니다.
20.16.1. 하드 드라이브, Floppy 디스크, CDROM
도메인 XML의 이 섹션은 디스크처럼 보이는 모든 장치를 지정합니다. 피로, 하드 디스크, cdrom 또는 반가상화 드라이버가 디스크 요소를 통해 지정됩니다.
그림 20.23. 장치 - 하드 드라이브, 플로피 디스크, CDROM
... <devices> <disk type='file' snapshot='external'> <driver name="tap" type="aio" cache="default"/> <source file='/var/lib/xen/images/fv0' startupPolicy='optional'> <seclabel relabel='no'/> </source> <target dev='hda' bus='ide'/> <iotune> <total_bytes_sec>10000000</total_bytes_sec> <read_iops_sec>400000</read_iops_sec> <write_iops_sec>100000</write_iops_sec> </iotune> <boot order='2'/> <encryption type='...'> ... </encryption> <shareable/> <serial> ... </serial> </disk> ... <disk type='network'> <driver name="qemu" type="raw" io="threads" ioeventfd="on" event_idx="off"/> <source protocol="sheepdog" name="image_name"> <host name="hostname" port="7000"/> </source> <target dev="hdb" bus="ide"/> <boot order='1'/> <transient/> <address type='drive' controller='0' bus='1' unit='0'/> </disk> <disk type='network'> <driver name="qemu" type="raw"/> <source protocol="rbd" name="image_name2"> <host name="hostname" port="7000"/> </source> <target dev="hdd" bus="ide"/> <auth username='myuser'> <secret type='ceph' usage='mypassid'/> </auth> </disk> <disk type='block' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='hdc' bus='ide' tray='open'/> <readonly/> </disk> <disk type='block' device='lun'> <driver name='qemu' type='raw'/> <source dev='/dev/sda'/> <target dev='sda' bus='scsi'/> <address type='drive' controller='0' bus='0' target='3' unit='0'/> </disk> <disk type='block' device='disk'> <driver name='qemu' type='raw'/> <source dev='/dev/sda'/> <geometry cyls='16383' heads='16' secs='63' trans='lba'/> <blockio logical_block_size='512' physical_block_size='4096'/> <target dev='hda' bus='ide'/> </disk> <disk type='volume' device='disk'> <driver name='qemu' type='raw'/> <source pool='blk-pool0' volume='blk-pool0-vol0'/> <target dev='hda' bus='ide'/> </disk> </devices> ...
20.16.1.1. 디스크 요소
<disk>
요소는 디스크를 설명하는 기본 컨테이너입니다. 특성 유형은
<disk>
요소와 함께 사용할 수 있습니다. 다음 유형을 사용할 수 있습니다.
file
블록
dir
network
자세한 내용은 디스크 항목을 참조하십시오.
20.16.1.2. source 요소
<디스크 type='file''>
의 경우 file
속성은 디스크를 포함하는 파일의 정규화된 경로를 지정합니다. <디스크 type='block'>
의 경우 dev
속성은 디스크로 사용할 호스트 물리적 시스템 장치의 경로를 지정합니다. 파일과
블록
모두를 사용하면 아래에 설명된 하나 이상의 하위 요소 seclabel
을 사용하여 해당 소스 파일에 대한 도메인 보안 레이블 지정 정책을 재정의할 수 있습니다. 디스크 유형이 dir
이면 dir
속성은 디스크로 사용할 디렉터리의 정규화된 경로를 지정합니다. 디스크 유형이 네트워크
이면 protocol 속성은 요청된 이미지에 액세스할 프로토콜을 지정합니다. 가능한 값은 nbd
,rbd
,sheepdog
또는 gluster
입니다.
protocol 속성이
rbd
,sheepdog
또는 gluster
이면 사용할 볼륨 및 또는 이미지를 지정하는 추가 속성 이름이
필요합니다. 디스크 유형이 네트워크
인 경우, 소스에
는 type='dir'
및 type='network'
를 포함하여 연결할 호스트 물리적 시스템을 지정하는 데 사용되는 호스트 하위 요소가 0개 이상 있을 수 있습니다.
cdrom 또는 coat(Device 속성)를 나타내는 파일
디스크 유형의 경우 소스 파일에 액세스할 수 없는 경우 디스크로 수행할 작업을 정의할 수 있습니다. 이 작업은 다음 값과 함께 startupPolicy
특성을 조작하여 수행됩니다.
- 어떤 이유로든 누락된 경우
필수적으로
오류가 발생합니다. 이 설정은 기본 설정입니다. requisite
부팅 시 누락된 경우 오류가 발생하는 경우 migrate/restore/revert에 누락된 경우 드롭- 시작 시도에 누락된 경우
선택적
드롭
20.16.1.3. mirror 요소
이 요소는 하이퍼바이저가 BlockCopy 작업을 시작한 경우 특성 파일의
<미러>
위치가 결국 소스와 동일한 내용이 있고 속성 형식의 파일 형식(소스 형식과 다를 수 있음)을 사용하는 경우 존재합니다. 준비가 된 속성이 있는 경우 디스크가 피벗할 준비가 된 것으로 알려져 있습니다. 그렇지 않으면 디스크를 계속 복사합니다. 현재 이 요소는 출력에서만 유효하므로 입력에서 무시됩니다.
20.16.1.4. target 요소
<target>
요소는 디스크가 게스트 가상 머신 OS에 노출되는 버스 / 장치를 제어합니다. dev 속성은 논리 장치 이름을 나타냅니다. 지정된 실제 장치 이름은 게스트 가상 머신 OS의 장치 이름에 매핑되지 않습니다. 선택적 bus 속성은 에뮬레이션할 디스크 장치 유형을 지정합니다. 가능한 값은 일반적인 값인scsi
,virtio
,xen
,usb
또는 sata
와 함께 드라이버별로 다릅니다.
생략하면 버스 유형이 장치 이름의 스타일에서 유추됩니다. 예를 들어 'sda'
라는 장치는 일반적으로 SCSI 버스를 사용하여 내보냅니다. 선택적 속성 트레이
는 이동식 디스크(예: CD-ROM 또는 Floppy 디스크)의 트레이 상태를 나타냅니다. 값은 열거나
닫을
수 있습니다. 기본 설정은 폐쇄
입니다. 자세한 내용은 대상 항목을 참조하십시오.
20.16.1.5. iotune
선택적
<iotune>
요소는 장치별 I/O 튜닝을 추가로 제공할 수 있는 기능을 제공하며, 장치마다 다를 수 있는 값을 제공합니다(이 요소는 도메인에 전역적으로 적용되는 blkiotune
요소에 제한). 이 요소에는 다음과 같은 선택적 하위 요소가 있습니다. 하위 요소가 지정되거나 전혀 지정되지 않거나 0
값으로 지정되지 않거나 지정된 하위 항목은 제한이 없음을 나타냅니다.
<total_bytes_sec>
- 초당 총 처리량 제한(바이트)입니다. 이 요소는<read_bytes_sec>
또는<write_bytes_sec>
과 함께 사용할 수 없습니다.<read_bytes_sec>
- 초당 읽기 처리량 제한(바이트)입니다.<write_bytes_sec>
- 초당 쓰기 처리량 제한(바이트)입니다.<total_iops_sec>
초당 총 I/O 작업 수입니다. 이 요소는<read_iops_sec>
또는<write_iops_sec>
과 함께 사용할 수 없습니다.<read_iops_sec>
초당 읽기 I/O 작업 수입니다.<write_iops_sec>
- 초당 쓰기 I/O 작업 수입니다.
20.16.1.6. 드라이버
선택적
<드라이버>
요소를 사용하면 디스크를 제공하는 데 사용되는 하이퍼바이저 드라이버와 관련된 추가 세부 정보를 지정할 수 있습니다. 다음 옵션을 사용할 수 있습니다.
- 하이퍼바이저가 여러 백엔드 드라이버를 지원하는 경우
name
속성은 기본 백엔드 드라이버 이름을 선택하는 반면 선택적 type 속성은 하위 유형을 제공합니다. 사용 가능한 유형 목록은 Driver Element를 참조하십시오. - 선택적
캐시 속성은 캐시
메커니즘을 제어합니다. 가능한 값은기본
,none
,writethrough
, writeback ,writeback
,directsync
(호스트 물리적 머신 페이지 캐시쓰기
가 가능) 및 안전하지 않음(호스트 물리적 시스템 페이지 캐시가 무시됨) 및안전하지 않은
(호스트 가상 머신 가상 머신의 모든 디스크 io, 동기화 요청을 캐시할 수 있음)입니다. - 선택적
error_policy
속성은 하이퍼바이저가 디스크 읽기 또는 쓰기 오류에서 작동하는 방식을 제어합니다. 가능한 값은중지
,보고
, ,ignore
,enospace
.error_policy
의 기본 설정은보고서
입니다. 읽기 오류에 대한 동작을 제어하는 선택적rerror_policy
도 있습니다.rerror_policy
가 제공되지 않으면error_policy
가 읽기 및 쓰기 오류 모두에 사용됩니다.rerror_policy
를 지정하면 읽기 오류가 있는지error_policy
를 덮어씁니다. 또한enospace
는 읽기 오류에 대한 유효한 정책이 아니므로error_policy
가enospace
로 설정되어 있고rerror_policy
가 제공되지 않으면 기본 설정인report
가 사용되는 읽기 오류입니다. - 선택적
io
속성은 I/O에서 특정 정책을 제어합니다.qemu
게스트 가상 머신 가상 머신은스레드
및네이티브
를 지원합니다. 선택적ioeventfd
특성을 사용하면 사용자가 디스크 장치에 대한 도메인 I/O 비동기 처리를 설정할 수 있습니다. 기본값은 하이퍼바이저의 재량에 따라 다릅니다. 허용되는 값은설정 및
입니다. 이를 활성화하면 별도의 스레드에서 I/O를 처리하는 동안 게스트 가상 머신 가상 머신을 실행할 수 있습니다. 일반적으로 게스트 가상 머신 가상 머신은 I/O 중에 시스템 CPU 사용률이 높아지는 데 도움이 됩니다. 반면 과부하된 호스트 물리적 시스템은 게스트 가상 머신 가상 시스템 I/O 대기 시간을 늘릴 수 있습니다. IOS를 조작할 필요가 있다는 것을 완전히 인증하지 않는 한, 기본 설정을 변경하지 않고 하이퍼바이저가 설정을 지시할 수 있도록 하는 것이 좋습니다.해제
- 선택적
event_idx
속성은 장치 이벤트 처리의 일부 측면을 제어하며,켜
거나끌
수 있습니다. 이 경우 중단 횟수를 줄이고 게스트 가상 머신 가상 시스템에 대해 종료됩니다. 기본값은 하이퍼바이저에 따라 결정되며 기본 설정은에 있습니다
. 이 동작이 낙관적 인 상황이 있는 경우 이 속성은 기능을 강제로끌
수 있는 방법을 제공합니다.event_idx
를 조작해야 한다는 것을 완전히 인증하지 않는 한 기본 설정을 변경하지 않고 하이퍼바이저가 설정을 지정할 수 있도록 하는 것이 좋습니다. - 선택 사항인
copy_on_read
속성은 읽기 백업 파일을 이미지 파일에 복사할지 여부를 제어합니다. 허용되는 값은<설정 또는 해제>
일
수 있습니다.copy-on-read
는 동일한 백업 파일 섹터에 반복적으로 액세스하는 것을 방지하고 백업 파일이 느린 네트워크를 할 때 유용합니다. 기본적으로copy-on-read
는해제
되어 있습니다.
20.16.1.7. 추가 장치 요소
다음 특성을
장치
요소 내에서 사용할 수 있습니다.
<Boot - 디스크를 부팅>
할 수 있도록 지정합니다.추가 부팅 값
<순서>
- 부팅 시퀀스 중에 장치를 시도하는 순서를 결정합니다.<장치별>
부팅 요소는 BIOS 부트 로더 섹션의 일반 부트 요소와 함께 사용할 수 없습니다.
<Encryption>
- 볼륨의 암호화 방법을 지정합니다. 자세한 내용은 스토리지 암호화 페이지를 참조하십시오.<readonly>
- 게스트 가상 머신 가상 머신에서 장치를 수정할 수 없음을 나타냅니다. 이 설정은attribute
device='cdrom'
이 있는 디스크의 기본값입니다.공유 가능
은 장치가 도메인 간에 공유되어야 함을 나타냅니다(하이퍼바이저와 OS 지원의 경우).공유할 수 있는
경우 해당 장치에cache='no'
를 사용해야 합니다.<일시적>
- 게스트 가상 머신 가상 머신이 종료되면 장치 콘텐츠에 대한 변경 사항을 자동으로 되돌리야 함을 나타냅니다. 일부 하이퍼바이저에서는 디스크를 임시로표시
하면 도메인이 마이그레이션 또는 스냅샷에 참여하지 않습니다.<serial>
- 게스트 가상 머신 가상 머신의 하드 드라이브의 일련 번호를 지정합니다. 예를 들어<직렬>
WD-WMAP9A966149</직렬>
입니다.<wwn>
- 가상 하드 디스크 또는 CD-ROM 드라이브의 WWN(World Wide Name)을 지정합니다. 16개의 16진수로 구성되어야 합니다.<vendor>
- 가상 하드 디스크 또는 CD-ROM 장치의 벤더를 지정합니다. 8 인쇄 가능한 문자보다 길면 안 됩니다.<product>
- 가상 하드 디스크 또는 CD-ROM 장치의 제품을 지정합니다. 16 인쇄 가능 문자보다 길면 안 됩니다.<Host - 4 속성 지원: 각각 호스트>
이름
,포트
번호,전송
유형 및소켓
경로를 지정하는viz
, 이름 , 포트 , 전송 및 소켓을 지원합니다. 이 요소의 의미와 요소 수는 다음과 같이protocol
속성에 따라 달라집니다.추가 호스트 속성
- NBD -
nbd
-server를 실행하는 서버를 지정하고 하나의 호스트 물리적 컴퓨터에만 사용할 수 있습니다. RBD
- RBD 유형의 서버를 모니터링하고 하나 이상의 호스트 물리적 시스템에 사용할 수 있습니다.- Sheepdog -
sheepdog
서버 중 하나를 지정합니다(기본값은 localhost:7000)이며 호스트 물리적 시스템 중 하나 또는 none을 사용할 수 있습니다. Gluster
- iLO 데몬을 실행하는 서버를 지정하고 하나의 호스트 물리적 시스템에 대해서만 사용할 수 있습니다. transport 속성에 유효한 값은tcp
,rdma
또는unix
입니다. 아무것도 지정되지 않은 경우tcp
를 가정합니다. transport가unix
인 경우socket
속성은 unix 소켓의 경로를 지정합니다.
<address>
- 컨트롤러의 지정된 슬롯에 디스크를 연결합니다. 실제<컨트롤러>
장치는 종종 가 유추할 수 있지만 명시적으로 지정할 수도 있습니다.type
속성은 필수이며 일반적으로pci
또는드라이브
입니다.pci
컨트롤러의 경우버스
,슬롯
및함수에 대한 추가 속성과 선택적
있어야도메인
및 다중 기능이합니다
.Multifun ction
의 기본값은off
입니다.드라이브
컨트롤러의 경우 추가 특성컨트롤러
,버스
,대상
및유닛을
사용할 수 있으며 각각 기본 설정이0
입니다.auth
- 소스에 액세스하는 데 필요한 인증 자격 증명을 제공합니다. 인증 중에 사용할사용자
이름을 식별하는 필수 특성 사용자 이름 및 필수 속성유형의
하위 요소가 포함되도록 하는 필수 속성 사용자 이름 이 포함됩니다.자세한 내용은 장치 요소(Deviceelement)에서 확인할 수 있습니다.
지오메트리 - 지오메트리
설정을 재정의하는 기능을 제공합니다. 이는 S390 DASD-disks 또는 이전 DOS-disks에 주로 유용합니다.Cyls
- 실린더 수를 지정합니다.heads
- 헤드 수를 지정합니다.secs
- 트랙당 섹터 수를 지정합니다.trans
- BIOS-Translation-Modus를 지정하고 다음 값을 가질 수 있습니다:none
,lba
또는auto
blockio
- 아래 블록 장치 속성 중 하나로 블록 장치를 덮어쓸 수 있습니다.blockio 옵션
logical_block_size
- 게스트 가상 머신 가상 머신 OS에 보고하고 디스크 I/O의 최소 단위를 설명합니다.physical_block_size
- 게스트 가상 머신 가상 머신 OS에 보고하고 디스크 데이터의 정렬과 관련이 있는 디스크의 하드웨어 섹터 크기를 설명합니다.