Kirjoittaja Aihe: Miten virtualisointi toteutetaan fiksusti Linuxissa?  (Luettu 4505 kertaa)

kaulahuivi

  • Käyttäjä
  • Viestejä: 380
    • Profiili
Kertokaapa viisaammat, miten tämä virtualisointi toteutetaan fiksusti Linuxissa? Millä ohjelmalla? Millaisilla kokoonpanoilla? Mitkä ovat vaikeita asioita? Mitä mokia voi tehdä? Rautalankaohjeita, jos joku jaksaa jakaa tietoa. Lupaan kokeilla ja seurata ohjeita. Oma tarkoitus kokeilla eri jakeluita ja muita käyttiksiä ainakin ja saada pyörimään Windows- ja Mac-ohjelmia toisena tavoitteena. Kiitoksia etukäteen kaikesta avusta ja opastuksesta!

kamara

  • Käyttäjä
  • Viestejä: 3028
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #1 : 07.03.21 - klo:13.42 »
https://wiki.ubuntu-fi.org/VirtualBox

https://wiki.ubuntu-fi.org/KVM

https://wiki.ubuntu-fi.org/vmware_server

En tiedä kuinka kyseiset ohjeet toimivat nykyään, mutta siitä pääsee alkuun.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #2 : 07.03.21 - klo:14.20 »
Tuosta otsikosta:

- virtualisoinnissa ei oikeastaan ole kuin yksi tapa, se oikea tapa, eikä siinä varsinaisesti ole kyse fiksuudesta. Perusosaaminen riittää mainiosti.
- virtualisointi ei rajoitu Linuxiin, vaan virtuaalikoneet ja niihin liittyvät ohjelmat toimivat Windowsissakin ihan saumattomasti, vaikkapa vuorotellen

Itse olen käyttänyt pääasiassa VMware Workstation Prota tai Workstation Playeria (nykyinen terminologia on tämä). Tuntemassani ammattipiirissä käytetään myös VirtualBoxia, koska se on ilmainen ja kuluja karsitaan (tiedättehän konsernitason päätökset, vaihtelevat tuuliviirin tavoin). VMware Player ei ole ilmainen kaupallisessa käytössä, vaikka se teknisesti sitä onkin.

Joten käsittääkseni VirtualBoxilla pärjää ihan hyvin, vaikka siinä onkin joitakin omituisuuksia jotka kaipaavat ohjeita ja varoituksia, mutta kirjoitan vain VMware Playeristä, koska sitä olen käyttänyt (päivittäin) viimeiset 15 vuotta. Jollekin, joka kaipaa kehittyneempää hakkerointia, esim. rautakytkentöjä joita vaikkapa DVD-rippaus ja CD-rippaus käyttävät, on sanottu, että VirtualBox sisältää paremmat mahdollisuudet ... mitään tällaista ei tavanomaisten ohjelmistojen kanssa tarvita.

Kirjoittelin tälle palstalle asennusohjeet, joskus yli 5 vuotta sitten. Joku niitä seuraamalla saikin homman toimimaan ilman minkäänlaista aikaisempaa kokemusta. Voin katsoa löytyykö vielä. Lisäksi olen kirjoittanut uudet ohjeet, joissa kerrotaan miten VMwarea käytetään oikein ja tehokkaasti ... käytössä on monia yleisiä virheitä, jotka on helppo eliminoida jos tietää mitä tekee. Nämä ohjeet ovat englanniksi ja olen ne päivittänyt ajantasalle melko hiljattain.

VMware server on ihan oma lukunsa. Eihän sellaista kukaan peruskäyttäjä tarvitse. Tottakai jokainen haluaa kunnollisen graafisen ympäristön jossa hommia tehdään ... siis kaikki Windows Serverit tietenkin toteutetaan ihan normaalilla VMware Player -ohjelmistolla. Jos puhutaan tuotannollisesta, korporaation toiminnasta, niin VMware server on jonkinlainen entry-level-tason ohjelmisto varsinaisiin järjestelmiin, kuten ESX ja myöhemmät. Siinäkin maailmassa ESXi on käsittääkseni yksityiskäytössä ilmainen. Siis tämä VMware server ei oikeastaan mitenkään liity vasta-alkajan ohjeistukseen.
« Viimeksi muokattu: 07.03.21 - klo:14.22 kirjoittanut Ganymedes »

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #3 : 07.03.21 - klo:14.36 »
https://wiki.ubuntu-fi.org/VirtualBox

https://wiki.ubuntu-fi.org/KVM

https://wiki.ubuntu-fi.org/vmware_server

En tiedä kuinka kyseiset ohjeet toimivat nykyään, mutta siitä pääsee alkuun.

Nuo ovat yli kymmenen vuotta vanhoja sivuja, jotka voivat johtaa harhateille. Tässä tuoreempia asennusohjeita.


VirtualBox

Koodia: [Valitse]
sudo apt update
sudo apt install virtualbox virtualbox-ext-pack

Tai jos haluat asentaa viimeisimmän version Oraclen repositoriosta: https://linuxize.com/post/how-to-install-virtualbox-on-ubuntu-20-04/

Lisäksi kannattaa asentaa asiakaslisäosat virtuaalikoneessa ajettavaan käyttöjärjestelmään. Se onnistuu suoraan VirtualBoxin käyttöliittymän kautta.

