[Ubuntu 22.04.3 Server LTS] QEMU/KVM passthrough & ์ค‘์ฒฉ ๊ฐ€์ƒํ™”

2023. 9. 19. 20:11ใ†System ์ž‘์—…์‹ค/LINUX

728x90
๋ฐ˜์‘ํ˜•

 



 

 

 

[ํ•œ๋น›๋ฏธ๋””์–ด]์ด๊ฒƒ์ด ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค๋‹ค : ์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค ์„ค์น˜๋ถ€ํ„ฐ ๋„คํŠธ์›Œํฌ์™€ ์„œ๋ฒ„ ๊ตฌ์ถ• ์šด์˜๊นŒ์ง€

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

 

 

๐Ÿš€ QEMU/KVM passthrough & ์ค‘์ฒฉ ๊ฐ€์ƒํ™”

    ๐Ÿ”ฝ ๊ฐœ์š”

        ๐Ÿ“ฆ ์†Œ๊ฐœ

์ด๋ฒˆ์— ํ•ด ๋ณผ ์ž‘์—…์€ ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ํ˜ธ์ŠคํŠธ ์„œ๋ฒ„ ์šฐ๋ถ„ํˆฌ์˜ ๊ฐ€์ƒํ™” ๊ธฐ๋Šฅ์„ ๊ฐ€์ƒ ๋จธ์‹ ์—๋„ ๋ถ€์—ฌํ•˜๊ณ , ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž‘์—…ํ•ด ๋ณด๋ ค๊ณ  ํ•ด์š”.

QEMU/KVM Passthrough๋Š” ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ๊ฐ€์ƒ ๋จธ์‹ ์— ์ง์ ‘ ํ• ๋‹นํ•˜๋Š” ๊ธฐ์ˆ ์ด์—์š”.
์ด๊ฒƒ์€ ์ฃผ๋กœ ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๊ฐ€์ƒํ™”๋œ ํ•˜๋“œ์›จ์–ด ๋Œ€์‹  ์‹ค์ œ ํ•˜๋“œ์›จ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์š”.
์ฃผ๋‹ˆ์™€ ๊ฐ™์ด ์ฃผ๋กœ ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ(GPU)์™€ ๋„คํŠธ์›Œํฌ ์–ด๋Žํ„ฐ, ์˜ค๋””์˜ค, ๋ฏธ๋””์–ด ์žฅ์น˜ ๋“ฑ์— ๋Œ€ํ•œ Passthrought๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ์–ด์š”.

์ฐธ๊ณ ๋กœ Passthrough์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น PCI ์žฅ์น˜๋ฅผ ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ , ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ์ด ์žฅ์น˜๋ฅผ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋Š” ๊ฒƒ์ด์—์š”. (PCI ์žฅ์น˜๋ฅผ ๊ฐ€์ƒํ™” ํ˜ธ์ŠคํŠธ์— PIC ์žฅ์น˜๋กœ ์ธ์‹ํ•˜๊ณ , ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ.)

ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ค ์ ์ด ์ข‹์„๊นŒ์š”?

- ๊ณ ์„ฑ๋Šฅ ๊ทธ๋ž˜ํ”ฝ ๊ฐ€์ƒํ™”: ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๊ฒŒ์ž„ ๋˜๋Š” ๊ทธ๋ž˜ํ”ฝ ์ธํ…์‹œ๋ธŒํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ, GPU Passthrough๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋†’์€ ์„ฑ๋Šฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ.

- ์ ‘๊ทผ์„ฑ ๋ฐ ํ˜ธํ™˜์„ฑ: ํŠน์ • ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์˜ ๋“œ๋ผ์ด๋ฒ„ ์ง€์›์„ ํ™œ์šฉํ•˜๊ณ , ํ˜ธ์ŠคํŠธ์™€ ๊ฐ€์ƒ ๋จธ์‹  ๊ฐ„์˜ ๋†’์€ ํ˜ธํ™˜์„ฑ ์ œ๊ณต.

