Bagaimana cara menyimpan sistem gim dari PC rumahan dengan cara virtualisasi

Berkat kompetisi dan perkembangan kemajuan ilmiah dan teknis, PC modern memungkinkan Anda untuk melakukan banyak tugas sederhana dan kompleks pada saat yang sama, misalnya, memutar dan memutar video di TV, membuat grafik dan membaca berita di Internet, mendistribusikan torrent secara paralel, dll. dll. Banyak yang melangkah lebih jauh dan menggunakan beberapa PC untuk bekerja dan hiburan. Namun, menggunakan teknologi virtualisasi, di satu sisi, Anda dapat memperluas kemampuan PC Anda, dan di sisi lain, menghemat uang, karena pada kenyataannya, Anda dapat menjalankan beberapa sistem operasi pada perangkat keras yang sama secara bersamaan.


Artikel ini akan menjadi tuan rumah pengaturan host khusus untuk digunakan di "rumah", yaitu berbicara tentang GPU PASSTHROUGH .

Pendahuluan


Pertama, beberapa kata tentang virtualisasi secara umum. Menurut Wikipedia :
Virtualisasi adalah penyediaan seperangkat sumber daya komputasi atau kombinasi logisnya, disarikan dari implementasi perangkat keras, dan sambil memberikan isolasi logis satu sama lain dari proses komputasi yang berjalan pada sumber daya fisik yang sama.
Ini dicapai baik dengan bantuan aplikasi (misalnya VirtualBox, VMware) dan pada tingkat sistem yang mendukung virtualisasi perangkat keras (misalnya KVM, ESXi, Hyper-V). Dalam kasus terakhir, kehilangan kinerja dibandingkan dengan sistem asli minimal .

Selanjutnya, artikel ini akan menjelaskan pengaturan sistem virtualisasi open source Proxmox karena cukup ramah, ada akses mudah ke konsol melalui formulir web, dan juga didasarkan pada sekelompok Debian + kvm, yang memiliki banyak panduan dan deskripsi pada jaringan , yaitu dokumentasi termasuk dan dalam bahasa Rusia.

Persyaratan perangkat keras


Kami akan membutuhkan:

- prosesor dan motherboard dengan dukungan untuk VT-x, VT-d dari Intel atau AMD-Vi, IOMMU dari AMD. Jangan malas dan tentukan apakah salinan Anda mendukung persyaratan ini.

Adapun motherboard. Saya pasti tidak merekomendasikan untuk menyetrika dengan kabel yang biasa-biasa saja di papan daya. Dengan Z270 dan Z390 abaikan zona oranye atau biarkan bekerja dalam persediaan.

  • 2 kartu video, satu permainan (di jaringan untuk masalah yang lebih sedikit ketika meneruskan ke mesin virtual mereka memuji yang merah, tetapi secara pribadi, semuanya bekerja dengan kartu video dari yang hijau), yang kedua untuk tuan rumah. Dalam kasus saya, itu terintegrasi ke dalam prosesor.
  • 1-2 monitor dan kabel untuk mereka, agar
  • sepasang set keyboard + mouse untuk membuatnya nyaman untuk bekerja dan mengkonfigurasi sistem
  • PC atau tablet kedua yang terhubung ke jaringan lokal untuk melakukan pengaturan melalui formulir web.

Instalasi dan pengaturan


Saya menggunakan konfigurasi game berikut:

- PC untuk konfigurasi host dibuat jauh dari motherboard terbaik, tetapi di forum Inggris sangat sering dipuji oleh perusahaan ini karena perangkat kerasnya paling sering cocok untuk hal-hal seperti:
Prosesor - i7 8700k
Ibu - ASRock Z390M Pro4
Kartu video - INNO3D GeForce GTX 1070 iChill X4
- PC kedua (Morefine-M1s Mini-PC),
- 2 tikus,
- 1 keyboard di host, di perangkat lain saya menggunakan perangkat lunak,
- 3 koneksi ke monitor Dell U2713HM (VGA - untuk kartu video terintegrasi, HDMI - untuk GTX1070, pada DVI ada Mini-PC. Peralihan di antara sinyal video dilakukan melalui menu monitor)