Yleinen eteen tuleva ongelma on USB-laitteiden käyttö virtuaalikoneen sisältä, jos halutaan esimerkiksi käyttää Windowsia jonkin erikoislaitteen ohjaukseen, GPS-navigaattorin karttojen päivitykseen, sykemittarin synkronointiin, filmiskannerin käyttöön jne. Tällainen USB-laitteen suora käyttö vaatii extension packin asentamisen isäntäjärjestelmään (sudo apt install virtualbox-ext-pack), ja lisäksi VirtualBoxia ajava käyttäjätunnus pitää lisätä vboxusers-ryhmään. Onnistuu komennolla:

Koodia: [Valitse]
sudo adduser $USER vboxusers
Kirjaudu tuon jälkeen ulos työpöydältä ja takaisin sisään. Nyt USB:n pitäisi toimia VirtualBoxissa, kunhan otat sen käyttöön laitekohtaisesti. Tässä vielä kuvakaappauksilla varustettu ohje: https://askubuntu.com/a/25600


QEMU/KVM

KVM on nimensä mukaisesti Linuxin natiivi virtualisointijärjestelmä. QEMU:n avulla sillä voidaan ajaa lähes mitä tahansa virtuaalikonetta, tarvittaessa emuloiden vierasjärjestelmän vaatimaa arkkitehtuuria. Ehdottomasti kokeilemisen arvoinen, täysin avoimeen koodiin perustuva vaihtoehto VirtualBoxille.

Virtuaalikoneessa ajettavaan käyttöjärjestelmään pitää asentaa SPICE-lisäosat (spice-guest-tools), jotta mm. grafiikka ja muu laitetuki toimisi paremmin, ja että leikepöytä toimisi järjestelmien välillä. Esimerkiksi Windowsiin lisäosat saa täältä: https://www.spice-space.org/download.html#windows-binaries

https://help.ubuntu.com/community/KVM/Installation
https://linuxize.com/post/how-to-install-kvm-on-ubuntu-20-04/

Pari käytännön ohjetta konfigurointiin:
https://dausruddin.com/how-to-enable-clipboard-and-folder-sharing-in-qemu-kvm-on-windows-guest
https://askubuntu.com/q/1146441

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #4 : 07.03.21 - klo:14.46 »
Ennen varsinaista ohjeistusta, muutama sana infrasta, jotta alku menee oikein:

Kerron nyt vain Playeristä, selvyyden vuoksi, koska en ole ajantasalla VirtualBoxista. Ohjelma on siis VMware Workstation Player, ei mikään server vasta-alkajalle, riippumatta siitä mitä tekee.

Ohjelman asentamisessa ei sinänsä ole mitään ihmeitä, mutta ohjeet rauhoittavat.

Kone jossa kannattaa yrittää:
- vähintäin 8 GB muistia, koska muistiin pitää nyt mahtua kaksi konetta. Toisaalta enempää tuskin tarvitaan
- SSD-levy jossakin. USB-3 ulkoinen levy on myös oikein hyvä. Myös e-sata levyjä voi käyttää, jos sellaisia jollakin on.
- kovalevy ja USB-2 levy/väylä ovat yleisesti ottaen surkeita ja paljon huonompia kuin pelkät numerot antavat ymmärtää. En suosittele käyttöä vasta-alkajalle. Tästä on ohjeessa lisää.

Koneen konfigurointi:
- virtuaalikone kannattaa tehdä vaiheessa yksi ja vasta sen jälkeen asentaa käyttöjärjestelmä
- tässä kannattaa lukea ohjeet, jotta ei hanki itselleen aivan turhia hankaluuksia
- erityisesti ensimmäisen levyn koko pitää olla suuri, koska sen muuttaminen on yhtä hankalaa kuin mitä se asennettavassa käyttöjärjestelmässä on muutenkin (no melkein yhtä hankalaa, partitiota voi aina suurentaa ilman, että käy kaupassa tms). Levyn kooksi voi valita ison ylimitoituksen, koska oikeasti levytilaa ei kannata varata etukäteen. Esim. 80 GB on hyvä minimi.
- kaikkea muuta voi muutella jälkikäteenkin
- muistinmäärä kannattaa kuitenkin valita huolella. KOSKAAN ei pidä valita niin suurta muistin määrää, että fyysinen kone menee polvilleen sen vuoksi (esim. 8 GB:n koneella tekee virtuaalikoneen joka allokoi 8 GB). Se, että virtuaalikone on polvillaan ei haittaa, koska siitä pääse aina eroon
- yleisesti ottaen virtuaalikone kannattaa olla aliverkossa, NAT-verkossa, jolloin se pääsee Internettiin siinä kuin pääkonekin. Kyse on aliverkossa toimimisesta, samaa kuin muutenkin routerin takana. Kaikki muutkin verkkovaihtoehdot ovat käytettävissä - siis sellaisetkin jotka fyysisessä maailmassa vaatisivat lisää laitteita.

Käyttöjärjestelmän asentaminen:
- se sujuu parhaiten .ISO -imagesta, joka kiinnitetään DVD-asemaksi
- virtuaalikone bootataan kuten oikeakin kone ja asennetaan käyttöjärjestelmä kuten oikeakin kone
- erona tietysti se, että fyysistä konetta voi käyttää kaikkeen muuhun silloin kun käyttöjärjestelmää asennetaan omassa ikkunassaan.

Virtuaalikoneen käyttö:
- yleensä asentamisen jälkeen bootataan kone käyttöön
- virtuaalikonetta käytetään kuten oikeaakin konetta. Erona se, että se toimii ikkunassa ja näitä koneita voi olla auki useitakin, jos keskusmuisti riittää fyysisessä koneessa

