TIES478 Demo3
Alla kaikkialla tunnus tarkoittaa omaa käyttäjätunnustasi.
Tehtävät 1, 2 ja 3 voi tehdä missä järjestyksessä tahansa, jos jossain
tulee pitkä viive siirry välillä seuraavaan.
Vihje: ennen vaaralliselta tuntuvia levyjärjestelmämuutoksia
kannattaa tehdä varmuuskopio levyimagesta (etenkin tehtävissä 14 ja 16
saa helposti koneen boottauskelvottomaan tilaan...).
Ks. myös yhteenveto asennusoptioista täällä.
HUOM. Tehtävät on tarkoitus tehdä kahdessa päivässä, siis keskiviikkona
ja torstaina. Torstain demot ovat pakollisia paitsi jos joku oikeasti
ehtii tehdä kaikki jo keskiviikkona demotilaisuudessa, ja se pitää silloin muistaa
kertoa ennen kuin lähtee keskiviikon demoista.
-
- Kirjaudu sisään koneeseen pouta.it.jyu.fi, laita sinne
ssh-avaimet niin että pääset sinne ilman salasanaa työasemastasi, ja
luo sinne itsellesi uusi virtuaalikone tunnus-bak,
Ubuntu 14.04 (trusty) amd64-arkkitehtuurilla, 256MB muistilla ja 2GB
levyllä tähän tapaan (virt-install -komento siis työasemassa, vaihda tt:n paikalle
oma tunnuksesi, myös tiedostonimessä, ja muista että levyimage
pitää luoda etukäteen qemu-img -komennolla pouta-koneessa):
virt-install --connect qemu+ssh://pouta.it.jyu.fi/system \
-n tt-bak -r 256 --disk path=/tmp/tunnus/tt-bak.img,size=2,bus=virtio \
-c /srv/ftp/iso/ubuntu-14.04-server-amd64.iso -w bridge=br0
Jos saat virheen "... is not managed on the remote host", tee
pouta-koneessa tällainen määritys:
echo '<pool type="dir"><name>tt-tmp</name><target><path>/tmp/tt</path></target></pool>' >tt-tmp.xml
virsh pool-create tt-tmp.xml
(tt:n paikalle taas oma tunnuksesi).
Jos etäasennus ei sittenkään onnistu, mene ssh:lla pouta-koneeseen ja tee sama
ilman "--connect..." -optiota.
Asenna levylle LVM käsin partitioiden: koko levy yhtenä osiona LVM-käyttöön,
yksi VG nimenä tunnusbak (ilman väliviivaa),
LV:t root (/) 500MB, usr 500MB, var 600MB, swap 100MB, home 200M,
kaikki tiedostojärjestelmät tyyppiä ext4.
Välityspalvelimeksi http://pouta:3142.
Ensimmäiseksi käyttäjäksi taas tunnus0.
(Bootin jälkeen mahdollisesti tuleva virhe "error: diskfilter writes not supported"
on turha varoitus, josta ei tarvitse välittää.)
- Asennuksen jälkeen siirrä levyimage /tmp:stä kotihakemistoosi.
- Suurenna /usr 600MB kokoiseksi.
- Asenna language-pack-fi, libpam-krb5 ja nullmailer.
- Lisää normaali käyttäjätunnuksesi oikealla UIDilla.
- Lisää koneeseen toinen, 5GB levy (imagetiedosto esim. tunnus-bak2.img) omana
levyryhmänään "backups" ja sinne 3GB looginen levy "backup" ja
xfs-tyyppinen tiedostojärjestelmä (asenna xfsprogs ensin)
mountattavaksi polkuun /backup.
- Luo root-käyttäjälle rsa-avain ilman salasanaa.
(Helpointa jos tekee ensin "sudo su -" tai "sudo bash -l".)
- Asenna virtuaalikoneesi tunnus1 uudestaan muuten
samoilla asetuksilla kuin aikaisemminkin, mutta LVM:ää käyttäen,
muistia 256MB.
Ennen asennusta tarkista paljonko tilaa /usr, /var ja /home käyttävät (du)
ja miten iso swap on (cat /proc/swaps).
Ota koko vanhan koneen image talteen ennen uudelleenasennusta (vaihda tiedostonimi).
Asennuksessa osioi levy käsin
("Manual partitioning") ja käytä LVM:ää, alkuun kuitenkin
erillinen pieni 300MB /boot, loppulevy yhtenä osiona (PV:nä), LV:t
"root" (/), "usr", "var", "home" ja "swap1", koot aiemmin katsotun
mukaan plus vähän (/, /usr ja /var vähintään 400M), kaikki ext4:ää paitsi /boot ext2.
Asennuksen jälkeen asenna ja konfiguroi kaikki samat ohjelmat mitä siellä oli aiemminkin.
Mounttaa vanha image toiseksi levyksi ja kopioi
sieltä /home, /var/www, /etc/ssh ja mahdollisesti valikoituja tiedostoja muualta (/root, /etc, /var/log ...).
Poista se kun sitä ei enää tarvita (säilytä toistaiseksi jos olet epävarma).
- Asenna virtuaalikoneesi tunnus2 uudestaan muuten
samoilla asetuksilla kuin aikaisemminkin (muistia 256MB), mutta käytä
levyllä LVM:ää oletusarvoilla ("Use entire disk and use LVM").
Ennen asennusta ota vanhasta koneesta /home, /etc, /var ja /root
talteen tar-komennolla ja
asennuksen jälkeen palauta sieltä /home, /etc/ssh ja mahdollisesti
muuta tarpeellista.
Asenna ja konfiguroi taas samat ohjelmat kuin aiemminkin.
-
Lisää tunnus-bak -koneestasi root-käyttäjän julkinen rsa-avain (id_rsa.pub)
tunnus1 ja tunnus2 -koneidesi rootin authorized_keys
-tiedostoihin.
Varmista kokeilemalla, että tunnus-bak -koneen root pääsee
ilman kyselyitä tunnus[12] -koneisiin sekä ssh:lla että rsync:illä.
Kokeile koneen nimellä sekä domainin kanssa että ilman (tunnus1 ja tunnus1.student.it.jyu.fi)
- Asenna tunnus-bak -koneeseen rsnapshot.
- Konfiguroi se varmuuskopioimaan muut virtuaalikoneesi sekä itsensä,
valikoidut hakemistot:
/boot /root /etc /usr/local /var ja /home.
- Käytä sync_first -optiota ja retain hourly 3, daily 7 ja weekly 4.
- Kokeile varmuuskopiointia käsin: ensin rsnapshot sync, sitten rsnapshot hourly.
Toista (ainakin) kolme kertaa, sitten rsnapshot daily. Katso joka välissä mitä
varmuuskopiohakemistossa on (ls -alt /backup).
- Asenna rsnapshot pyörimään cronilla tunnus-bak -koneessa rsnapshotin tunneittain, päivittäin
ja viikottain. Demojen jälkeen seuraa säännöllisesti, että backupit toimivat.
- Asenna tunnus-bak koneeseen nfs-palvelu (nfs-kernel-server) ja jaa /backup-levy readonly-tilassa
virtuaalikoneillesi tunnus1 ja tunnus2
(määritykset tiedostoon /etc/exports, käyttöön komennolla exportfs -a).
- Asenna tunnus1 -koneeseen nfs-common ja mounttaa
käsin sinne /backup -hakemisto tunnus-bak -koneesta (johonkin
tilapäiseen paikkaan).
Asenna sitten sinne autofs ja määrittele se automounttaamaan se tarvittaessa
polkuun /oma/backup (määritykset /etc/auto.master, /etc/auto.oma, indirect map).
Tee sama automount-asetus tunnus2 -koneelle.
- Asenna tunnus1 ja tunnus2 -koneisiin nfs-palvelu ja
konfiguroi ne niin, että automounttaavat toistensa kotihakemistot näkymään
poluissa /oma/home1 ja /oma/home2.
- Laajenna tunnus1 -koneen systeemilevyryhmää lisäämällä sinne toinen, 2GB levy.
Tarkista vapaa tila ennen ja jälkeen lisäyksen (vgdisplay, vgs).
-
Siirrä tunnus1-koneessa /usr/local, /var/tmp ja /var/log (pysäytä rsyslogd)
omiksi tiedostojärjestelmikseen. Tarkista vapaa levytila (df, vgs), buuttaa ja varmista, että
kaikki toimii yhä oikein.
- Pienennä tunnus-bak -koneen /home 100MB kokoiseksi.
(Vihje: esim. (1) vaihda tunnus0:n kotihakemisto tilapäisesti muualle vipw -komennolla
tai (2) lisää toinen käyttäjätunnus jonka kotihakemisto ei ole /home'n alla
tai (3) salli tilapäisesti kirjautuminen suoraan roottina
tai (4) käytä at-komentoa (asenna se ensin; crontab käy myös)
tai (5) käynnistä kone recovery-tilassa (single-user).)
- Laajenna tunnus2 -koneen systeemilevyryhmää lisäämällä sinne toinen, 1GB levy.
Tarkista vapaa levytila ennen ja jälkeen.
- Suurenna äsken lisätty levy 2GB:hen: qemu-img resize jne edellisten demojen tapaan
plus LVM:n vaatimat temput (pvresize). Tarkista taas vapaa tila.
- Siirrä tunnus2-koneessa /usr ja /var omiksi tiedostojärjestelmikseen.
- Vaihda tunnus1 -koneen kahden levyn tilalle yksi isompi (yhtä iso
kuin vanhat yhteensä). (Lisää ensin uusi ja poista sitten vanhat.)
- tunnus2:n root-tiedostojärjestelmään jäi edellisten
tehtävien jäljiltä tyhjää tilaa. Pienennä sitä niin, että tyhjää jää enintään 50%.
(Vaikea!)