Tahap 0 - Di motherboard, hidupkan VT-d: Aktifkan, Intel Vitrualization Technology: Aktifkan, adaptor Graphx Utama: VGA, Di atas 4G Decoding: Aktifkan. Jika memungkinkan, pastikan untuk memilih yang di mana host akan berfungsi, yaitu kartu grafis yang lebih lemah dan beralih ke sana.

Tahap 1 - Instal Proxmox pada host. Untuk melakukan ini:

1.1. Unduh gambar disk dari situs resmi

1.2. Kami menulis gambar ke flash drive menggunakan program khusus

1.3. Kami mem-boot dari USB flash drive, dan melakukan instalasi yang menunjukkan hard drive mana yang akan diinstal, memasukkan kata sandi untuk pengguna root di masa depan, dan juga secara eksplisit mengatur pengaturan jaringan.

Tahap 2 - Terhubung melalui jaringan melalui antarmuka web menggunakan PC kedua atau
tablet (dalam kasus saya ini adalah Mini-PC) ke host dan konfigurasikan Proxmox untuk panduan ini melalui konsol teks.

gambar

Ada nuansa kecil yang mungkin memerlukan biaya perangkat lunak, tetapi saya memutuskan bahwa mengganti motherboard sebelumnya akan lebih mudah, karena Papan Gigabyte tidak memenuhi persyaratan ini:
1) Jalankan "dmesg | perintah grep ecap ยป.

2) Pada jalur IOMMU, nilai heksadesimal setelah "ecap" menunjukkan apakah interrupt remapping didukung. Jika karakter terakhir dari nilai ini adalah 8, 9, a, b, c, d, e, atau f, interrupt remapping didukung. Misalnya, "ecap 1000" menunjukkan tidak ada dukungan pemetaan ulang interupsi. "Ecap 10207f" menunjukkan dukungan pemetaan ulang interupsi, karena karakter terakhir adalah "f".

Memetakan ulang interrupt hanya akan diaktifkan jika setiap IOMMU mendukungnya.
Jika kondisinya terpenuhi, lanjutkan.

Jadi pengaturannya adalah:

Kami membuka file dengan perintah dari konsol (Anda tidak perlu memasukkan simbol double-lattice, jadi saya akan memisahkan dalam teks perintah dari apa yang perlu dimasukkan ke dalam file)

## nano /etc/default/grub 

lakukan penggantian

 GRUB_CMDLINE_LINUX_DEFAULT="quiet" 

untuk prosesor Intel

 GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" 

untuk prosesor AMD

 GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on" 

selanjutnya kita berikan perintah

 ## update-grub 

lalu kita me-reboot host melalui antarmuka web

File grub PC dalam artikel
 # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Proxmox Virtual Environment" GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on" GRUB_CMDLINE_LINUX="" # Disable os-prober, it might add menu entries for each guest GRUB_DISABLE_OS_PROBER=true # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Disable generation of recovery mode menu entries GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1" 


Tambahkan driver yang diperlukan ke file konfigurasi

 ## nano /etc/modules 

 # /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. vfio vfio_iommu_type1 vfio_pci vfio_virqfd 

Kami menulis di konsol

 ## lspci 

Daftar perangkat yang tersedia untuk penerusan akan ditampilkan di layar, kita akan menemukan unit dengan kartu video yang menarik bagi kita, dalam kasus saya ini adalah 2 perangkat dalam grup kartu video dan terdengar di alamat 01: 00.0 dan 01: 00.1, jadi saya segera mendaftarkan grup.

 ## nano /etc/pve/qemu-server/vmid.conf 

 hostpci0: 01:00 

Kami menulis perintah di konsol untuk menentukan model dan id-nya

## lspci -n -s 01:00
01: 00.0 0300: 10de: 1b81 (rev a2)
01: 00.1 0403: 10de: 10f0 (rev a1)