- ์ ‘๊ทผ ์ œ์–ด: ํŠน์ • ๊ฐ€์ƒ ๋จธ์‹ ์—๋งŒ ํŠน์ • ํ•˜๋“œ์›จ์–ด๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž์› ๊ฐ„ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋ณด์•ˆ ๊ฐ•ํ™”.

- ํŠน๋ณ„ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€: ๊ฒŒ์ž„ ๊ฐ€์ƒํ™”, GPU ๊ฐ€์† ๋จธ์‹  ๋Ÿฌ๋‹, ๊ทธ๋ž˜ํ”ฝ ๋””์ž์ธ ์ž‘์—… ๋“ฑ๊ณผ ๊ฐ™์€ ํŠน์ˆ˜ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์œ ์šฉ.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์ค‘์ฒฉ ๊ฐ€์ƒํ™”(Nested Virtualizaion)์€ ๋ฌด์—‡์ผ๊นŒ์š”?

์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด๋ถ€์—์„œ ๋˜ ๋‹ค๋ฅธ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•ด์š”. ์ฆ‰, ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด๋ถ€์—์„œ ๊ฐ€์ƒํ™” ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๋˜ ๋‹ค๋ฅธ ๊ฐ€์ƒ ๋จธ์‹ ์„ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ณดํ†ต ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด๋ถ€์—์„œ Hypervisor(ํ•˜์ดํผ๋ฐ”์ด์ €)๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์–ด์š”.

๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ํŠน ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์„๊นŒ์š”?

- ํ…Œ์ŠคํŠธ ๋ฐ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ: ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์œ ์šฉ. ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด๋ถ€์—์„œ ๋˜ ๋‹ค๋ฅธ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‹คํ–‰ํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ํ…Œ์ŠคํŠธํ•˜๊ณ , ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Œ.

- ์„œ๋ฒ„ ๊ฐ€์ƒํ™” ํ…Œ์ŠคํŠธ: ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ๊ฐ€์ƒํ™” ํ™˜๊ฒฝ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ , ๋‹ค์–‘ํ•œ ๊ฐ€์ƒ ๋จธ์‹  ์ƒํ™ฉ์„ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ํ•  ์ˆ˜ ์žˆ์Œ.

- ์ž์› ๊ฒฉ๋ฆฌ: ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐ€์ƒ ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌํ•˜๊ณ , ๋…๋ฆฝ์ ์œผ๋กœ ๊ด€๋ฆฌ.

๋‹ค๋งŒ, ์ฃผ์˜ํ•  ์ ์€ ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋†’์€ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜์ง€ ์•Š๊ณ , ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์˜ ํ•˜๋“œ์›จ์–ด ๋ฐ ํ•˜์ดํผ๋ฐ”์ด์ €์— ๋”ฐ๋ผ ์ง€์› ์—ฌ๋ถ€๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์–ด์š”. ์ผ๋ถ€ ํ•˜์ดํผ๋ฐ”์ด์ €์™€ ํ•˜๋“œ์›จ์–ด ์กฐํ•ฉ์—์„œ๋Š” ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ์ˆ˜๋„ ์žˆ์–ด์š”.

์ •๋ฆฌํ•˜์ž๋ฉด QEMU/KVM Passthrough๋Š” ์‹ค์ œ ํ•˜๋“œ์›จ์–ด ์ž์›์„ ๊ฐ€์ƒ ๋จธ์‹ ์— ํ• ๋‹นํ•˜๋Š” ๊ธฐ์ˆ ์ด๊ณ , ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋Š” ๊ฐ€์ƒ ๋จธ์‹  ๋‚ด์—์„œ ๋˜ ๋‹ค๋ฅธ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ์ˆ ์ด์—์š”.

์ฃผ๋‹ˆ๋Š” ์ด๋ฅผ ํ†ตํ•ด ์ด ์ „์— ๋งŒ๋“ค์—ˆ๋˜ ์œˆ๋„์šฐ 10์— ํ•ด๋‹น ๊ธฐ์ˆ ์„ ํ• ๋‹นํ•˜๊ณ , ๋ธ”๋ฃจ ์Šคํƒ (GPU ๋ฐ ๊ฐ€์ƒํ™” ๊ธฐ๋Šฅ ํ•„์š”)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•ด ๋ณด๋ ค๊ณ  ํ•ด์š”.

 

 

    ๐Ÿ”ฝ KVM - Passthrough

        ๐Ÿ“ฆ ๊ตฌ์„ฑ

