Skip to content

Tikuton KTP (FAQ)

Matti Lattu edited this page Nov 23, 2022 · 55 revisions

FAQ ongelmatilanteiden varalta (Naksu)

Miten voi itse debugata Naksun ja VirtualBoxin käynnistysongelmia?

Aloita käynnistämällä Naksu komentoriviltä parametrilla --debug. Samat viestit kirjoitetaan kotihakemiston alla olevan ktp-hakemiston tiedostoon naksu_lastlog.txt (~/ktp/naksu_lastlog.txt).

Jos et löydä ongelmaa tästä lokitiedostosta, yritä käynnistää Vagrant käsin.

  • Avaa pääteikkuna
  • Mene ktp-hakemistoon:
    • Linux: cd ~/ktp
    • Windows: Ensin %HOMEDRIVE% ja sen jälkeen cd %HOMEPATH%\ktp
  • Käynnistä virtuaalipalvelin Naksusta

Jos ongelma ei selviä näiden tulosteiden ja tämän FAQin avulla, ota yhteyttä Abitti-tukeen. Asian selvittämistä helpottaa, jos lähetät saman tien naksu_lastlog.txt ja mahdolliset kuvankaappaukset virheilmoituksista. Lokit saat lähtemään myös Naksun toiminnolla "Näytä hallintaominaisuudet" > "Lähetä lokitiedot Abitti-tukeen".

VT-x/AMD-V is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED)

Käynnistysyritys päättyy seuraavanlaiseen virheilmoitukseen (Intel-prosessorit):

Stderr: VBoxManage.exe: error: VT-x is disabled in the BIOS for all CPU modes (VERR_VMX_MSR_ALL_VMX_DISABLED)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface iConsole

Vastaava virheilmoitus AMD-prosessoreilla:

Stderr: VBoxManage.exe: error: AMD-V is disabled in the BIOS (or by the host OS) (VERR_SVM_DISABLED)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole

Koneen BIOS-asetuksissa ei ole virtualisointituki päällä. Tarkat ohjeet päälle laittamiseen riippuvat koneen mallista, yleisellä tasolla menemällä bootin yhteydessä biosiin ja vaihtamalla ko. asetus tyypillisesti "Processor"-kohdan alta. Asetuksen nimi voi olla esimerkiksi "Intel Virtualization Technology", "Intel VT", "AMD-V" tai "Virtualization Extensions"

Windows: Naksu väittää, että Hyper-V on päällä

Windowsin Hyper-V on joskus vaikea kytkeä pois päältä. Vaivannäkö kuitenkin kannattaa, koska Hyper-V ja siihen liittyvät toiminnot voivat haitata virtuaalikoneen toimintaa. Kokeile seuraavia:

  1. Avaa Windowsin komentorivityökalu (Win+R) ja anna komento "optionalfeatures". Poista tarvittaessa ruksi kohtien "Hyper-V" -alkuisten rivien kohdalta. Boottaa kone muutosten jälkeen. Kokeile käynnistää Naksu.
  2. Klikkaa näytön vasemman alanurkan Windows-kuvaketta hiiren oikealla painikkeella ja valitse "Windows PowerShell (admin)". Anna komento "Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All". Boottaa kone ja kokeile käynnistää Naksu.
  3. Avaa Windowsin asetukset (Win+I) ja valitse "Settings" > "Open Windows Security". Valitse vasemmalta "Windows Security" ja oikealta "Open Windows Security". Valitse ponnahdusikkunasta "Device Security" > "Core isolation details". Kytke Core Isolation -otsikon alta "Memory integrity" pois päältä. Boottaa kone ja kokeile käynnistää Naksu.
  4. Avaa Windowsin komentorivityökalu (Win+R) ja anna komento "gpedit.msc". Mene ikkunaan "Local Group Policy Editor" ja etsi vasemmasta puuvalikosta "Computer Configuration" > "Administrative Templates" > "System" > "Device Guard". Aseta "Turn on Virtualization Based Security" tilaan "Disabled". Boottaa kone ja kokeila käynnistää Naksu.