Koneen varmistaminen:
- aja kone alas
- kopioi hakemisto mihin asensit koneen. Yksi kone = yksi hakemisto.
- tämä kopio on 100% varmistus. Se on myös täysin käyttökelpoinen kopiokone, josta voit jatkaa jossakin muussa käyttötarkoituksessa kuin siinä mihin alkuperäisen teit. Muista normaalit verkon lainalaisuudet, esim. samassa verkossa ei voi olla kahta samannimistä konetta auki samaan aikaan. Tämän kopion voit tietysti aina siirtää ajeettavaksi jossakin muussa koneessa, vaikkapa Windows-koneessa, kunhan siinä on vain VMware Player asennettuna.

Tässä tämä pähkinänkuoressa ... pitää varmaan selventää vielä myöhemmin tai ainakin kysymysten jälkeen.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #5 : 07.03.21 - klo:15.46 »

QEMU/KVM

KVM on nimensä mukaisesti Linuxin natiivi virtualisointijärjestelmä. QEMU:n avulla sillä voidaan ajaa lähes mitä tahansa virtuaalikonetta, tarvittaessa emuloiden vierasjärjestelmän vaatimaa arkkitehtuuria. Ehdottomasti kokeilemisen arvoinen, täysin avoimeen koodiin perustuva vaihtoehto VirtualBoxille.

Mielenkiintoista, mutta mitä tuo tarkoittaa? "mitä tahansa virtuaalikonetta" - tarkoitatko että virtuaalikoneessa voi olla mikä tahansa käyttöjärjestelmä? Näinhän kaikissa voi tehdä - ainakin VMwaressa voi tehdä kaikkea tämän päivän järkevää ja enemmänkin. Ehkä tarkoitit jotakin muuta?

Tuo tarinasi VirtualBoxista - se voi hyvin olla parempi laitteiden liitettävyyden kanssa. Itse en ole VMwarella tehtynyt mitään "sykemittarien kalibrointia Windows-ohjelmilla", vaan ajanut Windowsille tehtyjä laajoja tai erittäin ohjelmistoja ja käytännössä kaikkia tavanomaisia Windows-käyttöjärjestelmiä Microsoft- ja Oracle-perusohjelmineen + muuta. VMware specifiset ongelmat tällaisessa käytössä ovat tasan nolla.

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #6 : 07.03.21 - klo:16.17 »
Mielenkiintoista, mutta mitä tuo tarkoittaa? "mitä tahansa virtuaalikonetta" - tarkoitatko että virtuaalikoneessa voi olla mikä tahansa käyttöjärjestelmä? Näinhän kaikissa voi tehdä - ainakin VMwaressa voi tehdä kaikkea tämän päivän järkevää ja enemmänkin. Ehkä tarkoitit jotakin muuta?

Tarkoitin mitä tahansa virtualisoitua prosessoriarkkitehtuuria, eli QEMU osaa emuloida esim. Armia tai PowerPC:tä, jolloin sillä voi ajaa muitakin kuin hostin arkkitehtuurin kanssa yhteensopivia käyttöjärjestelmiä. Esimerkiksi 80/90-luvun Mac OS:ää voi ajaa näppärästi PC:llä, tai käyttää jotain x86-käyttöjärjestelmää ja softaa Arm-koneella kuten Raspilla. Sitten jos arkkitehtuurit sopivat yhteen, KVM ajaa koodia natiivisti prosessorin virtualisointituen avustamana samoin kuin VirtualBox tai VMWaren hypervisorit, joilla taas ei voi emuloida muita arkkitehtuureja.

Oikeastaan tämä Arch Linuxin wikiartikkeli voisi olla paras koostettu lähde QEMU:sta ja KVM:stä, jos on tarvetta sukeltaa hieman syvemmälle: https://wiki.archlinux.org/index.php/QEMU
« Viimeksi muokattu: 07.03.21 - klo:16.19 kirjoittanut nm »

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #7 : 07.03.21 - klo:16.23 »
...
Oikeastaan tämä Arch Linuxin wikiartikkeli voisi olla paras koostettu lähde QEMU:sta ja KVM:stä, jos on tarvetta sukeltaa hieman syvemmälle: https://wiki.archlinux.org/index.php/QEMU

OK, kiitos selvennyksestä!

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #8 : 07.03.21 - klo:17.52 »
Oheisena linkki VMware ohjeistukseen:

https://mega.nz/folder/LNZVSKya#tyPbVF-U9U1xzditqDnE6A

1.
VMware_koneen_luonti_13.pdf, 37 sivua

Tämä on step-by-step -opas, joten seuraamalla tätä tarkasti, pitäisi aina toimia ja melko hyvinkin.

Tämän näköjään kirjoitin jo vuonna 2011 tälle palstalle. Ohjeessa on 90% selitystä ja vinkkejä, korkeintaan 10% varsinaista tekemistä. Eipä tässä hirveästi ole mikään muuttunut, paitsi nämä kaksi asiaa Ubuntu Hostilla:

- virtualisointi pitää aina olla päällä Bioksesta (i7-koneella, muita ei testattu)
- virtuaalikoneessakin pitää olla virtualisointi päällä, riippuen käyttöjärjestelmästä (ainakin Win 10:lla pitää olla "virtualize cpu performance counters")

Ja sitten se, että Ubuntu-versioissa 18.04 ja 20.04 NTFS ei toimi virtuaalikoneen sijaintina. 16.04 versiossa toimii.

Sinänsä tässäkin paperissa on jo monta käyttövinkkiä, jotka eivät varsinaisesti liity asennukseen.


2.
HowToSpeedUp VMware computer_21.pdf, 14 sivua

Tämä on kirjoitettu ammattikäyttöön, mutta tietyt ohjelmistospecifiset asiat on siitä hiljattain poistettu.