์ตœ์ดˆ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” BIOS ์„ค์ •์—์„œ VT-d (Intel) ํ˜น์€ AMD IOMMU (AMD) ๊ด€๋ จ Option์„ Enable(ํ™œ์„ฑ)ํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

์ตœ์ดˆ ์šฐ๋ถ„ํˆฌ ํ˜ธ์ŠคํŠธ ์„œ๋ฒ„์—์„œ Kernel(์ปค๋„) Boot(๋ถ€ํŠธ) Parameter(ํŒŒ๋ผ๋ฏธํ„ฐ)์— IOMMU๋ฅผ ํ™œ์„ฑํ™” ํ•˜๋„๋ก grub ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋„๋ก ํ• ๊ฒŒ์š”.

cp /etc/default/grub /etc/default/grud.back


๋จผ์ € ์œ„์™€ ๊ฐ™์ด ์„ค์ • ํŒŒ์ผ์„ ๋ฐฑ์—…ํ•ด ๋‘์—ˆ์–ด์š”.



์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด PCI ID๋ฅผ ํ™•์ธํ•ด ์ค„ ์ˆ˜ ์žˆ์–ด์š”.
์œ„์—์„œ PCI ID๋Š” 10de:24c9์™€ 10de:228b์—์š”.


vim /etc/default/grub ๋ณ€๊ฒฝ ์ „


์œ„ ์„ค์ • ํŒŒ์ผ์—์„œ 10๋ฒˆ์งธ ์ค„์„ ์† ๋ด์ฃผ๋ ค๊ณ  ํ•ด์š”.


vim /etc/default/grub ๋ณ€๊ฒฝ ๋’ค

728x90


์ฃผ๋‹ˆ๋Š” Intel CPU์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์ด ๋ณ€๊ฒฝํ•ด ์ฃผ์—ˆ์–ด์š”.

 

 

update-grub


์œ„ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•œ /etc/default/grub ์„ค์ • ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜์—ฌ ๋ฐ˜์˜ํ•ด ์ฃผ์—ˆ์–ด์š”.


grub-mkconfig -o /boot/grub/grub.cfg


๋˜๋Š” ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์–ด์š”.

 

sh -c 'echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf'
sh -c 'echo "blacklist nvidia_uvm" >> /etc/modprobe.d/blacklist.conf'
sh -c 'echo "blacklist nvidia_drm" >> /etc/modprobe.d/blacklist.conf'
sh -c 'echo "blacklist nvidia_modeset" >> /etc/modprobe.d/blacklist.conf'
sh -c 'echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf'


๊ทธ๋Ÿฐ ๋’ค ์œ„ ๋ช…๋ น์–ด๋กœ ํ˜ธ์ŠคํŠธ ์„œ๋ฒ„์—์„œ nVidia Driver๋ฅผ Disable(๋น„ํ™œ์„ฑํ™”) ํ•ด ์ฃผ์—ˆ์–ด์š”.
์ฐธ๊ณ ๋กœ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ˜ธ์ŠคํŠธ ์„œ๋ฒ„์—์„œ๋Š” ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋ผ์š”.

 

์—ฌ๊ธฐ๊นŒ์ง€ ํ•œ ๋’ค ์„œ๋ฒ„ ์žฌ๋ถ€ํŒ…์„ ์ง„ํ–‰ํ•ด ์ฃผ์—ˆ์–ด์š”.

 




lspci -nnk


์œ„ ๋ช…๋ น์–ด๋กœ PCI ์žฅ์น˜ ์ค‘ Passthrough ํ•  ์žฅ์น˜์˜ ID๋ฅผ ํ™•์ธํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

์ฃผ๋‹ˆ๊ฐ€ Passthroughํ•  nVidia RTX 3060 Ti๋Š” ์œ„์™€ ๊ฐ™์ด PCI ID๊ฐ€ 10de:24c9(VGA)์ด๊ณ , 10de:228b(Audio) ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

