QEMU
: 하이퍼바이저 형식의 가상화 소프트웨어
: 하나의 호스트OS에서 여러 가상머신을 구동 가능
: kvm을 적용하여 가상화를 할 경우 높은 성능을 가짐
=> VT-x 와 같은 기술을 통해 호스트의 하드웨어를 가져다 쓸 수 있기 때문
※ 참조
: 리눅스에서는 kvm을 이용하여 가상화를 하지만
윈도우 및 맥에서는 HAXM을 통해 가상화를 함
QEMU의 특징
- gpu Passthriugh
: 호스트의 VGA를 게스트의 VGA에 붙여 사용하는 기술로 QEMU에서 사용하는 방식
: VMWare, VirtualBox, Xen 보다 훨씬 높은 성능으로 가상머신에 VGA를 사용가능
: 가상머신에서의 게임구동도 가능
: 요즘 VGA는 UEFI 펌웨어에서만 정상 작동 되도록 나옴
gpu passthrough 설정 방법
1. vt-d를 지원하는 cpu와 메인보드를 준비
2. 메인보드의 바이오스에서 vt-d를 활성화
3. 커널에서 vt-d를 활성화
: /etc/default/grub에서 iommu 옵션 설정
4. 게스트OS에 연결하려는 장치를 호스트OS에서 분리
: 사용하는 커널 버전에 따라 vfio-pci 또는 pci-stub 설정
: 3.x 대 커널은 pci-stub만 지원
: 4.x 대 커널은 pci-stub 사용 시 성능 하락
5. qemu 가상머신 설정에서 해당 장치를 게스트에 연결
: 실행 옵션 혹은 xml 행 추가 혹은 virt-manager 사용
: 기본적으로 2개의 그래픽카드가 요구됨
: 이외 사운드나 마우스 등의 입출력 인터페이스도 passthrough를 통해 연결하면 빠름
: USB 연결의 경우 TCP/IP를 이용한 리다이렉트를 이용하면 안정적인 이용 가능
참고하면 좋은글
- ubuntu에서 kvm/qemu + gpu passthrough 후기 (댓글까지 참조)
: https://gigglehd.com/gg/bbs/5971598
- gpu throhgh 방법
: https://wiki.gentoo.org/wiki/GPU_passthrough_with_libvirt_qemu_kvm
gpu through 방법 (HD6870 기준)
1. cli 모드에서 GPU의 정보 추출
lspci -dnn | grep -i radeon
슬롯이름 = 0000:03:00.0
디바이스ID = 1002:6874
: 그래픽 컨트롤러와 오디오 컨트롤러의 슬롯이름 및 디바이스 아이디 추출
2. Host OS에서 GPU 디바이스를 사용하지 못하도록 설정
vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/vg0-lv_swap rd.lvm.lv=vg0/lv_root rd.lvm.lv=vg0/lv_swap rhgb quiet intel_iommu=on pci-stub.ids=10de:11b4,10de:0e0a"
grub2-mkconfig -o /etc/grub2.cfg
reboot
3. iommu 설정이 잘 되었는지 확인
cat /proc/cmdline
: 아래와 같이 되어 있어야함
pci-stub.ids=10de:11b4,10de:0e0a
rdblacklist=nouveau
4. 가상머신 접속 후 그래픽카드 드라이버 설치
Refference
'Computer Science > Linux' 카테고리의 다른 글
WSL 2.0 환경에서 CentOS7 사용하기 (0) | 2022.03.19 |
---|---|
윈도우에서 리눅스 커널 사용하기 WSL 2.0 (0) | 2022.03.19 |
i5 6600 / HD6870 CentOs 7 Server에 Windows10 가상머신 돌리기 (0) | 2022.02.06 |
CentOs 7 X window 설치 (0) | 2022.01.27 |
Putty를 이용한 로그인 없이 linux 서버 접속하기 (RSA key) (0) | 2022.01.27 |