Näin ollen tämä on yleispätevä. Pikkutestailuihin ei näitä tietoja välttämättä tarvita ja jotkut laitespecifiset asiat eivät koske uusia koneita, mutta tämä käy kyllä ilmi tekstistä.


startx

  • Käyttäjä
  • Viestejä: 414
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #9 : 07.03.21 - klo:18.28 »
Virtualboxia olen käytelly kymmenisen vuotta, eikä ole isommin ongelmia ollut, ja on hyvin simppeli käyttää. Saisivat tuon repohomman panna kuntoon, kun se aiheuttaa aina turhaa säätämistä, jos haluaa uusimmassa versiossa pysytellä.

Virtualbox ei toimi jos KVM on asennettuna.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #10 : 08.03.21 - klo:11.41 »
Onko VirtualBoxissa vielä se paha systeemisuunnitteluvirhe, jolloin muualle siirretty kone ei toimi suoraan ollenkaan? Vaan pitää korjata tilanne uuden koneen luonnin kautta? Käsittääkseni, levyn voi irrottaa ennen siirtoa, mutta eihän tuo ole mikään ratkaisu. Jos siitä ei varoiteta selkeästi - niin tuohan on bugi. Ymmärrän kyllä että bugeja selitellään, mutta dokumentoimaton virhe on aina bugi.

Tällöin siis koneita jotka jäävät arkistoon ei välttämättä voi  suoraan käyttää ollenkaan. Tämä myös tuhoaa koneen vuorottelun Linuxin ja Windowsin alla. Tilanteita on paljon muitakin.

Kysyn siksikin, että olen tottunut vastaaviin systeemisuunniteluvirheisiin CAD-ohjelmissa, joissa asiat kiusaavat vuosikymmeniä, koska niiden korjaaminen jälkikäteen on puoliksi mahdotonta (=lue, erittäin kallista). Sinänsä jos Oraclella on aitoa kiinnostusta VirtualBox-ohjelmistoa kohtaan, luulisi että korjaavat tuollaisen - elleivät sitten ole jo tehneet? Tämä on se kysymys.

Ainakin minun käytössäni virtuaalikoneita siirretään ja monistetaan jatkuvasti - VMwaressa ilman huolta siitä, etteivät toimisi suoraan missä hyvänsä, myös eri koneilla ja käyttöjärjestelmissä. Esimerkiksi Kubuntu/disks-yhdistelmän jäljiltä sisäinen levy mountataan GUIDilla, joka ei tietenkään koskaan voi olla sama toisella levyllä, joten esimerkiksi levynvaihto ei voi koskaan toimia, jos siihen ei ole varauduttu juuri VirtualBoxia varten. Taas - dokumentoimaton piirre on aina bugi.

matsukan

  • Käyttäjä
  • Viestejä: 2152
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #11 : 08.03.21 - klo:12.16 »
Virtualboxia olen käytelly kymmenisen vuotta, eikä ole isommin ongelmia ollut, ja on hyvin simppeli käyttää. Saisivat tuon repohomman panna kuntoon, kun se aiheuttaa aina turhaa säätämistä, jos haluaa uusimmassa versiossa pysytellä.

Virtualbox ei toimi jos KVM on asennettuna.

Kyllä se toimii mutta molemmat eivät voi olla käynnissä samanaikaisesti. Eli jos sinulla on kvm kone päällä niin Virtualbox konetta ei voi käynnistää ennenkuin kvm on ajettu alas.
Pohjois-pohjanmaa
-- motto:  backupin tarve huomataan aina liian myöhään

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #12 : 08.03.21 - klo:15.21 »
Onko VirtualBoxissa vielä se paha systeemisuunnitteluvirhe, jolloin muualle siirretty kone ei toimi suoraan ollenkaan? Vaan pitää korjata tilanne uuden koneen luonnin kautta? Käsittääkseni, levyn voi irrottaa ennen siirtoa, mutta eihän tuo ole mikään ratkaisu.

Jos siitä ei varoiteta selkeästi - niin tuohan on bugi. Ymmärrän kyllä että bugeja selitellään, mutta dokumentoimaton virhe on aina bugi.

VirtualBoxissa on versiosta 6.0 lähtien sisäänrakennettu, VirtualBoxin käyttöliittymän kautta toimiva siirtotoiminto:

https://docs.oracle.com/en/virtualization/virtualbox/6.0/relnotes/move-vm.html
https://www.virtualbox.org/manual/ch01.html#intro-removing


Jos siitä ei varoiteta selkeästi - niin tuohan on bugi. Ymmärrän kyllä että bugeja selitellään, mutta dokumentoimaton virhe on aina bugi.

Siirtäminen ja kloonaaminen opastetaan käyttöohjeessa.


Tämä myös tuhoaa koneen vuorottelun Linuxin ja Windowsin alla.

Uskoisin, että riittää asettaa kloonatun koneen levykuvan sijainti VBoxManage modifymedium -komennolla, kuten käyttöohjeessa neuvotaan.

Joka tapauksessa, vuorottelu eri host-järjestelmien välillä ei mielestäni tuhoudu, vaikka joutuisit luomaan uuden virtuaalikoneen. Riittää, että uusi virtuaalikone on asetettu käyttämään samaa järjestelmien välillä jaettua levykuvaa (tai levyosiota), ja että koneen asetukset täsmäävät niin hyvin, ettei koneessa ajettava mahdollisesti nirso käyttöjärjestelmä sekaannu laiteympäristön muutosten vuoksi.