vim /etc/modprobe.d/vfio.conf

 

options vfio-pci ids=10de:24c9,10de:228b
softdep nvidia pre: vfio-pci
๋ฐ˜์‘ํ˜•



๊ทธ๋Ÿฐ ๋’ค ์œ„์™€ ๊ฐ™์ด vfio.conf๋ฅผ ๋งŒ๋“ค๊ณ , ์œ„์™€ ๊ฐ™์ด ๋‚ด์šฉ์„ ์ž…๋ ฅํ•ด ์ฃผ์—ˆ์–ด์š”.
(PCI ID๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ์ธ ๊ฒฝ์šฐ ์ฝค๋งˆ(,)๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ž…๋ ฅ)

 

update-initramfs -u


์œ„ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด initramfs ๊ฐฑ์‹ ์„ ํ•ด ์ฃผ์—ˆ์–ด์š”.
๋งŒ์•ฝ ๋ถ€ํŒ…์—์„œ initramfs ๊ธฐ๋ฐ˜ ๋ฐฐํฌํŒ์ด ์•„๋‹ˆ๊ฑฐ๋‚˜, ์šฐ๋ถ„ํˆฌ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์ด ๊ณผ์ •์€ ๋‹ค์†Œ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์–ด์š”.

์—ฌ๊ธฐ๊นŒ์ง€ ๋˜์—ˆ์œผ๋ฉด ์„œ๋ฒ„๋ฅผ ์žฌ๋ถ€ํŒ…ํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

 

echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf


์œ„์™€ ๊ฐ™์ด vfio์—์„œ ๋””๋ฐ”์ด์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๊ตฌ์„ฑ/์ค‘๋‹จ์„ ํ—ˆ์šฉํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

 

 

 

    ๐Ÿ”ฝ QEMU/KVM ๊ฐ€์ƒ ๋จธ์‹  ๊ด€๋ฆฌ์ž

        ๐Ÿ“ฆ Use virtual machine GPU Config

์ด์ œ ๊ฐ€์ƒ ๋จธ์‹  ๊ด€๋ฆฌ์ž๋ฅผ ํ†ตํ•ด ์ด ์ „์— ๋งŒ๋“  ์œˆ๋„์šฐ 10 ๊ฐ€์ƒ ๋จธ์‹ ์— GPU๋ฅผ ์ธ์‹ ์‹œ์ผœ ๋ณผ๊ฒŒ์š”.


์ตœ์ดˆ ๊ฐ€์ƒ ๋จธ์‹  ์„ค์ • ํ™”๋ฉด์—์„œ ๋งจ ๋ฐ‘์— Add Hardware๋ฅผ ๋ˆŒ๋Ÿฌ์ค„๊ฑฐ์—์š”.


PCI Host Device -> NVIDIA ...


๊ทธ๋ฆฌ๊ณ  ์œ„์™€ ๊ฐ™์ด GPU ์žฅ์น˜๋ฅผ ์ฐพ์•„ ์„ ํƒํ•œ ๋’ค Finish๋ฅผ ๋ˆŒ๋Ÿฌ์ค„๊ฒŒ์š”.



๊ทธ๋Ÿผ ์œ„์™€ ๊ฐ™์ด PCI ์žฅ์น˜๊ฐ€ ์ถ”๊ฐ€ ๋˜๋Š” ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.






๊ฐ€์ƒ ๋จธ์‹ ์„ ์ผœ๊ณ , ํ™•์ธํ•ด ๋ณธ ๊ฒฐ๊ณผ ์œ„์™€ ๊ฐ™์ด ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฑธ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.








 

 

    ๐Ÿ”ฝ KVM - Nested Virtualizaion

        ๐Ÿ“ฆ ๊ตฌ์„ฑ

