KVM guest-host kommunikáció

Fórumok

Régebben is próbáltam a KVM-et, de csak nem rég jutottam el odáig, hogy jobban szemügyre vegyem. Eddig VirtualBoxot használtam és van néhány bejövős dolog a KVM-ben, úgyhogy szeretnék váltani, feltéve, hogy választ találok/kapok két fontos kérdésre.

  • Linux host és Windows 7 guest között hogyan tudok megosztott könyvtárakat csinálni?

A KVM weboldalán csak Linux guestet emlegetnek, máshol pedig találtam valami egzotikus fájlrendszerre való hivatkozást a Windowson való használathoz is, de nem igazán működött. Futtassak inkább Sambát a hoston, vagy van valami, ami működik is?

  • Milyen csatornán tud kommunikálni a Linux host és a Windows guest?

VirtualBoxon ugye ott van a VBoxManage/VBoxControl guestproperty set/get, ahol változókat lehet megadni, flagekkel lehet állítani, hogy meddig maradjon érvényben meg ilyen finomságok. A Virtual Machine Managerben viszont látok egy csomó eszközt, be tudok állítani egy rakás channelt, amik közül néhány látszik Windowsban COM portként, néhány nem. Van a VirtualBoxhoz hasonló megoldás? Egy egyedi, hardveres csatornát szeretnék, hogy ha több guestem van, akkor ne legyen olyan, hogy pl. a hoston van egy TCP socketet létrehozó, működő, portot lefoglaló szkript, guest oldalon a párja, a másik guest miatt meg ugyanez lenne és ID-zni kell vagy figyelni, hogy melyik párosnak melyik port kell meg ilyenek.

Hozzászólások

A megosztott könyvtárra nincs egyből jobb ötletem a sambánál.

A csatorna meg van oldva; úgy hívják, hogy virtio-serial. Érdemes libvirt-tel konfiguráltatni, de használható közvetlenül a qemu parancssorból is. Néhány link:

A guest oldaláról két programot tudok említeni különösebb nyomozás nélkül, amely virtio-serial-on beszélget: az egyik a qemu guest agent (amely a libvirt számára nyújt néhány szolgáltatást), a másik pedig a spice virtual desktop agent (clipboard integráció, ilyesmi).

Szerk.: a virtio-serial windows guest drivert innen elindulva le kellene tudnod tölteni: http://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

En is nezegetem a kvm/qemu-t.

Windows guest es linux host kozott fajlcseret csak samba-val tudtam megcsinalni.
Az smb.conf fajlom ennyi (samba4):


[global]
workgroup = MUNKACSOPORT
netbios name = HOBBIT
interfaces = 127.0.0.0/8 192.168.1.0/24
security = user
map to guest = Bad Password

[hostshare]
comment = hostshare
path = /media/hostshare
force user = MYUSERNAMEONHOST
force group = MYUSERNAMEONHOST
read only = No
guest ok = Yes

((Ne felejtsd el ujrainditani a sambat, hogyha modositod a fajlt(ubuntu 14.04):
service samba stop
service smbd stop
service samba start
service smbd start
))

Ez az anonymous read/write access a /media/hostshare konyvtaron.
erdekes, hogy az interfaces-nal nem kellett megadnom a tobbit (a virtualis NAT az 192.168.100.x es 122.x attol fuggoen hogy akarok-e netet a windows-nak vagy nem (isolated)).

Szoval most a samba 0.0.0.0:x-en figyel. Nekem igy jo perpill (bar a jovoben lehet, hogy tiltani kene a kulvilag fele).
Igy lehet ellenorizni:


sudo netstat -tapn |grep smbd

Windows alatt meg hozzaadtam halozati meghajtokent (\\192.168.100.1 explorerbe irasa). Ez a net nelkuli windows:) A netes windowsnal 192.168.122.1, ami a default. (virt-managerben lehet a halozatokat hozzaadni. Szerintem erdemes egy isolated-et csinalni)

A masik kerdesedre, hogy milyen driverek vannak windows-on. Annyit tennek hozza, hogy amint felteszem a Virtio-serial drivert, BSOD van, es ujraindul a virtualis gep. Egyelore a copy&paste nem hianyzik.
((a masik ketto scsi driver, meg balloon (ram atmeretezes) se kell))

Sajnos a KVM/Qemu csak az original windows XP telepito .iso-jat ette meg, a slistreames valtozatot (nlite) amivel jopar napig pocsoltem, nem. (Mindig kiakadt hogy 33perc van hatra es eszkozoket telepit. A CD key elotti lepes).

Az original is 10-bol 4x kiakad. Es nem lehet klonozni se sajnos. Mindig elorol kell kezdeni a telepitest. (Ha mar feltelepult a windows akkor lehet klonozni. De sajnos klonozasnal resetelodik a virtualis gep, es onnantol a telepito kiakad pont ugyanott (33perc van hatra eszkozok telepitese)).

Ha valamire haladsz oszd meg legy szives, en kivancsi vagyok a te tapasztalataidra.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

