bad-block-list i mdadm

For fremtidige mdadm raid(Blir mest sannsynligvis ZoL uansett), så kan det aktiveres bad-block-list. Dette skal visstnok kunne gjøre at man får lest ut ett mdadm raid selv om det skulle være noen bad-blocks.

Gjelder mdadm 3.3 og kernel 3.1

To add a bbl to a pre-existing array you need to assemble with “–update=bbl”. You cannot hot-add a BBL at present.

http://lwn.net/Articles/608967 <-- scroll ned til Neil Brown sitt innlegg (Aug 20, 2014 1:44 UTC).

CentOS 5 iSCSI target

På arbeidsstasjonen min har jeg en liten 120GB SSD disk, som blir litt for liten når den er delt mellom fedora og windows. Dette igjen betyr at jeg ikke har plass til å bruke windowsen til det den var tiltenkt(spill). Så løsningen ble for min del å lage en “sparse” fil som jeg igjen delte ut via iSCSI fra CentOS serveren min, og monterte denne igjen i windows. Dermed har jeg nå 400GB tilgjengelig uten at jeg bruker mer enn hva filene som ligger i “sparse” filen faktisk opptar.

Så over til smådetaljene.

root@server:/root $ yum install scsi-target-utils
root@server:/root $ cd /etc/tgt/
root@server:tgt $ vi targets.conf
<target iqn.2014-05.fluxxx.lan:workstation.target1>
backing-store /export/iscsi/workstation.img
</target>
root@server:iscsi $ dd if=/dev/zero of=workstation.img bs=1 count=0 seek=400G
root@server:iscsi $ /etc/init.d/tgtd start
root@server:iscsi $ chkconfig tgtd on

Da er i teorien iSCSI delt ut, så kan vi få det verifisert med kommandoen.

root@server:tgt $ tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2014-05.fluxxx.lan:workstation.target1
System information:
Driver: iscsi
State: ready
I_T nexus information:
LUN information:
LUN: 0
Type: controller
SCSI ID: IET 00010000
SCSI SN: beaf10
Size: 0 MB, Block size: 1
Online: Yes
Removable media: No
Readonly: No
Backing store type: null
Backing store path: None
Backing store flags:
LUN: 1
Type: disk
SCSI ID: IET 00010001
SCSI SN: beaf11
Size: 429497 MB, Block size: 512
Online: Yes
Removable media: No
Readonly: No
Backing store type: rdwr
Backing store path: /export/iscsi/workstation.img
Backing store flags:
Account information:
ACL information:
ALL

Hvor mye plass er faktisk i bruk av selve “sparse” filen.

root@server:iscsi $ du -sh workstation.img
30G workstation.img
root@server:iscsi $ du -sh --apparent-size workstation.img
400G workstation.img

Diverse Raspbeery Pi

For å få tilgang til endel programmer som for eksempel raspistill trenger man pakken libraspberrypi-bin, dette gjelder stort sett kameraet som passer direkte inn i Raspberry Pien. Det viser seg at det kanskje hadde vært enklere å gå for ett normalt web kamera. Selv om det må sies at kvaliteten utifra kameraet faktisk er relativt bra. Trenger også pakken libraspberrypi0 for bibliotek og tilsvarende til kameraet.

Raspberry Pi Stratum 1 NTP server

ntpi-2-1024x760I forbindelse med vær stasjon prosjektet jeg er igang med, så trenger jeg presis tid i forhold til logging av data. Siden 3g forbindelsen på fjellet er forventet å være høyst ustabil ønsker jeg og ha en Stratum 1 NTP server kjørende lokalt.

Den billigste, og beste løsningen har vist seg å være basert på Raspberry Pi, pluss en GPS modul laget for GPIO pinnene, med egen PPS(Pulse Per Second).

Gikk utifra endel “guider” på nettet, men har endret noe på “imaget” jeg bruker på min rPi for å forbedre ytelsen. I det store og det hele brukte “imaget” jeg lastet ned, gpsd daemonen. Forsåvidt helt kurant og gå gjennom shared memory, men hvorfor ikke la ntpd snakke direkte med GPS modulen, når den har muligheten til det.

Endringene som er gjort i forhold til http://ntpi.openchaos.org/downloads/ sitt image.

## /etc/udev/rules.d/99-pps.rules ##
KERNEL=="ttyAMA0",SYMLINK+="gps0"
KERNEL=="pps0",SYMLINK+="gpspps0"
## /etc/ntp.conf ##
server 127.127.20.0 mode 18 minpoll 4 prefer
fudge 127.127.20.0 flag1 1 flag3 1 refid GPS
pi@ntpi ~ $ sudo update-rc.d gpsd disable

Så over til det viktigste…Hvor bra er den egentlig? Kort sagt, meeeeget bra. Har ett par bilder for sammenlikning.

pi@ntpi ~ $ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
oGPS_NMEA(0) .GPS. 0 l 12 16 377 0.000 0.003 0.002

rPi:
rpi_ntp

vs

Windows:
windows_ntp

Kilder:
http://ava.upuaut.net/store/index.php?route=product/product&path=59_60&product_id=95
http://ava.upuaut.net/?p=600
http://ntpi.openchaos.org/downloads/

Ny server.

Har begynnt å se på ny server, har allerede blinket ut endel komponenter.

På software siden ser jeg for meg å innstallere CentOS 7, med RAID1 for /boot, RAID10 for / og /var og ZFS for /export (raidz).

Komplett liste fra prisjakt.