์ด๋ฒˆ์—” ์ค‘์ฒฉ ๊ฐ€์ƒํ™”์— ๋Œ€ํ•œ ๊ตฌ์„ฑ์„ ํ•ด๋ณผ๊ฒŒ์š”.
์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋Š” ํ•˜๋“œ์›จ์–ด ๊ฐ€์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ตœ์‹  ํ”„๋กœ์„ธ์„œ ์ œํ’ˆ๊ตฐ์—์„œ ์ง€์›ํ•˜๊ณ  ์žˆ์–ด์š”.
CPU ์•„ํ‚คํ…์ฒ˜๊ฐ€ Intel์ธ์ง€ AMD์ธ์ง€์— ๋”ฐ๋ผ cat ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ดํผ๋ฐ”์ด์ €์—์„œ ์ค‘์ฒฉ์ด ์ด๋ฏธ ํ™œ์„ฑํ™” ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

cat /sys/module/kvm_intel/parameters/nested


์ฃผ๋‹ˆ์˜ ์„œ๋ฒ„ CPU๋Š” Intel ๊ณ„์—ด์ด๋ผ ์œ„์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ์—ˆ์–ด์š”.
๋งŒ์•ฝ AMD ๊ณ„์—ด์ด๋ผ๋ฉด ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์š”.

cat /sys/module/kvm_amd/parameters/nested

 

์œ„์™€ ๊ฐ™์ด ๋ช…๋ น์–ด ๊ฒฐ๊ณผ๋Š” Y ํ˜น์€ N์œผ๋กœ ์ถœ๋ ฅ๋˜๊ณ , Y๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ์˜๋ฏธ์ด๊ณ ,
์ด๋ฏธ ์ค‘์ฒฉ ๊ฐ€์ƒํ™” ์ค€๋น„๊ฐ€ ๋๋‚ฌ๋‹ค๋Š” ๊ฑธ ์˜๋ฏธํ•ด์š”.


ํ•˜์ง€๋งŒ, N์ด๋ผ๋ฉด KVM ์ปค๋„ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ค‘์ฒฉ ๊ฐ€์ƒํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•ด ์ฃผ์–ด์•ผ ํ•ด์š”.

 

์ค‘์ฒฉ๋œ KVM ๊ฐ€์ƒํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•

์ค‘์ฒฉ๋œ KVM ๊ฐ€์ƒํ™”๋ฅผ ํ™œ์„ฑํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• KVM์€ Linux ์ปค๋„์— ํ†ตํ•ฉ๋œ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. KVM์ด ํ™œ์„ฑํ™”๋œ ์‹œ์Šคํ…œ์€ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒฝ์šฐ ์œ ํ˜• 1 ํ•˜์ดํผ๋ฐ”์ด์ € ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. KVM์„ ์‚ฌ์šฉํ•˜

ko.linux-console.net


์„ค์ • ๋ฐฉ๋ฒ•์€ ์œ„ ๋ฐฉ๋ฒ•์„ ๋”ฐ๋ผํ•ด๋ณด๋ฉด ์ข‹์„ ๊ฑฐ ๊ฐ™์•„์š”.


virsh edit <๊ฐ€์ƒ ๋จธ์‹  ์ด๋ฆ„>


๊ทธ๋Ÿฐ ๋’ค ๊ฐ€์ƒ ๋จธ์‹  ์†์„ฑ์„ ์† ๋ด์ค˜์•ผ ํ•˜๋Š”๋ฐ, 26๋ฒˆ์žฌ ์ค„์— CPU ๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š” Tag ๋ถ€๋ถ„์—
์ฃผ๋‹ˆ์ฒ˜๋Ÿผ host-passthrough์ด๋ผ๊ณ  ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผ ํ•ด์š”.

 

 

 

 

 

์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค : ์‹œ์Šคํ…œ & ๋„คํŠธ์›Œํฌ

COUPANG

www.coupang.com

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."

 

 

 

 

 

๐Ÿง ์ฐธ๊ณ  ์ž๋ฃŒ

 

GitHub - lateralblast/kvm-nvidia-passthrough: Nvidia GPGPU Pass-Through with KVM

Nvidia GPGPU Pass-Through with KVM. Contribute to lateralblast/kvm-nvidia-passthrough development by creating an account on GitHub.

github.com

 

 

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•