Linux RAID-lek (md)

Uppgraderade filburken hemma med minne som hittades i skrotrummet (slängde julklappsförpackningar). 2GB SDRAM 667MHz bör göra maskinen snabbare än en 1GB som framtvingar viss swap-aktivitet på en slö slö slö SSD. Efter ingreppet så dök dock inte alla raid-enheter upp.

root@filserver:/var/log# mdadm --assemble --scan
mdadm: no devices found for /dev/md0
mdadm: no devices found for /dev/md2

F**k.

root@filserver:/var/log# mdadm --examine --brief --scan --config=partitions
ARRAY /dev/md4 level=raid1 num-devices=2 UUID=87afd380:6018cbda:c6d7c43e:eb241c8e

F**k.

root@filserver:/var/log# dmesg | tail
[ 4931.527092] md: Autodetecting RAID arrays.
[ 4931.527104] md: could not bd_claim sdc1.
[ 4931.527144] md: could not bd_claim sdb1.
[ 4931.527178] md: Scanned 2 and added 0 devices.
[ 4931.527181] md: autorun ...
[ 4931.527183] md: ... autorun DONE.
[ 5050.771944] md: md0 stopped.
[ 5050.781177] md: md2 stopped.
root@filserver:/var/log# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda5  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1  /dev/sdd5

shutdown -h now, öppnade locket på burken och såg att PATA-kortet inte satt i ordentligt. Tryckte dit det, startade upp maskinen igen och kontrollerade med

ceda@filserver:~$ lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller (rev 10)
00:02.0 VGA compatible controller: Intel Corporation 82G33/G31 Express Integrated Graphics Controller (rev 10)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 01)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 (rev 01)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 (rev 01)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 (rev 01)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 (rev 01)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller (rev 01)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 01)
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
03:02.0 Mass storage controller: Promise Technology, Inc. PDC20268 (Ultra100 TX2) (rev 02)

Sista raden där ser fin ut.

ceda@filserver:~$ dmesg | grep md
[    0.807822] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0xffa0 irq 14
[    0.807826] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0xffa8 irq 15
[    0.809708] ata3: SATA max UDMA/133 cmd 0xc080 ctl 0xc000 bmdma 0xb800 irq 19
[    0.809711] ata4: SATA max UDMA/133 cmd 0xbc00 ctl 0xb880 bmdma 0xb808 irq 19
[    0.939487] ata5: PATA max UDMA/100 mmio m16384@0xfebfc000 cmd 0xfebfd7c0 irq 23
[    0.939490] ata6: PATA max UDMA/100 mmio m16384@0xfebfc000 cmd 0xfebfd5c0 irq 23
[    1.856559] md: linear personality registered for level -1
[    1.863976] md: multipath personality registered for level -4
[    1.866589] md: raid0 personality registered for level 0
[    1.870177] md: raid1 personality registered for level 1
[    1.965696] md: bind<sdc1>
[    1.987377] md: bind<sde5>
[    1.992221] md: bind<sdb1>
[    1.996833] raid1: raid set md4 active with 2 out of 2 mirrors
[    1.996869] md4: detected capacity change from 0 to 5...
[    1.998939]  md4: unknown partition table
[    2.139566] md: bind<sde6>
[    2.174302] md: bind<sdf6>
[    2.177122] raid1: raid set md2 active with 2 out of 2 mirrors
[    2.177159] md2: detected capacity change from 0 to 8...
[    2.179237]  md2:raid6: mmxx1     2494 MB/s
[    2.575133] md: raid6 personality registered for level 6
[    2.575136] md: raid5 personality registered for level 5
[    2.575138] md: raid4 personality registered for level 4
[    2.575744] md: bind<sdf5>
[    2.583390] md: raid10 personality registered for level 10
[    2.584960] raid1: raid set md0 active with 2 out of 2 mirrors
[    2.585036] md0: detected capacity change from 0 to 7...
[    2.587043]  md0: unknown partition table
[    3.671105] EXT4-fs (md0): barriers enabled
[    3.684246] kjournald2 starting: pid 469, dev md0:8, commit interval 5 seconds
[    3.684296] EXT4-fs (md0): warning: checktime reached, running e2fsck is recommended
[    3.715106] EXT4-fs (md0): internal journal on md0:8
[    3.715110] EXT4-fs (md0): delayed allocation enabled
[    3.715275] EXT4-fs (md0): mounted filesystem with ordered data mode
[    3.796771] EXT3 FS on md2, internal journal
[    3.816485] EXT4-fs (md4): barriers enabled
[    3.833274] kjournald2 starting: pid 475, dev md4:8, commit interval 5 seconds
[    3.833327] EXT4-fs (md4): warning: checktime reached, running e2fsck is recommended
[    3.856742] EXT4-fs (md4): internal journal on md4:8
[    3.856746] EXT4-fs (md4): delayed allocation enabled
[    3.857497] EXT4-fs (md4): mounted filesystem with ordered data mode