Yksi vaihtoehto virtuaalikoneiden siirtelyyn on myös eksporttaus ja importtaus OVF-formaatin kautta. Silloin levykuva taitaa kuitenkin kopioitua OVF:ään, eli saman levykuvan jaettu käyttö ei suoraan onnistu. Toisaalta tämä mahdollistaa virtuaalikoneen paketoinnin ja arkistoinnin siten, että se voidaan ottaa uudelleen käyttöön jollain toisella hypervisorilla.


Esimerkiksi Kubuntu/disks-yhdistelmän jäljiltä sisäinen levy mountataan GUIDilla, joka ei tietenkään koskaan voi olla sama toisella levyllä, joten esimerkiksi levynvaihto ei voi koskaan toimia, jos siihen ei ole varauduttu juuri VirtualBoxia varten.

Tarkoitatko sellaista tapausta, että virtualisoituun järjestelmään on liitetty fyysinen levyosio, joka sitten vaihtuu virtuaalikonetta siirrettäessä joksikin toiseksi ja vaatii muutoksen virtualisoidun järjestelmän fstabiin? En oikein ymmärrä, miten mikään hypervisor hoitaisi tällaisen tapauksen muita paremmin, koska ne eivät muunna virtuaalikoneeseen liitetyn raakaosion tunnisteita lennossa vaan tarjoavat osion sellaisenaan.

Jos taas virtuaalikone käyttää fyysisten osioiden sijaan levykuvaa, osioiden tunnisteet eivät muutu levykuvan sisällä levykuvaa siirrettäessä. Edes levykuvan tallennusmuodon muuttaminen ei vaikuta asiaan.

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #13 : 08.03.21 - klo:17.46 »
Esimerkiksi Kubuntu/disks-yhdistelmän jäljiltä sisäinen levy mountataan GUIDilla, joka ei tietenkään koskaan voi olla sama toisella levyllä, joten esimerkiksi levynvaihto ei voi koskaan toimia, jos siihen ei ole varauduttu juuri VirtualBoxia varten.

Tarkoitatko sellaista tapausta, että virtualisoituun järjestelmään on liitetty fyysinen levyosio, joka sitten vaihtuu virtuaalikonetta siirrettäessä joksikin toiseksi ja vaatii muutoksen virtualisoidun järjestelmän fstabiin? En oikein ymmärrä, miten mikään hypervisor hoitaisi tällaisen tapauksen muita paremmin, koska ne eivät muunna virtuaalikoneeseen liitetyn raakaosion tunnisteita lennossa vaan tarjoavat osion sellaisenaan.

Jos taas virtuaalikone käyttää fyysisten osioiden sijaan levykuvaa, osioiden tunnisteet eivät muutu levykuvan sisällä levykuvaa siirrettäessä. Edes levykuvan tallennusmuodon muuttaminen ei vaikuta asiaan.

Kiitokset neuvoista, mutta tilanne vaikuttaa kuitenkin samalta kuin ennenkin. En oikeastaan kysy itselleni, koska tiedän tämän asian ja voin hoitaa asian, mutta jos joskus pitää neuvoa muita.

Ymmärsin vastauksestasi, että siirto pitää tehdä etukäteen. Jälkikäteen voi vain operoida uuden koneen kautta - mikä sinänsä toimii, mutta onhan se aika syvältä. Minulla on arkistossa paljon koneita, joiden alkuperäisestä sijainnista ei ole hajuakaan.

Tuossa Kubuntu-tapauksessa tarkoitin oikeastaan (käytännössä) samaa tilannetta joka on aina kun sijainti muuttuu. Esimerkiksi, jos päätän olla käyttämättä levyä A, joka mountattiin GUIDlla tai vaikkapa nimellä "levyA". Sen sijaan ostan kaupasta uuden levyn, jolle annan nimen levyB, jolla sitten on eri GUID ja kopioin/siirrän kaikki koneet tälle uudelle levylle. Tarkoitin Kubuntun tapauksessa sitä, että jos ei manuaalisesti ronki fstabia, niin uutta levyjä ei saa koskaan samalle nimelle, esimerkiksi levyA. Jos vanhaa levyä ei oltu koskaan ronkittu nimelle vaan mountti annettiin tapahtua GUIDilla. Siis VirtualBoxin käytön aikajana on ajateltu väärin, koska ei pitäisi ajatella että menneisyyttä voi muuttaa.

VMwaressa ei tapahdu yhtään mitään uutta. Browserilla valitaan levyltä B tai uudelta GUID:lta hakemisto ja virtuaalikone ja aletaan sitä käyttämään.

Tästä käy ilmi myös VirtualBoxin systeemisuunnitteluvirhe - on tehty absoluuttinen levyn osoitteen haku. Tämä vastaa virheenä DOSin perusmuisti/ylämuistihässäkkää, Windows C:/D: jne drive-ajattelua ja MicroStationin absoluuttista 32-bit kuutioajattelua jonka sisällä kaikki tapahtuu. Näistä ei pääse eroon, muutoin kuin häsläyksen kautta - uudemmissa järjestelmissä näitä virheitä ei ole enää (välttämättä) tehty.

Viittasit fyysisiin levyihin virtualisointijärjestelmässä, mutta sitä en tarkoittanut - niiden käytöstä VMwaressa varoitetaan eikä se myöskään toiminut ollenkaan kun yritin sitä käyttää. Yritin ennen SSD-aikakautta pumpata lisää nopeutta, mutta ei se toiminut. Nyt sillä ei enää ole väliäkään, ainakaan normivaativassa käytössä.

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #14 : 08.03.21 - klo:19.24 »
VMwaressa ei tapahdu yhtään mitään uutta. Browserilla valitaan levyltä B tai uudelta GUID:lta hakemisto ja virtuaalikone ja aletaan sitä käyttämään.

