Linux kernelin suorituskyky

Kerneltrap.org kirjoittaa Linux Kernel Performance Projektista, jonka tarkoituksena on:

”Our goal is to work with the Linux community to further enhance the performance of the Linux kernel. The data available on the site allows community members to closely track performance gains and losses with every version of the kernel. Ultimately, we hope that this data will result in performance increases in Linux kernel development.”

Lähinnä suunnattu siis kernelin kehittäjille ja muille asiasta todella kiinnostuneille. Linux Kernel Performance Project ei ole ainut ”projekti”, jolla kernelien toimivuutta voi mitata.

Performance Matrix näyttää eri benchmarkeilla ajettuja tuloksia verrattuna kernelin päälinjaan, mm-linjaan ja muihin linjoihin.

Con Kolivas eli ck-sources kernelipatchien tekijä, tarjoaa Interbench-nimistä ohjelmaa, jolla ajaa suorituskykytestit ja toimii eri kernelipatchien kanssa.

Interbench keskittyy kernelin interaktiivisuuden ja latenssin mittaamiseen ja huolellisella testauksella eri rautakokoonpanoja voidaan verrata. Interbench on suunniteltu mittaamaan muutoksia Linuxin kernelissä tai systeemin kokoonpanossa (kuten CPU, I/O ajanjakaja ja levyjärjestelmä). Tarkempaa informaatiota Interbenchin toiminnasta löytyy Interbenchin sivuilta.

Oikeastaan tämä blogi-kirjoitus olisi pitänyt tehdä jo kauan aikaa sitten, koska suoritin Interbench-testit jo heinäkuun lopussa. Ajelin testit ”AMD64 3000+, 1GB DDR muistia ja Seagate 7200.1 PATA-levy” -kokoonpanolla, käyttäen cpufreq-governoria ja 2.6.12 ja 2.6.13 -sarjan kerneleitä sisältäen ck, cko, mm, vanilla, gentoo ja morph kernelpatchit.

Kätevimmin tulokset ovat nähtävissä seuraavista kuvista:

ja seuraavista logeista:

Ainakin itselle jäi testeistä sellainen mielikuva, että gentoon vanilla-pohjainen kernelilinja toimii ihan yhtä hyvin interaktiivisuuden ja latenssien puolesta kuin agressiivisesti patchatut kernelit. Jos ei ”eksoottisten” valintojen ansiosta (ReiserFS jne.) tarvitse ck/cko/mm/ac-linjan kerneleitä, ei niiden suosimiselle omien testieni pohjalta näy syytä. Toki jatkan silti ck-sarjan kernelipatchien käyttämistä työpöytäkoneessani.

Henkisellä puolella ne suurimmat erot on ennenkin nähty, oli kyseessä sitten kännykän toimivuus, auton ominaisuudet tai kernelin patchit :)

Kryptattu varmuuskopiointi verkon yli

Pyörittäessä omaa palvelinta, vaikka vain testimielessä, on syytä muistaa varmuuskopiointi. Levyillä olevien tietojen ei tarvitse olla edes tärkeää, kun laitteistorikon ja sitä myötä levyrikosta aiheutunut tiedostojen tuhoutuminen harmittaa. Varmuuskopiontiin on monta tapaa ja käytettävästä alustasta riippuen yksinkertaisempia ja monimutkaisempia.

Linuxissa varmuuskopioinnin voi hoitaa kätevästi vaikkapa automatisoidusti rsyncillä verkon ylitse. Varmuuskopiontiin on myös erillisiä ohjelmia, kuten duplicity, joka tarjoaa kryptattua varmuuskopiointia verkon ylitse käyttämällä rsync algoritmia, scp/ftp/rsynciä siirtämiseen ja gpg:tä kryptaukseen. Debian-Administration.org käsitteleekin artikkelissaan: ”Unattended, Encrypted, Incremental Network Backups: Part 1”, kuinka duplicity-järjestelmä otetaan käyttöön. Artikkeli on selkeä ja esittää ohjelman käytön ja asetusten teon selvästi ja käsittelee myös cronin, ssh-avainten ja ssh-keychainin käytön varmuuskopionnin yhteydessä.

Varmuuskopioinnin toteuttamiseen on olemassa myös useita muita ohjelmia, jotka tarjoavat monipuolisempia vaihtoehtoja, kuin pelkkä duplicityn käyttäminen:

Debian Administrationin artikkelin kommenteissa kritisoitiin kryptattua varmuuskopiointia. Kommentoija painotti, että bittivirheiden lisäksi (esim. tar-paketissa bittivirhe korruptoi yhden tiedoston ja voidaan korjata) kryptatut kopiot ovat riippuvaisia purkuavaimen säilytyksestä (varkaus, poisto, tulipalo jne.) ja kryptattua varmuuskopiointia pitäisi käyttää vain, jos kohdekone on epäluotettava.