Silverstone DS380 (Sort) (Kabinett)
Silverstone SFX ST45SF 450W (Strømforsyning)
ASRock E3C226D2I (Hovedkort)
Intel Xeon E3-1240v3 3,4GHz Socket 1150 Box (Prosessor)
Kingston ValueRAM TS DDR3 PC12800/1600MHz ECC CL11 8GB (DDR3-minne) 2x
Hitachi Deskstar H3IK40003272SE 64MB 4TB (Intern harddisk) 4x
Samsung 840 EVO Series 2.5″ SSD 250GB (Solid State Disk (SSD)) 2x
LSI SAS 9207-8i

Modelines til Xorg

cvt er kjekk å ha når man skal lage modelines i Linux. Spesielt i forbindelse med konfigurering av sære prosjektorer.

# cvt 2560 1045
# 2560x1024 59.89 Hz (CVT) hsync: 63.67 kHz; pclk: 218.00 MHz
Modeline "2560x1024_60.00"  218.00  2560 2720 2992 3424  1024 1027 1037 1063 -hsync +vsync

3 skjerms oppsett for linux

# nvidia-xconfig: X configuration file generated by nvidia-xconfig

# nvidia-xconfig: version 290.10 (buildmeister@swio-display-x86-rhel47-07.nvidia.com) Wed Nov 16 18:47:40 PST 2011

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 260.19.06 (buildd@yellow) Mon Oct 4 15:59:51 UTC 2010

Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1440 0
Screen 1 "Screen1" RightOf "Screen0"
Screen 2 "Screen2" LeftOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection

Section "Files"
EndSection

Section "InputDevice"

# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Acer V223W"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 76.0
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "CTL 195UW"
HorizSync 30.0 - 80.0
VertRefresh 50.0 - 75.0
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
EndSection

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:2:0:0"
Screen 0
EndSection

Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:2:0:0"
Screen 1
EndSection

Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9800 GT"
BusID "PCI:3:0:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0; DFP-0: 1680x1050_60_0 +0+0; DFP-0: 1600x1024 +0+0; DFP-0: 1440x900 +0+0; DFP-0: 1440x900_60 +0+0; DFP-0: 1400x1050 +0+0; DFP-0: 1400x1050_70 +0+0; DFP-0: 1400x1050_60 +0+0; DFP-0: 1360x768 +0+0; DFP-0: 1360x768_60_0 +0+0; DFP-0: 1280x1024 +0+0; DFP-0: 1280x1024_75 +0+0; DFP-0: 1280x1024_60 +0+0; DFP-0: 1280x960 +0+0; DFP-0: 1280x960_60 +0+0; DFP-0: 1280x800 +0+0; DFP-0: 1152x864 +0+0; DFP-0: 1152x864_85 +0+0; DFP-0: 1152x864_85_0 +0+0; DFP-0: 1152x864_75 +0+0; DFP-0: 1152x864_75_0 +0+0; DFP-0: 1152x864_70 +0+0; DFP-0: 1152x864_60 +0+0; DFP-0: 1024x768 +0+0; DFP-0: 1024x768i +0+0; DFP-0: 1024x768_75 +0+0; DFP-0: 1024x768_70 +0+0; DFP-0: 1024x768_60 +0+0; DFP-0: 1024x768d60 +0+0; DFP-0: 960x720 +0+0; DFP-0: 960x720d60 +0+0; DFP-0: 960x600 +0+0; DFP-0: 960x540 +0+0; DFP-0: 928x696 +0+0; DFP-0: 928x696d60 +0+0; DFP-0: 896x672 +0+0; DFP-0: 896x672d60 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection

Nyttige verktøy i Linux (cli)

HTOP gir en noe bedre oversikt enn top, men gir stort sett ut samme informasjon. F-knapper for å velge for eksempel “tree-view”, samt enkel metod for å sortere på minne, cpu, swap osv.

Stort sett tilgjengelig i de fleste standard repositories.

NMON gir deg en enkel “curses” basert visning av cpu, disk, kernel, nettverks statistikk. Kjempe nyttig verktøy for å finne hvilken disk f.eks som henger etter i ett raidsett.

På bilde til venstre har jeg startet lesing av en fil til /dev/null, og man ser at det er jevn fordeling av IO.  Hele viewet kan endres med de statistikkene man er ute etter, slik at man slipper å se på masse urelevant informasjon.

ATOP ligner endel på topas, som man finner på AIX. Kjempe nyttig verktøy, som til og med peker ut hvilke prosesser, som er busy og som også kan liste prosesser basert på minne, disk, nettverk. I bilde til høyre kan man se at den korrekt har identifisert at jeg kjører en “dd” operasjon, som tar en stor prosentandel av all diskaktivitet.

Kan også også identifisere hvilken prosess som står for prosentvis andel av nettverkstrafikk. Men for nettverks “detaljer”, må det en kernel patch til(vet ikke hva det skulle være for noe).

DSTAT er enda ett kjekt verktøy, men kan være litt vanskeligere å skille tallene ifra hverandre. Men er også veldig nyttig i situasjoner hvor man ønsker å finne en eventuell flaskehals i systemet. Har også støtte for plugins, har foreksempel mulighet til å korrelere trafikk på nettkortet mot diskbruk. Programmet retter seg mer inn mot hardware / system, og egner seg kanskje ikke like godt til å finne eventuelle programmer, som påfører stor last osv.

Pluss alle de andre jeg ikke har nevnt.

  • ethstatus
  • iptraf
  • iperf
  • netstat
  • ps
  • mtr
  • bonnie++