Tästä käy ilmi myös VirtualBoxin systeemisuunnitteluvirhe - on tehty absoluuttinen levyn osoitteen haku.

Tarkistin tämän juuri, ja VirtualBox toimii nähdäkseni täsmälleen samalla periaatteella kuin VMWare. Oletuksena levyn osoite ei ole absoluuttinen vaan suhteellinen. Jos kuitenkin siirrät pelkän levykuvan pois virtuaalikoneen hakemistosta, VirtualBox ei lähde sitä itse etsimään muualta. Ei varmasti VMWarekaan! Silloin levykuvan sijainti on korjattava VBoxManagella tai klikkailemalla medialiitosasetuksia käyttöliittymän kautta.

Tavallinen VirtualBoxissa luotu virtuaalikone koostuu siis kahdesta tiedostosta: konenimi.vbox, jossa on koneen asetukset, ja konenimi.vdi, jossa on levykuva. Vbox-tiedosto vastaa VMWaren vmx:ää ja vdi-levykuva vmdk-tiedostoa. Formaatit ovat toki erilaiset.

Tiedostot sijaitsevat vakiona samassa virtuaalikoneen mukaan nimetyssä kansiossa, ~/VirtualBox VMs -hakemistossa. Lisäksi VirtualBox pitää omassa rekisterissään muistissa, mitä virtuaalikoneita on käytössä ja missä ne sijaitsevat. Ymmärtääkseni VMWare toimii samalla periaatteella.


Jos nyt on käynyt niin, että virtuaalikone on siirretty eri paikkaan VirtualBoxin ulkopuolella, käyttöliittymässä näkyy, että kyseinen kone on poistettu, tai ei enää ole siellä missä VirtualBox muistaa sen olevan. Tällöin korjaukseksi riittää, että poistat kyseisen koneen listasta ja lisäät sen uudelleen Machine -> Add... -toiminnolla, valitsemalla vbox-tiedoston uudesta sijainnista. Vastaavasti voit lisätä virtuaalikoneen sellaisenaan toisessa host-käyttöjärjestelmässä toimivaan VirtualBoxiin, mutta tällaisessa jaetussa käytössä kannattanee olla edes jossain määrin tarkkana versioiden suhteen, että vbox-tiedostoihin tallentuvat asetukset ovat yhteensopivia VirtualBox-asennusten kesken. Sama pätee VMWaren kanssa.


Viittasit fyysisiin levyihin virtualisointijärjestelmässä, mutta sitä en tarkoittanut - niiden käytöstä VMwaressa varoitetaan eikä se myöskään toiminut ollenkaan kun yritin sitä käyttää. Yritin ennen SSD-aikakautta pumpata lisää nopeutta, mutta ei se toiminut. Nyt sillä ei enää ole väliäkään, ainakaan normivaativassa käytössä.

Fyysinen levy tai osio on kyllä selvästi nopeampi SSD:lläkin, koska silloin vältytään sisäkkäisiltä tiedostojärjestelmiltä. Virtualisoidussa tietokantapalvelimessa ja vastaavissa I/O-rajoitteisissa tapauksissa ero voi olla oikeasti suuri. Tällöin toki siirtely hankaloituu, mutta vähän kookkaamman tietokannan teratavujen kokoinen levykuvatiedostokaan ei ole varsinaisesti kätevä.
« Viimeksi muokattu: 08.03.21 - klo:19.30 kirjoittanut nm »

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #15 : 08.03.21 - klo:19.41 »
...
Jos nyt on käynyt niin, että virtuaalikone on siirretty eri paikkaan VirtualBoxin ulkopuolella, käyttöliittymässä näkyy, että kyseinen kone on poistettu, tai ei enää ole siellä missä VirtualBox muistaa sen olevan. Tällöin korjaukseksi riittää, että poistat kyseisen koneen listasta ja lisäät sen uudelleen Machine -> Add... -toiminnolla, valitsemalla vbox-tiedoston uudesta sijainnista. Vastaavasti voit lisätä virtuaalikoneen sellaisenaan toisessa host-käyttöjärjestelmässä toimivaan VirtualBoxiin, mutta tällaisessa jaetussa käytössä kannattanee olla edes jossain määrin tarkkana versioiden suhteen, että vbox-tiedostoihin tallennetut muutokset ovat yhteensopivia VirtualBox-asennusten kesken. Sama pätee VMWaren kanssa.

OK, tuo ei vaikuta kovinkaan hankalalta ... mutta pari tarkennusta kuitenkin.

1. Yksi kone = yksi hakemisto. Tuon kokonaisuuden siirtämisestä puhun, enkä virtuaalilevyjen kanssa pelaamisesta, mitä voi tietysti muuten tehdä.

2. Koneita kopioidaan ja siirretään AINA VMwaren ulkopuolella, siten kuin kyseisessä käyttöjärjestelmässä muutenkin toimitaan. Sen sisällä toimimisessa ei ole mitään järkeä.

3. Edellinen ei päde VMwareen. Siirron tai monistuksen jälkeen kone käynnistetään valitsemalla "Open Virtual Computer" ja valitsemalla paikka siten kuin tiedostojärjestelmästä aina muutoinkin.

VMwaressa on myös Library-toiminto, mutta sillä nyt ei tee mitään, jos koneita käytetään massiivisesti. Jos sitä käyttää, niin poistetut koneet kannattaa kirjastosta poistaa sekoittamasta.