Miksi isäntäpalvelinta ei saa liittää keskitettyyn ylläpitoon?

Ylioppilaskokeen aikana isäntäkoneen halutaan olevan mahdollisimman stabiili. Valvojien kauhu on se, että isäntäkone alkaa asentelemaan päivityksiä kesken ylioppilaskokeen. Tämän vuoksi konetta ei saa liittää mihinkään työasemien hallintajärjestelmään, jollainen myös Microsoftin Active Directory on.

Koneessa voi olla käyttöjärjestelmätoimittajan päivityspalvelu (esim. Microsoftin Windows Update tai Linuxien paketinhallintajärjestelmät kuten update-manager). Päivitykset tulee ajaa isäntäpalvelimelle ennen tutkintopäivää. Tutkintopäivänä koneen tulee olla irrotettuna internetistä, jotta kone ei saa uusia päivitystehtäviä.

Mitä Naksun "Poista kokeet" ja "Poista palvelin" tekevät?

"Poista kokeet" palauttaa virtuaalipalvelimen alkutilaansa. Se vastaa palvelintikkujen uudelleenkirjoitusta:

  • Palvelimessa olevat kokeet ja kaikki pidettyihin kokeisiin liittyvät tiedot poistetaan.
  • Jos palvelin on käynnistetty varapalvelimeksi, sen voi jälleen käynnistää varsinaiseksi palvelimeksi.
  • Jos palvelimeen on tullut jokin toiminnan estävä vikatilanne (esim. ohjelmavirhe estää palvelimen käynnistymisen), tämä ongelma poistuu.

"Poista kokeet" palauttaa Naksun tekemän virtuaalikoneen snapshotin "Installed". Se on otettu automaattisesti virtuaalikoneen luomisen yhteydessä. Toimenpide on nopea, koska levykuvaa ei tarvitse ladata verkosta.

"Poista palvelin" poistaa kaikki virtuaalikoneisiin tiedot VirtualBoxista. Se poistaa kaikki käyttöönotetut virtuaalikoneet, levynkuvat ja näiden asetukset. Ainoastaan koetehtävien ja -suoritusten siirrossa käytettävä ktp-jako -hakemisto säilytetään. Operaatio voi auttaa, jos virtuaalikone on mennyt totaalisen jumiin.

"Poista palvelin" on siis raskaampi toimenpide kuin "Poista kokeet". Tämän jälkeen palvelimen uudelleenasennus joutuu lataamaan levynkuvan, koska Vagrantin omissa varastoissa tallennetut levynkuvat on poistettu.

Virtuaalipalvelinongelmissa kannattaa aina ensin kokeilla "Poista kokeet" -toimintoa ensin.

Naksu valittaa, että VirtualBoxia ei ole asennettu - mutta on se! (Linux)

Naksu antaa mm. seuraavanlaisia virheilmoituksia:

  • Virhe: Ohjelman VBoxManage käynnistys epäonnistui. Oletko varma, että koneeseen on asennettu Oracle VirtualBox?
  • Varoitus: komento epäonnistui: VBoxManage --version

Linuxissa VirtualBoxin asennuksen yhteydessä käännetään uusia kernel-moduuleita. Joissakin Linuxeissa (esim. Ubuntu) kernel-moduulit voidaan allekirjoittaa digitaalisella allekirjoituksella. Ikävä kyllä VirtualBoxin asennuksen yhteydessä käännettyjä kernel-moduuleja ei allekirjoiteta.

Ratkaisu on poistaa SecureBoot palvelimesta, jolloin kernel-moduulien allekirjoitusta ei tarkisteta.

Lisää ratkaisuehdotuksia löytyy YTL-Linuxin ohjeista.

Virtuaalikone käynnistyy ongelmitta, mutta kokelaat eivät saa yhteyttä siihen

Varmista, että isäntäkoneessa ei ole palomuuri päällä.

Palvelin kaatuu, kun kokelaita tulee paljon

Varmista ensin, että koneen prosessori täyttää YTL:n vaatimukset. Jos prosessori on liian tehoton, ei palvelin selviydy suuresta kokelasmäärästä.