Artikkeli on osa 1, joten jatkoa on luvassa. Osassa 2 on tarjolla: ”the issues in running a multiuser backup system for untrusted users, the software we can use to protect our server from our users, our users from each other, and our users’ backups against successful client machine compromises.”

En osaa kommentoida tuota kryptattujen varmuuskopioiden etu/haitta -astetta, mutta ennen kuin itse ottaisin kryptauksen käyttöön (eli varmuuskopioisin epäluotettavalle koneelle), selvittäisin tarkemmin riskit ja vaihtoehdot. Mutta sitä ennen saa aivan perinteinen purkkatyylinen rsync+scp -skripti hoitaa varmuuskopioinnin. Jään odottamaan artikkelin toista osaa.

Linux distribuution valinta

Linux jakelupaketteja on tarjolla enemmän kuin runsaasti, joten aloittelevan linux-ihmisen voi olla hankalaa valita mieluinen versio. Informit.com on kirjoittanut artikkelin Linux distribuution valinnasta: Linux vs. Linux: Which Distro Should You Dump Windows For?. Artikkeli ei käsittele lähdekoodipohjaisia jakeluita, kuten Slackware ja Gentoo, vaan keskittyy ”helpommin” lähestyttäviin jakeluihin: Debian, Ubuntu, SuSe, Fedora Core, Mandrive, Linspire, Xandros.

Valintaa helpottamaan on olemassa myös Linux Distribution Chooser, joka kattaa Fedora Core, Mandriva, SuSE, Debian, MEPIS, Ubuntu, Kubuntu, Linspire, Xandros, Desktop/LX, PCLinuxOS, Yellowdog Linux, Gentoo ja Slackware distribuutiot. Linux Distribution Chooser on hieman yksinkertaisempi ja kysymys-klikkaus -toimintaan perustuva. Tuloksetkin ovat selkeämmin jaoiteltuina kysyttyjen tarpeiden mukaan.

Omat valintani Debian palvelimeen ja Gentoo työpöydälle, ovat palvelleet hyvin tarkoituksiaan. Vaihtoehtoja ja tarpeita on monia, joten yksiselitteistä ”paras distribuutio käyttöön x” ei voi antaa. Loppupeleissä testeistä, arvioista ja suosituksista huolimatta, on valinta tehtävä käyttökokemuksien perusteella.

Kiintolevyn tyhjentäminen ylikirjoittamalla

Tietokoneharrastelijoille on tapana kertyä tietokoneromua nurkkiin, vanhempaa kalustoa jää käyttämättömäksi ja siitä on päästävä eroon. Vaikka yksityisellä henkilöllä ei välttämättä ole kiintolevyt täynnä salaista ja arkaluontoista dataa, on ne silti hyvä tyhjentää ja ylikirjoittaa ennen koneiden myyntiä. Yrityksissähän datan ylikirjoitus, tai levyjen tuhoaminen, on vieläkin tärkeämpää, ettei ostaja saa kaivettua levyiltä esim. yrityssalaisuuksia tai asiakastietoja.

Kotikäyttäjällä datan ylikirjoitus kiintolevyltä on helpoin suorittaa Linux Live-CD:n avulla, eli bootata kone CD:ltä ja ajaa ohjelma, joka ylikirjoittaa kiintolevyn. Darik’s Boot and Nuke suorittaa saman automaattisesti boottaamalla koneen levykkeeltä.

Engadget.com:n jutussa kiintolevyn tyhjennys suoritettiin Live-CD:n avulla Gentoossa, mutta itse tyydyin käyttämään hyllystä löytynyttä Knoppixia. Kone päälle, CD asemaan, hetki odottelua ja levy sileäksi käyttämällä Shrediä, joka on osa GNU fileutils-pakettia. Toimenpide meni yksinkertaisuudessaan komentamalla: shred -vz -n 3 /dev/hda

Paranoidimmat ihmiset voivat ylikirjoittaa datan useamminkin kuin 3 kertaa, mutta Engadgetin artikkelin perusteella kolme kertaa on riittävä, ainakin kotikäyttöön. Datan hävittämisestä magneettisilta medioilta kiinnostuneet voivat lukea Peter Gutmannin 1996 asiasta julkaistun paperin.

MySQL-tietokannan varmuuskopiointi

Elokuun tenttiviikosta on selvitty, lähes, joten on taas aikaa kirjoitella hieman.

Kuten kaikki tietävät on varmuuskopioiden tekeminen tärkeää, koska laitteistorikot ja muut sattumat voivat osua juuri pahimpaan mahdolliseen aikaan. Tällöin tietoa on toivottavaa ja mielekästä etsiä mahdollisimman tuoreista varmuuskopioista.