VMware versioilla ei ole (normaalien muistiavaruuksien kanssa toimiessa, mitä nyt yleensäkään työasemavirtualisoinnissa on käytettävissä) mitään muuta merkitystä kuin se, että jos päivittää koneen ylempään versioon, niin se ei automaattisesti enää toimi vanhemmassa. Tämä nyt on aika selvää kaikkien muidenkin softien osalta. VMware koneen päivittämiseen ylempään versioon ei yleensä ole mitään tarvetta. Antiikkiset virtuaalikoneet ovat oma juttunsa, jolloin on mahdollista, että ASCII-tiedoston yhtä arvoa pitää muuttaa.


VMware on oikeasti todella hyvä ohjelmisto. Olet ehkä huomannut, että tätä tunnustusta en anna aivan helpolla  :)

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #16 : 08.03.21 - klo:20.37 »
3. Edellinen ei päde VMwareen. Siirron tai monistuksen jälkeen kone käynnistetään valitsemalla "Open Virtual Computer" ja valitsemalla paikka siten kuin tiedostojärjestelmästä aina muutoinkin.

Niin, VirtualBoxissa toiminto on vain nimeltään Add eikä Open.


VMwaressa on myös Library-toiminto, mutta sillä nyt ei tee mitään, jos koneita käytetään massiivisesti. Jos sitä käyttää, niin poistetut koneet kannattaa kirjastosta poistaa sekoittamasta.

Ymmärsin VMWaren käyttöohjeesta, että kaikki avatut koneet tallentuvat kirjastoon automaattisesti, ja jokaisella koneella on oma erottava UUID:nsä vmx-tiedostoon sekä mahdollisesti myös kirjastoon tallennettuna. VirtualBox toimii samoin.

Lisäksi tämä ohje sanoo, että siirron jälkeen kone on poistettava kirjastosta ja avattava uudelleen, samoin kuin VirtualBoxissa, mutta ehkäpä eri VMWaren versioissa tuo toimii hieman eri tavalla, vai voiko kirjaston kytkeä kokonaan pois käytöstä?

Lainaus
If you moved the virtual machine to a different location on the same host system

Remove the virtual machine from the library, select File > Open a Virtual Machine, and browse to the .vmx file in its new location.


Kloonaus on sitten oma ongelmansa, koska joskus halutaan säilyttää koneen UUID ja verkkorajapinnan MAC-osoite ja joskus taas ei. Siihen hypervisorin on hyvä tarjota edes jonkinlainen työkalu. VirtualBoxissa tämä onnistuu sekä komentorivin että graafisen käyttöliittymän kautta, jolloin käyttäjän ei tarvitse editoida virtuaalikoneen asetustiedostoa manuaalisesti.
« Viimeksi muokattu: 08.03.21 - klo:20.39 kirjoittanut nm »

Ganymedes

  • Käyttäjä
  • Viestejä: 3915
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #17 : 08.03.21 - klo:21.09 »
3. Edellinen ei päde VMwareen. Siirron tai monistuksen jälkeen kone käynnistetään valitsemalla "Open Virtual Computer" ja valitsemalla paikka siten kuin tiedostojärjestelmästä aina muutoinkin.

Niin, VirtualBoxissa toiminto on vain nimeltään Add eikä Open.

OK, tuossa voi minulla olla vanhentunutta tietoa vanhoista versioista. Add tuntuu vain hyvin hämäävältä, koska konehan on jo olemassa. Tarkoitatko sitä, että Add tekee vain referenssin, mutta kone itsessään (kaikkien parinkymmenen määreen kanssa) on olemassa ja luetaan tuolta mitä nimetään levyksi? Miksei siinä sitten lue Open, jos tämä on se mitä oikeasti tapahtuu ja miksi levyksi kutsutaan koko konetta kaikkine määreineen koska eihän se ole vain pelkkä levy?

VirtualBoxin siirtojen kanssa on ollut melkoista häsläystä jota kukaan ei puolen tunnin työlläkään osannut ratkaista ... en tiedä olivatko versiot silloin vain niin surkeita (10 vuotta sitten)? Muutama vuosi sitten Workshopissa kaksi konetta toimi vuoropäivinä erilailla - liittyi koneen maksimointiin ja minimointiin ... jonka pitäisi läppärikäytössä olla idioottivarmaa. Tällaiset ongelmat ovat täysin vieraita VMware-käytössä. Ainoa ongelma on ollut se, että ihmiset eivät osaa kopioida tiedostoja Windowsissa - kaikki eivät osaa käyttää robocopyä silloin kun se olisi ainoa turvallinen tapa.

Lopputulema oli se, että VirtualBoxin kaltaista järjestelmää ei voi käyttää koulutuksessa sen ikkunoinnin toiminnan epävarmuuden vuoksi eikä antaa asiakkaille evaluointikäyttöön, koska se antaisia kaikesta huonon kuvan. Sitä kuitenkin nyt käytetään muualla - mahdollisesti kaikkialla ei suhtauduta ylimääräiseen häsläykseen niin negatiivisesti kuin Suomessa (tämä on kyllä nähty mm. Ruotsissa) tai sitten versiot ovat kehittynet paremmiksi viimeisen muutaman vuoden aikan.


VMwaressa on myös Library-toiminto, mutta sillä nyt ei tee mitään, jos koneita käytetään massiivisesti. Jos sitä käyttää, niin poistetut koneet kannattaa kirjastosta poistaa sekoittamasta.

Lainaus
Ymmärsin VMWaren käyttöohjeesta, että kaikki avatut koneet tallentuvat kirjastoon automaattisesti, ja jokaisella koneella on oma erottava UUID:nsä vmx-tiedostoon sekä mahdollisesti myös kirjastoon tallennettuna. VirtualBox toimii samoin.