Sekarang edit file untuk kartu video kami (dalam kasus Anda, id akan berbeda)

 ## nano /etc/modprobe.d/vfio.conf 

 options vfio-pci ids=10de:1b81,10de:10f0 

Kami memasukkan lembar hitam pengemudi

 ## nano /etc/modprobe.d/blacklist.conf 

 blacklist radeon blacklist nouveau blacklist nvidia 

Sekarang kita buat melalui antarmuka web dan mengedit file pengaturan mesin virtual melalui konsol. Di sini baris "args:" memecahkan, karena tanpanya, driver kartu video akan mendeteksi virtualisasi, tetapi dengan mengganti nama peralatan, lebih tepatnya, hv_vendor_id = willitwork, kami menghapus masalah dengan kesalahan 43 yang dapat dihasilkan oleh driver video perangkat. Ada nomor mesin virtual dalam proxmox yang digunakan sebagai nama.

 ## nano /etc/pve/qemu-server/<vmid>.conf 

 args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=willitwork,kvm=off' ..... bios: ovmf ..... hostpci0: 01:00.0,pcie=1 ..... machine: q35 

File pengaturan mesin virtual PC dalam artikel
 args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=willitwork,kvm=off' bios: ovmf boot: dcn bootdisk: sata0 cores: 8 cpu: host hostpci0: 01:00.0,pcie=1 ide2: local:iso/ru-en_windows_10_1803_x86-x64.iso,media$ machine: q35 memory: 16384 net0: e1000=EA:20:FA:6A:D6:A0,bridge=vmbr0 numa: 0 ostype: win10 sata0: local-lvm:vm-100-disk-0,size=120G scsihw: virtio-scsi-pci smbios1: uuid=751edeca-d249-4c0d-9ded-b59d929df0f1 sockets: 1 usb0: host=1-8.4 usb1: host=1-8.3 vmgenid: b75aeb27-3102-458d-8e23-18cd27796dc1 


Sekarang reboot host dan mulai mesin virtual.

Tahap 3 - Melalui Remote Video Console, instal Windows dan driver. Dalam kasus saya, Windows pertama-tama mengenali driver video proxmox untuk bekerja melalui konsol video, kemudian menemukan driver untuk GTX1070, dan setelah memperbarui melalui Internet (pencarian paksa untuk driver di jaringan), mengunduh dan menginstal driver yang saya butuhkan untuk kartu video game.

Tahap ke-4 - Mulai Ulang Mesin Virtual, alihkan tampilan aliran video pada monitor ke konektor kartu video dan ... dalam kasus saya semuanya langsung bekerja, tidak ada kesalahan 43 ... Pada saat yang sama, desktop didefinisikan sebagai No. 2.

Saya mencoba untuk meluncurkan video Blue-ray - tidak ada masalah, tidak ada penundaan dan jalur dengan urutan video, saya meluncurkan Warhammer online - itu dimulai dan nyaman untuk bermain di PvP, saya meluncurkan GTA5, ceritanya muncul, saya menembak dengan cukup nyaman. Secara visual, tidak ada kerugian kinerja.

Jika kita perlu meneruskan seluruh hard drive, maka dalam file pengaturan mesin virtual kita perlu menambahkan baris:
ide0: volume = / dev / sda

atau
sata0: volume = / dev / sda

Khususnya, yang sda / sdb / sdc /, dll. dapat ditentukan di antarmuka web.

gambar

PS

Untuk satu barel madu ada lalat di salep. Suara terintegrasi tidak dapat dibuang secara terpisah, karena dalam kelompoknya adalah perangkat lain yang, setelah meneruskan kartu suara ke mesin virtual, menghilang untuk host sampai host berikutnya kelebihan beban. Dalam kasus saya itu

00: 1f.0 ISA Bridge: Intel Corporation Device a305 (rev 10)
00: 1f. 3 Perangkat audio: Perangkat Intel Corporation a348 (rev 10)
00: 1f.4 SMBus: Intel Corporation Device a323 (rev 10)
00: 1f.5 Pengontrol bus serial [0c80]: Intel Corporation Device a324 (rev 10)
00: 1f.6 Pengontrol Ethernet: Intel Corporation Device 15bc (rev 10)