Seuraavaksi voit ajaa omalla koneellasi prosessorin tehoa mittaavan testin ja vertaamalla testin tulosta muiden käyttäjien samalla prosessorilla saamiin arvoihin. Jos ajat virtuaalikonetta Windowsissa, voit kokeilla www.userbenchmark.com.

Tarkista, että koneesi BIOSissa mahdollisesti oleva energiansäästö on pois päältä (esim. "Optimize Performance"). Jos ajat virtuaalikonetta Windowsissa, tarkista myös sen virranhallinta-asetukset:

Windows 10:

  1. Avaa Windowsin ohjelmavalikko ja kirjoita "virran". Avaa valinta "Virta ja lepotila".
  2. Klikkaa kohdasta "Lisäasetukset" > "Virran lisäasetukset"
  3. Jos näet virrankäyttösuunnitelman "Paras suorituskyky" valitse se.
  4. Vaihtoehtoisesti voit klikata voimassaolevan virranhallintasuunnitelman kohdalta "Muuta suunnitelman asetuksia" > "Muuta virranhallinnan lisäasetuksia".
  5. "Suorittimen virranhallinta" > "Suorittimen vähimmäistila" tulisi olla 100%.
  6. "Suorittimen virranhallinta" > "Suorittimen enimmäistila" tulisi olla 100%.

Ubuntu 18.04:

  1. Tarvitset root- tai sudo-oikeudet. Esimerkkikomennot on annettu jälkimmäisen tapauksen mukaan.
  2. sudo systemctl disable ondemand
  3. Käynnistä palvelin uudelleen ja katso, että ondemand-palvelu on todellakin pois päältä: systemctl status ondemand

Voit myös kokeilla kytkeä prosessorin hyperthreadingin (HT) pois päältä. Tämä tapahtuu BIOS:issa.

Palvelimen ja varapalvelimen synkronointi kestää kauan

Jos tutkintoverkko ja molempien palvelimien verkkokortit ovat vaadittua tasoa (1 Gbit/sek), kestää synkronoinnissa noin puoli tuntia. Syy tikkumaailmasta kasvaneeseen synkronointiaikaan on se, että virtuaalisen palvelimen levytila on huomattavasti USB-muistitikkua suurempi (noin 50 Gt).

Ratkaisuehdotus 1 (erityisesti Windows)

Tee seuraavat toimenpiteet:

  • Varmista, että sinulla on uusimmat verkkokortin ajurit (Windowsissa)
  • Onko verkkokortin ajurissa virransäästöominaisuuksia? Kytke ne pois päältä.
  • Onko verkkokortin ajurissa Green Ethernet/Energy Efficient Ethernet -asetus? Kytke se pois päältä.

Ratkaisuehdotus 2 (erityisesti Ubuntu)

Joillain ympäristöillä (erityisesti Ubuntu) Virtualboxin tarjoama virtio verkkoajuri voi olla todella hidas. Voit yrittää vaihtaa verkkokortin ajurin Intel-versioon 82545EM Naksussa.

Mitä Naksun varmuuskopiointi oikeastaan tekee?

Naksun varmuuskopio tekee virtuaalipalvelimen levystä täydellisen kloonin. Varmuuskopiointitiedosto sisältää kaiken datan, mitä virtuaalipalvelimessa on. Varmuuskopion ottajan pitää vain tietää mille levylle tiedosto tallennetaan.

Ongelmatilanteessa lautakunta voi pyytää varmuuskopiotiedoston itselleen ja käynnistää virtuaalipalvelimesta täydellisen kopion. Tämä helpottaa ongelmanratkaisua.

Nimeääkö Naksu automaattisesti tiedoston vai täytyykö backupeille tehdä esim. oma kansio ulkoiselle kiintolevylle?

Tällä hetkellä käyttäjä voi valita tallennuspaikan muutamista Naksun tarjoamista sijainneista. Esim. ulkoisen kiintolevyn juuressa olevaan hakemistoon tallentaminen ei ole mahdollista. Naksu nimeää varmuuskopion automaattisesti (päivä ja kellonaika).

