Kurssin verkkoalueet
- JY:n verkkoalue 130.234.0.0/16
- Sisäverkko 1-to-1 NATin takana: 172.21.0.0/16, netmask 255.255.0.0, 172.21.x.y ↔ 130.234.x.y kun x=208,209
- Alustakoneet:
- lonka5.it.jyu.fi, 130.234.208.15, sisäverkossa 172.21.208.15
- lonka6.it.jyu.fi, 130.234.208.16, sisäverkossa 172.21.208.16
- lonka7.it.jyu.fi, 130.234.208.17, sisäverkossa 172.21.208.17
- lonka8.it.jyu.fi, 130.234.208.18, sisäverkossa 172.21.208.18
Kurssin verkkoalueet 2
- Kurssin virtuaalikoneet 130.234.209.x, sisäverkossa 172.21.209.x
- Sisäverkon DNS-palvelin 172.21.0.4, gateway 172.21.0.1
- s001.vm.it.jyu.fi = 130.234.209.1 = 172.21.209.1 jne
- aliakset TUNNUS1.student.it.jyu.fi jne
Virtuaalikoneen asennus (virt-install)
- Tarvittavat tiedot (virt-install optiot):
- Koneen nimi --name
- Levyimagen paikka ja koko (GiB) --disk
- Muistin (RAM) määrä (MiB) --memory
Virtuaalikoneen asennus 2
- Asennusmedia --cdrom tai --location
- Verkkoasetukset --network
- Joskus muitakin kuten --arch, --vcpus, --cpu, --import ...
Virtuaalikoneen asennus 3
- Levyimage voi olla normaali tiedosto tai mikä tahansa ”looginen levy” (fyysinenkin levy tai levyosio, tai LVM:n kanssa looginen volume). Myös levyohjaimen tyyppi voidaan valita, oletus on IDE, mutta yleensä ”virtio” on parempi.
Virtuaalikoneen asennus 4
- Jos levyimage on tiedosto, virt-install osaa luoda sen, kun kerrotaan polku ja koko (GiB):
- virt-install ...
- --disk path=$HOME/disk1.img,size=5,bus=virtio
Virtuaalikoneen asennus 5
- Oletuksena virt-install tekee virtuaalikoneelle sisäisesti many-to-1 NATatun verkon 192.168.122.* -alueelle, jolloin siihen ei pääse käsiksi kuin alustakoneesta ilman eri säätöä.
- (Alue voi olla eri alustakoneissa eri, esim. lonka5:ssä se on 192.168.125.*)
Virtuaalikoneen asennus 6
- Haluttaessa täydelliset yhteydet ulos ikäänkuin alustakoneen ohi, käytetään siltaverkkoa (bridged), jolloin VM näkyy suoraan alustakoneen verkkosegmentissä:
- virt-install … --network bridge=br0
- (bridge-laite määritellään alustakoneessa, voi olla muukin kuin br0)
Virtuaalikoneen asennus 7
- Verkon tyypistä riippumatta IP-osoite, maski, oletusreitti jne asetetaan myöhemmin (kuten normaalisti konetta asennettaessa, dhcp:llä tai käsin)
Virtuaalikoneen asennus 8
- Asennusmedia voi olla (virtuaalinen tai oikea) optinen media (cdrom image) tai URL:
- virt-install … --cdrom /srv/ftp/iso/image.iso
- virt-install … --location http://archive.ubuntu.com/ubuntu/dists/bionic/main/installer-amd64/
Virtuaalikoneen asennus 9
- Oletuksena käytössä on graafinen konsoli
- (virt-viewer).
- Vaihtoehto on määritellä sarjaporttikonsoli:
- virt-install … --graphics none
- --extra-args='console=ttyS0,115200n8 serial'
Virtuaalikoneen asennus 10
- Huom. sarjaporttikonsoli toimii vain --location … -asennuksella (tai cd-image on muokattava sarjaporttiasennusta varten)
- Yhteyden konsoliin saa sitten komennolla
- virsh --connect qemu:///system console kone
Virtuaalikoneen asennus 11
- Ennen asennuksen aloittamista selvitä:
- Koneen nimi ja verkkoasetukset (toimiiko DNS)
- Levyimagen paikka ja koko ja haluttu osiointi
- Asennusmedia/URL
Virtuaalikoneen asennus 12
- Esimerkki:
- host tt1 # 172.21.209.19
- virt-install --name tt1 --memory 512 --disk path=$HOME/tt1.img,size=5,bus=virtio --network bridge=br0 --cdrom /srv/kvm/images/ubuntu-16.04.4-server-amd64.iso
- ip=172.21.209.19, mask=255.255.0.0, gw=172.21.0.1, ns=172.21.0.4, domain=student.it.jyu.fi
Virtuaalikoneen hallinta
- virsh start kone
- virsh shutdown kone
- virsh destroy kone
Virtuaalikoneen hallinta 2
- virsh suspend kone
- virsh resume kone
- virsh save kone tiedosto
- virsh restore tiedosto
Virtuaalikoneen hallinta 3
- virt-viewer [--wait] kone
- virsh connect … [console] kone
- virsh edit kone
Virtuaalikoneen hallinta 4
- virsh dumpxml kone > kone.xml
- virsh undefine kone
- virsh define kone.xml
Virtuaalikoneen hallinta 5
- Koneen täydelliseksi hävittämiseksi tarvitaan kolme asiaa:
- virsh destroy kone # prosessin pysäytys
- virsh undefine kone # määrityksen poisto
- rm -rf $HOME/kone.img # levyimagen poisto
- Kone pitää ehkä lisäksi poistaa nimipalvelusta.
Levyt ja osiointi
- Levyt voidaan jakaa osioihin (partitions)
- Yhdellä osiolla yksi tiedostojärjestelmä (tai jotain muuta, kuten swap)
- Keino rajoittaa käyttäjiä ja villiintyneitä prosesseja täyttämästä koko levyä
Levyt ja osiointi 2
- Eri osioissa voi käyttää erilaisia tiedostojärjestelmiä ja niiden optioita mm. suorituskyvyn parantamiseksi
- Osiotaulu kertoo miten levy jaettu, erilaisia osiotaulutyyppejä: MBR = Master Boot Record, GPT = GUID Partition Table (GUID = Globally Unique Identifier); muitakin on
Levyt ja osiointi 3
- MBR-osiotyypit (klassinen MS-DOS): primäärit (max 4), extended (max 1) ja sen sisällä loogisia; GPT:ssä ei vastaavaa jakoa
- Asennusohjelman ehdottama oletusosiointi yleensä ok työasemille muttei palvelimille
- Ensimmäinen osio yleensä sektorista 2048 alkaen
Levyt ja osiointi 4
- Windowsin osiot nimetty levykirjaimina C: D: jne
- Linuxin levyt esim. /dev/sda, /dev/hdb, /dev/vdc, /dev/nvme0n1 ...
- ja osiot /dev/sda1, /dev/hdb5, /dev/nvme0n1p1
- Samoille levyille ja osioille useita vaihtoehtoisia laitetiedostonimiä (ks. /dev/disk/...)
- Työkaluja: fdisk, parted
Levyt ja osiointi 5
- Osioinnin muuttaminen jälkeenpäin on vaikeaa. Mahdollisen käyttämättömän alueen voi ottaa käyttöön suhteellisen helposti, jos siihen on varauduttu, mutta yleensä sekin edellyttää vähintään boottia. Muuten joutuu siirtelemään osioiden sisältöä ja se ei useinkaan onnistu kuin toisesta koneesta käsin.
- Yleisempi ratkaisu monimutkaisiin ja muuttuviin osiointitarpeisiin on LVM, Logical Volume Manager.
Tiedostojärjestelmät
- Eri tyyppejä: ext2, ext4, xfs, tmpfs, zfs, brtfs …
- Tiedostojärjestelmän luonti:
- mkfs -t ext4 [-i 4096] /dev/sda5
- mkfs.ext4 /dev/sda5
- optiot riippuvat tiedostojärjestelmätyypistä
- joitakin asetuksia voi muuttaa myöhemmin, useimpia ei
- tmpfs (ramdisk) luodaan mount-komennolla
- Tiedostojärjestelmätyypin vaihto edellyttää yleensä datan siirtämistä tilapäisesti muualle (poikkeus: ext2/ext3/ext4)
Swap
- Heittovaihtotiedosto eli swap: keskusmuistin jatke levyllä
- Alustus: mkswap
- swapon, swapoff
- /proc/swaps
Liitospiste
- Liitospiste, mount point: hakemisto (luodaan erikseen), johon tiedostojärjestelmä liitetään:
- mount /dev/sda5 /home
- umount /home
- mount tmpfs -t tmpfs -o size=1G /ramdisk
- /etc/fstab, mount -a
Tiedostojärjestelmähierarkia
- /: tiedostojärjestelmän juuri (root file system)
- /etc: konfiguraatiotiedostot
- /bin: ohjelmat (vrt. /usr/bin)
- /sbin: systeemiohjelmat
Tiedostojärjestelmähierarkia
- /root: rootin kotihakemisto
- /boot: käynnistystiedostot, kernel, initramdisk
- /usr: yhteiset pysyvät tiedostot (ohjelmat jne)
- /lib, /lib64, /usr/lib: kirjastot
Tiedostojärjestelmähierarkia
- /var: yhteiset muuttuvat tiedostot (lokit, postit, tietokannat)
- /tmp, /var/tmp: tilapäistiedostot
- /home: käyttäjien kotihakemistot
- /opt: käyttöjärjestelmän ulkopuoliset ohjelmistot
Tiedostojärjestelmähierarkia
- /usr/local: paikallisia ohjelmia, kirjastoja...
- /srv: palvelinohjelmistojen data
- /dev, /sys: laitetiedostot
- /run: ajonaikaista dataa
- /proc: järjestelmän tiedot
Tiedostojärjestelmähierarkia
- Omina tiedostojärjestelminään useimmin
- / (aina)
- /boot (etenkin jos / kryptattu tms)
- /usr
- /var
- /tmp (usein ramdisk)
- /home
Käyttäjien hallinta
- useradd -u uid -U -m -s /bin/bash -c 'nimi' login
- groupadd -g gid group
- usermod …
Käyttäjien hallinta 2
- userdel [-r] login
- groupdel group
- vrt. adduser, deluser
PAM
- ”Pluggable authentication modules”
- Kerberos-autentikointi (JY:ssä):
- sudo apt-get install libpam-krb5
- realm: AD.JYU.FI