MySQL-tietokantaa on helppo varmuuskopioida Linux-maailmassa pienellä skriptillä. Tarvitaan vain muutamat mysqldump ja scp -lauseet ja kanta on tallennettu omalle koneelle ja toivottavasti vielä jollekin toiselle koneelle.

Lyhyesti: Teemme Bash-skriptin sisältäen muutamat muuttujat ja tarvittavat lauseet. Skripti kommentteineen löytyy täältä ja näyttää suurinpiirtein seuraavalta:

#!/bin/bash
#
# MySQL mysqldump + backup with scp

# We need user with enough privileges to dump (or use an user who has all privileges)
# grant select,reload,process,lock tables on *.* to db_user@localhost identified by 'password';

# For crontab 1 times a day,  add this to your crontab (crontab -e)
# remove the ">/dev/null 2>&1" if you want email if backup done ok
# 0 6 * * * /home/user/mysqldump.sh >/dev/null 2>&1

DB_USER='db_user'
USER='user'
PASSWD='password'
HOST='host.net'
DESTINATION='backups'

# backup with date (2005-08-24)
DATE=`date -I +%F`

# If you want to compress your backups directly even without hitting your HD. You can try this command:
#
mysqldump --opt -u $DB_USER --password="$PASSWD" --all-databases | bzip2 -c > db_backup-$DATE.sql.bz2

# Sending the backup file with scp
# You need to have ssh-keys used so that no passwords are asked
# Or use scp manually
scp db_backup-$DATE.sql.bz2 $USER@$HOST:~/$DESTINATION

BlackDog Linux palvelin

Mainoslauseidensa mukaan BlackDog on maailman pienin Linux palvelin, joka saa virtansa USB-liittimestä. Pieneen 1.3cm x 4.5cm x 8.8cm ja 72.5g kokoon on saatu mahdutettua 400Mhz PowerPC processori, 64MB muistia, 256MB tai 512MB Flash muistia, Biometrinen skanneri ja MMC laajennuspaikka. BlackDog on hinnaltaan $199 (256MB versio) ja $239 (512MB versio).

Debian-pohjaiseen Linuxiin pohjautuva laite ottaa isäntäkoneen näytön, näppäimistön ja hiiren haltuunsa eikä jätä jälkiä tai dataa isäntäkoneelle, kun käyttö lopetetaan. Alle kahden sekunnin käynnistyminen takaa nopean käyttöönoton.

Aika ovela laite. Jo aikaisemminhan testailin USB-muistitikulla olevaa Damn Small Linuxia ajettuna isäntäkoneen päällä QEmulla. BlackDog lähtee jo paremmista lähtökohdista omalla prosessorillaan, jolloin emulointia ei tarvitse suorittaa. Aikalailla ”jos sen voi toteuttaa, toteutetaan se” -tyylinen vekotin. Olisi silti kiva nähdä testejä laitteesta, sillä yrityksen markkinointisivut laitteelle eivät juuri kriittistä informaatiota tarjonneet.

Nokian Linux-päätteellä lupaavat näkymät

Nokian keväällä Linuxworld-messuilla New Yorkissa esittelemällään internet-päätteellä on luvassa hyvät tulevaisuuden näkymät. Nokia 770 Internet Tablet on 800 x 480 pikselin laajakuvaisella kosketusnäytöllä varustettu kannettavan tietokoneen ja mobiililaitteen välimuoto.

Laite on saanut Linux-kehittäjiltä positiivisen vastaanoton avoimen lähdekoodin ansiosta. Debianin Linux-jakeluun perustuvalle Maemo-alustalle on kehitetty jo ensimmäiset ohjelmat, pelit sekä kehitystyökalut, ja Linux-aiheiset sivut seuraavat kehitystä mielenkiinnolla. Nokia on edistänyt kehitystä muun muassa myymällä 500 kappaletta 770 Internet Tablet -laitteita vain 99 eurolla Guadec 2005 -tapahtumassa. Myös ilmaisia laitteita on jaettu yhtiön avainkumppaneille ja Linux-yhteisön jäsenille. (lähde: tietokone.fi)

Uusi mediapääte on suunnattu kuluttajille koteihin ja julkisiin wlan-pisteisiin. Ominaisuuksiltaan mediapääte on kiinnostava, joskaan ei hirveästi yllätä: Bluetooth, WLAN, mitat 141x 79 x 19 millimetriä, massa 230 grammaa, 1500 mAh:n akku (n. 3h kesto) ja veroton hinta $350. Alhainen akkukesto ja puhelinominaisuuden puute rajoittavat hieman käyttökohteita.

nokia 770 internet tablet

Uusi aluevaltaus Nokialta, jäämme innolla odottamaan. Standardikomponentteihin perustuva käyttöjärjestelmä (vertaa Symbian), avoin lähdekoodi ja kehittäjien houkutteleminen lupaavat hyvää.