Yaitu suara atau melalui kabel video ke monitor atau kartu suara eksternal. Port USB dirutekankan tanpa masalah. Sayangnya, saat ini belum terselesaikan. Ada opsi untuk terhubung dari jarak jauh dari PC lain ke game, melalui RDP atau SPICE . Dalam hal ini, semuanya akan baik-baik saja

Tidak selalu meneruskan kartu video berjalan dengan sempurna seperti dalam kasus saya, kesalahan 43 atau sesuatu yang lain menghalangi. Pengaturan lain yang dapat membantu dijelaskan di sini . Idealnya, Anda perlu mencari jaringan untuk pengaturan yang sukses dan fokus pada mereka, karena bagi saya ini muncul, selain itu ada juga daftar perangkat keras yang memungkinkan saya untuk mencapai yang sama seperti saya, tetapi tidak lengkap.

UPDATE1:
Beberapa catatan di pinggiran:
1. Cara mendapatkan keyboard dari port PS / 2 ke VM:
pertama-tama masukkan perintah di konsol
## dmesg | input grep
Kami mencari teks dalam teks
...
input: AT Translated Set keyboard 2 sebagai / devices / platform / i8042 / serio0 / input / input 2
...
Ingat angka 2 di akhir, mungkin berbeda. Kemudian, dalam file pengaturan VM, tambahkan ke baris:
args: -object 'input-linux, id = kbd, evdev = / dev / input / event 2 , grab_all = on, repeat = on'
memasukkan 2 di akhir evdev = / dev / input / event 2

Untuk mouse - sama.

2. Dengan USB:
Sedangkan untuk perangkat USB, semuanya lebih sederhana di sana, perangkat digulir langsung dari formulir web dengan ID atau Anda dapat sepenuhnya port port. Namun, ada nuansa - jika karena alasan tertentu Anda tidak bisa, seperti saya, membuang perangkat audio ke VM, karena itu terkandung dalam grup dengan pengendali kunci yang tanpanya tuan rumah tidak dapat sepenuhnya bekerja, kemudian meneruskan port / perangkat melalui USB memecahkan masalah ini, tetapi suara dapat mulai jatuh setelah beberapa waktu, desis / dengungan dan lain-lain ... dll, pada saat yang sama pada asli semuanya akan bagus untuk sistem. Dalam hal ini, perlu untuk meneruskan bukan port / perangkat, tetapi pengontrol USB itu sendiri sebagai perangkat PCIe sesuai dengan metode yang ditentukan dalam artikel. Dan semuanya akan meningkat secara dramatis. Tetapi pada saat yang sama, setelah memulai VM dengan pengaturan seperti itu, tidak mungkin lagi untuk meneruskan perangkat lain dari pengontrol ini melalui host.

3. Hard drive dapat diteruskan melalui penerusan pengontrol sebagai perangkat PCIe sesuai dengan metode yang ditentukan dalam artikel (saya tidak merekomendasikan meneruskan pengontrol yang terintegrasi ke motherboard, hanya terhubung ke PCIe), atau langsung:
pergi ke
## cd / dev / disk / by-id
melalui dir kita melihat daftar ...
kami menyalin garis bentuk ata-WDC_WD40EFRX-68WT0N6_WD-WCC4E1AC9SX9, di mana antarmuka koneksi, merek, dan nomor seri hard disk terdaftar. Kemudian buka file konfigurasi VM dan tulis:
sata1: volume = / dev / disk / by-id / ata-WDC_WD40EFRX-68WT0N6_WD-WCC4E1AC9SX9
dan semuanya bekerja, sambil mengingat bahwa sata0-sata5, yaitu untuk satu VM, jumlah disk yang terhubung, termasuk yang virtual, tidak dapat melebihi 6pcs.

Source: https://habr.com/ru/post/id437598/


All Articles