Sztem felejtos a windows kvm alatt, nalam folyamatosan problemak vannak a win7-el...
Mar a telepites is agyrem, mivel bele kell hakolni a virtio driver-t a telepitobe, anelkul nekem kb 2 ora volt mirefelmaszott.
A 64 bit-es win7-et nem is tudtam elinditani, kekhalallal folyamatosan elszallt. Ezen kivul keptelen leallni normalisan, 10-bol 9-szer szinten kekhalal. Arrol nem is beszelve, hogy kellett egy seabios-os izet generalni vagy leszedni (mar nem emlekszem pontosan) egy fizikai geprol, hogy lehessen normalisan aktivalni. A random fagyas szinte mindennapos dolog, ez mellett van olyan, hogy szimplan segfault-ol tole a kvm.
XP alatt se sokkal jobb a helyzet, en a helyedben maradnek a virtualbox mellett ha windows-t szeretnel futtatni.
Linux guest-ek alatt viszont nagyon durvan tud hasitani. :)
Amugy gentoo alatt tolom 3.13-as kernel 1.2-es libvirt es 1.5.6-os qemu alatt. (tegnap ment fel a 2.0, szoval errol meg nemtudok nyilatkozni)

Azét a KVM-el nem ilyen rossz a helyzet :D KVM alatt nekem tökéletesen fut a w7 és az XP-is. A xen-t is csak a redhat dobta, gondolom azért, mert miután felvásárolták a KVM-et nem akartak cégen belül ellenlábast. Az összes többi distróban van xen és kvm is.

Fedora 20, Thinkpad x220

Sztem felejtos a windows kvm alatt, nalam folyamatosan problemak vannak a win7-el...

Red Hat customers beg to disagree...

Mar a telepites is agyrem, mivel bele kell hakolni a virtio driver-t a telepitobe

Nem kell (legalábbis windows server 2008 r2-nél nem kell); elég, ha a telepítés alatt a virtio-win driver iso CD-ROM-ként elérhető (== úgy indítod a qemu-t); onnan a viostor (== virtio-blk) driver-t a telepítés elején azonnal beránthatod.

A 64 bit-es win7-et nem is tudtam elinditani, kekhalallal folyamatosan elszallt

Nagyon furcsa, nekem nem szokott (legalábbis win2k8r2-vel nem, a win7-et nem igazán használtam). Aktiválással sem szokott gond lenni.

1.5.6-os qemu

Olyanról még nem hallottam, a legmagasabb 1.5-ös stable kiadás tudtommal az 1.5.3.

Bocs, elirtam 1.5.3 -as qemu.
Sima 64bit-es win7 nalam nem ment, nagyon nem vagyok otthon windows dolgokban, fel kellett raknom egy windows-t virtualisan, es en csak szivtam vele eddig.
Most 2.0 -as qemu alatt a shutdown mar mukodik rendesen.
Lehet, hogy nekem is a server 2008-at kellene felraknom.

egyik ugyfelemnel fut tobb win7 64bit guest is linux (ubi 12.04 64bit) alatt qemu-kvm-ben. tavolrol erik el a konyvelok rdp-n. megy 24/7-ben kb fel eve, sosincsenek leallitva. en telepitettem egyet (az lett utana klonozva), de nem emlexem semmi komplikaciora.

qemu-system-x86_64 \
-enable-kvm -m 4096 -cpu host -smp 2 \
-net nic,model=e1000,macaddr=00:16:3E:99:41:00 -net tap,script=/home/virt/qemu-ifup \
-hda /home/virt/win7.img -cdrom /home/virt/W7MC64HU.iso \
-vnc 192.168.1.124:0 -usbdevice tablet -vga std

A'rpi

Bar sosem probaltam de a libguestfs elvileg supportalja az ntfs-t meg a vfat-et.

A libguestfs szerintem arra jo, hogy egy offline windows image-be bele lehessen nyulni (fajlt torolni, modositani, hozzaadni).
Azt hogy menet kozben igy csereljunk ki fajlokat, szerintem nagyon kenyelmetlen.

A legkenyelmesebb ha lenne plusz egy meghajto (E:, F:, stb),
a masodik legkenyelmesebb ami virtualboxban van: shared folder,
a harmadik a network share felcsatolva meghajtokent (samba4),
az osszes tobbi szerintem a macera kategoria
(rdesktop file share, vnc, teamviewer, ssh, email, webbrowser, ftp).

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

A libguestfs szerintem arra jo, hogy egy offline windows image-be bele lehessen nyulni (fajlt torolni, modositani, hozzaadni).

Bizony. man guestfish


WARNING

       Using guestfish in read/write mode on live virtual machines can
       be dangerous, potentially causing disk corruption.  Use the --ro
       (read-only) option to use guestfish safely if the disk image or
       virtual machine might be live.

Ugyanakkor a qemu-2.1-ben lesz MTP (media transfer protocol). Ennek segítségével könnyen meg lehet majd osztani file-okat a Linux host-ról a Windows guest számára (egyelőre csak olvasásra); lásd itt.

A QEmu maga is tud samba protokollt emulalni, es fajlmegosztast csinalni, keress a "man qemu"-ban '-net user' kezdetu dolgokat. Ha alapvetoen tun/tap halot szeretnel, akkor a smb-hez vegyel fel egy kulon interfeszt.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.