Lisäksi tämä ohje sanoo, että siirron jälkeen kone on poistettava kirjastosta ja avattava uudelleen, samoin kuin VirtualBoxissa, mutta ehkäpä eri VMWaren versioissa tuo toimii hieman eri tavalla, vai voiko kirjaston kytkeä kokonaan pois käytöstä?

Ei sitä Librarya tarvitse katsella ollenkaan. Se on valinnainen näkymä ... tai yleensä poistan siitä kaikki muut paitsi sinä päivänä aktiiviset.

Lainaus
If you moved the virtual machine to a different location on the same host system

Remove the virtual machine from the library, select File > Open a Virtual Machine, and browse to the .vmx file in its new location.

Tuon jo mainitsin. Jos kirjastonäkymää katselee, niin kannattaa poistaa koneen vanha referenssi näkyvistä. Tämä on tavallaan itseään toteuttava asia - jos tehdään pienimuotoista, niin tuskin niitä koneita tarvitsee massiivisesti siirrellä. Jos käyttö on massiivista, niin kirjaston merkitys varmaan selviää nopeasti muutoinkin.

En tiedä onko VirtualBoxissa sama, mutta virtuaalikoneen ominaisuudet, mukaanlukien sen hetkinen hakemistopolku, ovat katsottavissa ilman, että konetta käynnistää. Se avautuu näkymään siten, että koneen hakee tiedostoista tai valitsee kirjastonäkymästä. Mitään sekaannusta hakemistojen kanssa ei voi syntyä, koska virtuaalikone ne itse kertoo.

Lainaus
Kloonaus on sitten oma ongelmansa, koska joskus halutaan säilyttää koneen UUID ja verkkorajapinnan MAC-osoite ja joskus taas ei. Siihen hypervisorin on hyvä tarjota edes jonkinlainen työkalu. VirtualBoxissa tämä onnistuu sekä komentorivin että graafisen käyttöliittymän kautta, jolloin käyttäjän ei tarvitse editoida virtuaalikoneen asetustiedostoa manuaalisesti.

Kloonaus on VMwaressakin - toimii todella paljon hitaammin kuin kopiointi. Tarkoitin, että sillä ei ole mitään käyttöä yleensä. MAC-osoitteen kanssa pelaaminen ei kuulu tällaiseen aloittelijan opastukseen - siksi en alkanut spekuloimaan sen eroja. Windows UUID ei myöskään ole mikään ongelma, mutta sillä nyt tietysti voisi olla jotakin käyttöä, varsinkin jos Microsoftin asennusmediat ja versiot eivät ole oikeasti tiedossa. Itse olen ratkaissut tämän asian dokumentaatiolla koneen mukana.

Itse en ole käyttänyt kloonausta koskaan, vaikka olen usein rakentanut muutaman koneen järjestelmiä, koneiden toimiessa yhdessä, ja kopioinut näitä toisinaan ympäri maailmaa ja myös saanut koneita muualta. Ei ole ollut mitään käyttöä näille asioille, koska koneet eivät liity mihinkään verkkojen kehitystyöhön tai vastaavaan.
« Viimeksi muokattu: 08.03.21 - klo:21.13 kirjoittanut Ganymedes »

kuutio

  • Käyttäjä
  • Viestejä: 162
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #18 : 08.03.21 - klo:22.02 »
Add tuntuu vain hyvin hämäävältä, koska konehan on jo olemassa.
Kuinka niin, eihän "Add" tarkoita samaa kuin "Add New"?
Ja tuossahan sitä konetta ei vielä avata ("Open") vaan lisätään se (olemassaoleva kone) vain virtualboxin koneluetteloon.

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Miten virtualisointi toteutetaan fiksusti Linuxissa?
« Vastaus #19 : 08.03.21 - klo:22.03 »
OK, tuossa voi minulla olla vanhentunutta tietoa vanhoista versioista. Add tuntuu vain hyvin hämäävältä, koska konehan on jo olemassa. Tarkoitatko sitä, että Add tekee vain referenssin, mutta kone itsessään (kaikkien parinkymmenen määreen kanssa) on olemassa ja luetaan tuolta mitä nimetään levyksi? Miksei siinä sitten lue Open, jos tämä on se mitä oikeasti tapahtuu ja miksi levyksi kutsutaan koko konetta kaikkine määreineen koska eihän se ole vain pelkkä levy?

Add lisää hypervisorin kirjastoon viittauksen olemassa olevaan virtuaalikoneeseen, joka koostuu siis vbox-asetustiedostosta ja levykuvasta. Mielestäni Add on tuohon ihan hyvä termi. Voisi ehkä olla myös Import, mutta se on varattu OVF-paketoidun virtuaalisen "appliancen" tuontiin, kun kyseessä ei ole natiivi VirtualBoxin formaatti. Uusi virtuaalikone puolestaan luodaan New-toiminnolla.


miksi levyksi kutsutaan koko konetta kaikkine määreineen koska eihän se ole vain pelkkä levy?

Koko konetta ei kutsuta levyksi. Levy tai levykuva on omassa tiedostossaan ja virtuaalikoneen asetukset toisessa. Levyjä voi olla useampiakin. Tässäkään ei ole mitään eroa VirtualBoxin ja VMWaren välillä.


Tällaiset ongelmat ovat täysin vieraita VMware-käytössä. Ainoa ongelma on ollut se, että ihmiset eivät osaa kopioida tiedostoja Windowsissa - kaikki eivät osaa käyttää robocopyä silloin kun se olisi ainoa turvallinen tapa.

Vai pitäisikö hypervisorin käyttöliittymässä sittenkin olla se siirtotoiminto?  ;)