En pysty siirtämään Naksun tekemään varmuuskopiota USB-muistitikulle

USB-muistit ovat oletuksena formatoitu FAT-tiedostojärjestelmälle, jossa tiedoston suurin koko on 4 Gt.

  • Jos käytät Windowsia, formatoi USB-muisti NTFS-tiedostojärjestelmällä
  • Jos käytät Linuxia, formatoi USB-muisti ext2-tiedostojärjestelmällä (huom: ext3 ja ext4 tiedostojärjestelmien journalointi rikkoutuu helposti USB-tikuilla jollei tikkua irroteta siististi)

Kopioi sen jälkeen varmuuskopio uudelleen tikulle. Muista, että voit säilyttää varmuuskopioita myös palvelimen kovalevyllä.

Miten voin testata, että Naksun asentama palvelin toimii?

Parasta on tehdä kuormitustestaus, jonka avulla näet toimiiko verkko ja onko palvelin riittävän nopea. Ohjeet löytyvät YTL:n sivuilta.

Käynnistän Naksua ja saan ilmoituksen Could not open log file /tmp/naksu_lastlog.txt

Naksu alkaa heti käynnistettäessä kirjoittaa lokitiedostoa. Jos käyttäjällä ei ole vielä ktp-hakemistoa kotihakemistossaan, lokitiedosto kirjoitetaan väliaikaistallennuksille varattuun tilaan (ns. temp-hakemisto). Virheilmoitus tarkoittaa, että lokitiedoston kirjoittaminen ei syystä tai toisesta onnistu.

Tarkista:

  • Onko käyttäjällä kirjoitusoikeus temp-hakemistoon? Linuxeissa tämä on tyypillisesti /tmp, Windowsissa hakemisto löytyy kirjoittamalla tiedostonhallintaan tms. %TEMP%
  • Onko temp-hakemistossa jo naksu_lastlog.txt, jota käyttäjä ei voi ylikirjoittaa?

Jos käyttäjän kotihakemistossa on ktp-hakemisto, Naksu kirjoittaa naksu_lastlog.txt -tiedoston sinne.

Windows - Naksu väittää, että Windows Hypervisor on päällä

Käynnistettäessä Naksu tunnustelee, onko koneessa Windows Hypervisor -ominaisuutta. Tämän on havaittu aiheuttavan joissakin erikoistilanteissa ongelmia VirtualBoxille ja siksi Hypervisor kannattaa poistaa koneesta.

Tee näin:

  • Avaa Windowsin asetukset
  • Etsi hakutoiminnolla "turn windows" ja valitse "Turn Window features on or off"
  • Etsi "Windows Hypervisor Platform" > Poista sen valinta (ruksi pois) > OK

Voit joutua myös poistamaaan Windows Defenderistä "core isolation" -toiminnon:

  • Avaa Windowsin asetukset
  • Etsi hakutoiminnolla "windows security" ja valitse "Windows Security"
  • Device security > Core isolation > Core isolation details > kaikki vaihtoehdot pois päältä

Windows - Error relaunching VirtualBox VM process: 5

Naksu asentaa palvelimen, mutta käynnistysyritys tuottaa seuraavanlaisen virheilmoituksen:

Error relaunching VirtualBox VM process: 5
Command line:
'xxxxxxx-xxxx-xxx-xxxx-xxxxxxxxxxxx-suplib-3rdchild --comment NaksuAbittiKTP --startvm xxxxxxx-xxxx-xxx-xxxx-xxxxxxxxxxxx --no-startvm-errormsgbox...'
Please try reinstalling VirtualBox.

where subR3HardenedWinreSpawn what: 5
VERR_INVALID_NAME (-104) - Invalid (malformed) file/path name.

Koneessa oleva tietoturvaohjelmisto on kytkettävä pois päältä. HP:n tietokoneissa valmiiksi asennettuna ja päällä oleva SureSense-ohjelma aiheuttaa tällaista.

