Ako pripojiť hostiteľský adresár do virtuálneho počítača KVM


Pri používaní QEMU/KVM existuje mnoho spôsobov zdieľania údajov medzi hostiteľským systémom a hosťovskými virtuálnymi strojmi. V tomto návode sa zameriame na vytvorenie priechodu súborového systému pomocou virt-manager alebo manuálnou úpravou definície virtuálneho počítača a naučíme sa, ako pripojiť hostiteľský adresár do virtualizovaného hosťa.

V tomto tutoriále sa naučíte:

  • Ako vytvoriť prechod súborového systému pomocou virt-manager
  • Ako vytvoriť prechod súborového systému manuálnou úpravou definície XML virtuálneho počítača
  • Ako pripojiť hostiteľský adresár na virtualizovaný hosťovský systém

Zavedenie

O virtuálnych strojoch sme hovorili v predchádzajúcich návodoch, keď sme videli, ako vytvárať a spravovať virtuálne stroje KVM z príkazového riadku a ako vytvárať snímky virtualizovaných systémov. V určitých situáciách môže byť potrebné zdieľať údaje medzi hostiteľským a hosťovským systémom. Existuje mnoho možných riešení tohto problému; Jeden spočíva vo vytvorení prechodu súborového systému. To je však možné len na systéme virtualizovanom prostredníctvom "systémovej" inštancie libvirtd (qemu:///system); Nefunguje na neprivilegovaných inštanciách "relácie" libvirtd (qemu:///session).

Vytvorenie prechodu súborového systému pomocou virt-manager

Aby sme vytvorili priechod súborového systému v už existujúcom hosťovskom systéme QEMU/KVM pomocou virt-manager, klikneme na ikonu "lamp" v paneli nástrojov v okne prehliadača virtuálnych strojov. Získame tak prístup k podrobnostiam o konfigurácii virtuálneho počítača:

Prvá vec, ktorú musíme urobiť, je kliknúť na položku "Pamäť " v ľavom stĺpci, potom začiarknuť políčko "Povoliť zdieľanú pamäť" a vykonať zmenu kliknutím na tlačidlo "Použiť" v pravom dolnom rohu stránky. Ak je virtuálny stroj spustený, virt-manager nás upozorní, že zmeny sa prejavia po ďalšom vypnutí:

Teraz musíme kliknúť na tlačidlo "Pridať hardvér" v ľavej dolnej časti stránky a potom na "Súborový systém " v ľavom stĺpci okna, ktoré sa otvorí. Aby sme vytvorili priechod súborového systému, musíme poskytnúť zdroj a cieľovú cestu. Zdrojová cesta je adresár na hostiteľskom počítači, ktorý chceme pripojiť do hosťovského systému; cieľová cesta nie je v skutočnosti cesta, ale označenie, ktoré používame na odkazovanie na prechod z virtuálneho počítača.

V nižšie uvedenom príklade zdieľame adresár /home/doc/Downloads na hostiteľskom počítači a na odkazovanie naň použijeme označenie "host_doc_downloads ". Ak chceme, aby bol adresár prístupný v režime iba na čítanie, možno z bezpečnostných dôvodov, môžeme zaškrtnúť políčko "Exportovať súborový systém ako pripojenie iba na čítanie". Keď sme pripravení, klikneme na tlačidlo "Dokončiť" a potvrdíme, že chceme zariadenie sprístupniť.

Priechod bude k dispozícii po ďalšom "správnom" vypnutí systému (potrebujeme stroj skutočne vypnúť; reštart nebude účinný).

Vytvorenie prechodu súborového systému úpravou súboru XML virtuálneho počítača

Ak nepoužívame virt-manager, môžeme vytvoriť passthrough súborového systému priamo úpravou XML definície virtuálneho počítača. Aby sme získali zoznam všetkých existujúcich virtuálnych strojov, môžeme použiť skript virsh:

$ sudo virsh list --all

V tomto prípade príkaz vráti nasledujúci výstup:

Id Name    State
--------------------------
8 debian12 running

Na úpravu definície virtuálneho počítača môžeme použiť príkaz virsh-edit a odovzdať názov virtuálneho počítača ako argument:

$ sudo virsh edit debian12

XML súbor sa otvorí v predvolenom editore. Ak chcete povoliť zdieľanú pamäť, pridáme do sekcie "doména" nasledujúci kód:

<memoryBacking> 
  <source type="memfd"/> 
  <access mode="shared"/> 
</memoryBacking>

Potom, aby sme pridali priechod adresára, pridáme nasledujúci kód, tentoraz do sekcie "zariadenia":

<filesystem type="mount" accessmode="passthrough">
  <driver type="virtiofs"/> <source dir="/home/doc/Downloads"/>
  <target dir="host_doc_downloads"/>
  <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
</filesystem>

Keď je pripravený, uložíme a zatvoríme súbor. Aby bola konfigurácia efektívna, musíme vypnúť hosťovský systém:

$ sudo virsh shutdown debian12

Pripojenie hostiteľského adresára

Akonáhle sme vytvorili priechod súborového systému, môžeme pripojiť hostiteľský adresár pomocou príkazu "mount", pričom ako typ súborového systému zadajte "virtiofs" a ako sme už povedali, odkazom na zdieľanú cestu hostiteľa prostredníctvom štítku, ktorý sme použili v konfigurácii. V tomto prípade by sme na pripojenie hostiteľského adresára na /mnt v hosťovskom systéme spustili:

$ sudo mount -t virtiofs host_doc_downloads /mnt

Závery

V tomto tutoriále sme sa naučili, ako vytvoriť priechod súborového systému a pripojiť hostiteľský adresár do hosťa QEMU/KVM. Videli sme, ako vytvoriť passthrough pomocou virt-manager alebo priamou úpravou XML definície virtualizovaného systému pomocou príkazu virsh edit. Nakoniec sme videli, ako pripojiť zdieľaný adresár do hosťovského systému.

Súvisiace články: