Tag Archives: linux

intel amt/me debian

Endel Intel systemer idag kommer med vPro. Dette vil si at det er en slags billig iLO/iDRAC løsning integrert. Systemet jeg konfigurerte hadde en eldre versjon, som kun gir mulighet for å styre power samt konsoll over seriell. For oss er det mer enn godt nok for breakfix ved feil.

I korte trekk hva som må konfigureres.

1. IP på Intel ME firmware. Trykk F9? rett etter BIOS. I utgangspunktet kan Intel ME ligge på samme IP som host, og ta over trafikk på vei inn på maskinen. Av gammel vane liker jeg helst å separere denne trafikken helt.
2. Konfigurer grub

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet elevator=deadline console=ttyS2,115200n8"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --port=0xc000 --speed=115200 --word=8 --parity=no --stop=1"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Kort forklaring på “–port=0xc000”. Denne finner du ved å kjøre:

# dmesg |grep ttyS2 |grep irq
[ 0.527818] 0000:00:03.3: ttyS2 at I/O 0xc000 (irq = 17, base_baud = 115200) is a 16550A

Ser at det stemmer med

# lspci |grep KT
00:03.3 Serial controller: Intel Corporation 82Q35 Express Serial KT Controller (rev 02)

3. Konfigurer systemd med getty.

# systemctl enable serial-getty@ttyS2.service
# systemctl start serial-getty@ttyS2.service

4. Koble til med amttool / amtterm

# export AMT_PASSWORD=passw0rd
# amttool hostname
### AMT info on machine 'hostname' ###
AMT version: 3.2.3
Use of uninitialized value $domainname in printf at /bin/amttool line 244.
Hostname: hostname.
Powerstate: S0
Remote Control Capabilities:
IanaOemNumber 0
OemDefinedCapabilities IDER SOL BiosSetup
SpecialCommandsSupported PXE-boot HD-boot cd-boot
SystemCapabilitiesSupported powercycle powerdown powerup reset
SystemFirmwareCapabilities 0
# amtterm hostname
amtterm: NONE -> CONNECT (connection to host)
ipv4 hostname [192.168.2.3] 16994 open
amtterm: CONNECT -> INIT (redirection initialization)
amtterm: INIT -> AUTH (session authentication)
amtterm: AUTH -> INIT_SOL (serial-over-lan initialization)
amtterm: INIT_SOL -> RUN_SOL (serial-over-lan active)
serial-over-lan redirection ok
connected now, use ^] to escape

Debian GNU/Linux 8 hostname ttyS2

hostname login:

Kan også nå web interface for å styre power, se på events osv på port 16992. eks http://192.168.2.3:16992/

Kilder:
https://linux.die.net/man/7/amt-howto
https://wiki.debian.org/AMT/SerialOverLan
http://0pointer.de/blog/projects/serial-console.html
https://en.wikipedia.org/wiki/Intel_AMT_versions

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.

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++