Windows -koneen levytila on vähissä. Miten saan lisää levytilaa?

Windows 7: Aja levyn uudelleen järjestäminen (Disk Cleanup)

Tämä poistaa turhia tiedostoja ja vanhat palautuspisteet (restore points).

  1. Kaikki ohjelmat > Apuohjelmat > Järjestelmätyökalut > Järjestä uudelleen (All Programs > Accessories > System Tools > Disk Cleanup)
  2. Valitse levy, jolla virtuaalikoneen kotihakemistot sijaitsevat.
  3. Poista ensin oman käyttäjän turhat tiedostot. Valitse tiedostoryhmät listasta ja klikkaa lopuksi OK.
  4. Käynnistä tämän jälkeen ohjelma uudelleen, mutta mene nyt ylläpitäjänä klikkaamalla Järjestä järjestelmätiedostot (Clean up system files)
  5. Tee sama järjestelmätiedostoille: valitse tiedostoryhmät listasta ja klikkaa OK. Service Pack -tiedostot ovat helposti useita gigatavuja.
  6. Käynnistä ohjelma vielä kerran uudelleen, mene ylläpitäjänä Järjestä järjestelmätiedostot -painikkeella. Valitse välilehti Lisää vaihtoehtoja > Järjestelmän palauttaminen ja tilannevedokset > Järjestä > Poista (More Options > System Restore and Shadow Copies > Clean up > Delete)
  7. Sulje kaikki ikkunat klikkaamalla OK-painikkeita ja vastaa vahvistuksiin myöntävästi

Windows 10: Vapauta tallennustilaa

Tämä poistaa turhia tiedostoja.

  1. Avaa Windows 10 valikko ja hae hakusanalla "Tallennustila"
  2. Klikkaa Tallennusseuranta > Vapauta tilaa nyt
  3. Odota, että Windows etsii poistettavia tiedostoja
  4. Valitse haluamasi tiedostoryhmät ja klikkaa Poista tiedostot

Windows 7 ja 10: Pienennä swap-levyä

Swap-levyä käytetään, jos tietokoneen RAM-muisti täyttyy. Koetilan palvelimien muistivaatimukset ovat sellaisia, että swappiä ei käytännössä pitäisi tarvita ollenkaan. Swap-tiedosto on levyn juuressa oleva pagefile.sys.

  1. Windows 7: Ohjauspaneeli > Järjestelmä > Järjestelmän lisäasetukset > Suorituskyky > Asetukset > Lisäasetukset-välilehti > Näennäismuisti > Muuta (Control Panel > System > Advanced system settings > Performance > Settings > Advanced-välilehti > Virtual memory > Change)
  2. Windows 10: Asetukset > Järjestelmä > Tietoja (vasemmalla alhaalla) > Järjestelmätiedot (oikealla ylhäällä) > Suorituskyky > Asetukset > Lisäasetukset-välilehti > Näennäismuisti > Muuta
  3. Ruksaa Hallitse kaikkien asemien... pois päältä (Automatically manage paging...)
  4. Jos arvo "Suositeltu" on suurempi kuin 4096 Mt, tehdään muutos: Otetaan Mukautettu koko (Custom size) käyttöön seuraavin asetuksin - aloituskoko: 16 Mt, enimmäiskoko 4096 Mt
  5. Klikkaa Aseta (Set)
  6. OK kaikkiin ikkunoihin
  7. Klikkaa Käynnistä uudelleen nyt (Restart Now)

Windows 7 ja 10: Poista hibernointi käytöstä

Koetilan palvelimessa tuskin tarvitaan mahdollisuutta unitilaan (hibernointi). Tämä (C:\hiberfile.sys) vie turhaan levytilaa. Ota se pois käytöstä seuraavasti:

  1. Avaa ohjelmavalikko ja hae "cmd"
  2. Napsauta cmd.exe-kuvaketta hiiren oikealla napilla ja valitse Suorita järjestelmänvalvojana (Run as administrator)
  3. Anna komento powercfg hibernate /off ja paina enter
Clone this wiki locally