Gött. Inga semesterbilder förlorade. Dags att ordna offsite-backup igen. Partitionslista mailas en gång i månaden, så den finns “off site” iaf.

PGP och keysigning-part

FOSDEM Logotype
Free and Open Source Developers' European Meeting

Är påväg till FOSDEM i år igen. Det är en konferens inte lik någon annan (även om FSCONS ger ungefär samma stämning) som är helt fri att gå på och hålls på LUB-universitetet i Bryssel, första helgen i februari. Förväntningarna på Free Java-rummet  detta år är att det någon gång bryter ut i en fullständig politisk diskussion med smutskastning, bittra miner och “vi som klarar oss utan JCP, TCK osv”. Utöver det bör det som vanligt vara PGP-signering och CAcert Assurance-fest och en möjlighet att bli certifierad Linux-expert. Problemet med det sista brukar vara alla intressanta föreläsningar som än så länge prioriterats högre. Kanske är det dags att skaffa formellt intyg på Linux-kunskaperna.

En riktigt rolig tillställning är det i alla fall, med öppensinnade människor som lever för att dela kunskap och lära.

Gällande nyckelsignering så är verktyget caff (CA – Fire and Forget) helt oumbärligt för att orka med att signera hundratals nycklar. Under Ubuntu är det paketerat i signing-party. Caff tar en rad nyckel-ID:n som argument, hämtar hem nyckeln, signerar (interaktivt), skickar sedan nyckeln till varje e-postadress för respektive UID som ingår i nyckeln. Den skickade nyckeln är krypterad med den publika nyckeln så man kan vara säker på att man bara signerar nycklar till folk som den verkligen tillhör. Biff sade räven.

För att komma igång så bör man byta nyckelserver (jag kör pgp.mit.edu) och redigera .caffrc för att ställa in e-postsaker och ange nyckel man vill signera med. Sedan är det rätt rättframt.

CACert Assurer

CAcert Assurer Badge
CAcert Assurer

Sedan ett par minuter tillbaka är jag godkänd som CAcert Assurer. Det innebär att jag kan intyga identiteter och dela ut poäng till CAcert-medlemmar (så att de kan få fler poäng och bättre certifikat).

Målet med CAcert är att genom en transparent process och ett web of trust, bygga upp certifikathantering som är fri och likvärdig den traditionellt “kommersiella” (och grymt exploaterade) hanteringen. På kort sikt vill man se till att bli tillräckligt godkänd för att root-certifikatet skall distribueras med Mozillas alla produkter, t ex Firefox. När det målet är nått kan man alltså utan kostnad skaffa ett SSL-certifikat för sin webbserver och använda HTTPS utan att vara tvungen att betala avgift för att erhålla ett certifikat signerat av en betrodd CA.

En högst parentesaktig reflektion är att Debian borde vara med på detta som hökar kan jag tycka. De har ju fört seriösa diskussioner om en egen topp-nivå-domän (TLD) och DNSSEC:a en egen root-zon (om jag inte förstått det fel).

OpenVPN

Sätter upp OpenVPN för fjärde gången på kort tid (ett år) och denna gång skriver jag ner mina egna anteckningar istället för att följa någon annans som fungerar halvbra.

Tills vidare baserat på Virtual VPN Howto från riseup.net, fast med skillnaden att jag vill ha betrodda klient-certifikat (dvs med inslag från Sebastien Wains anteckningar.

På servern

echo “1” > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.30.0.0/24 -j MASQUERADE

aptitude install openvpn opencs #opencs behövs för pkcs11-tool
cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0
vim vars
source vars
mkdir KEY_DIR
./clean-all #skapar index.txt och serial
./build-ca #defaults (bara trycka enter)
./build-key-server vpn.domain.org # defaults (bara trycka enter, sedan y, men fixa domännamnet)
./build-dh #skapar dh1024.pem
./build-key clientX.vpn.domain.org #skapar csr, crt och key för klienten
vim /etc/defaults/openvpn #AUTOSTART=”wains2-server”
cat >> /etc/openvpn/wains2-server.conf

På klienten

sudo aptitude install openvpn network-manager-openvpn-gnome
scp ceda@vpn.wendt.se:/etc/openvpn/keys/clientX.* .
cat >> wains2-client.conf
testa manuellt med sudo openvpn wains2-client.conf
Sedan kan resten skötas med Network Manager GUI:t: