Einträge mit dem Tag: [kernel]

Donnerstag Jan 24, 2013

Anzahl und Zustand TCP-Verbindungen

Wenn man schnell mal wissen möchte, wieviele TCP-Verbindungen sich in welchem Zustand befinden, hilft dieser kleine Einzeiler:

netstat -an | grep tcp | awk '{print $6}' | sort | uniq -c

189 ESTABLISHED
11 FIN_WAIT2
25 LISTEN
8 SYN_RECV
1891 TIME_WAIT


 


Mittwoch Mai 23, 2012

Kernel dmesg Timestamp umwandeln

Wenn man so einen dmesg Output hier 

[120150.785488] nfs: server 10.232.218.3 not responding, timed out
[120450.903514] nfs: server 10.232.218.3 not responding, timed out
[120452.071783] nfs: server 10.232.218.3 not responding, timed out
[120462.577351] nfs: server 10.232.218.3 not responding, timed out

in ein lesbares Datumsformat umwandeln will

Wed May 23 07:52:55 2012 nfs: server 10.232.218.3 not responding, timed out
Wed May 23 07:57:55 2012 nfs: server 10.232.218.3 not responding, timed out
Wed May 23 07:57:57 2012 nfs: server 10.232.218.3 not responding, timed out
Wed May 23 07:58:07 2012 nfs: server 10.232.218.3 not responding, timed out

nimmt man das hier: 

alias tmesg='dmesg|perl -ne "BEGIN{\$a= time()- qx!cat /proc/uptime!};s/\[\s*(\d+)\.\d+\]/localtime(\$1 + \$a)/e; print \$_;"'


Mittwoch Mrz 21, 2012

Links 20120321 - Kernel 3.3, tt-rss, GrabInbox

Kernel 3.3 released - Eine schöne Übersicht aller Neuerungen gibt bei kernelnewbies.org. Neu u.a. Open vSwitch speziell für die Virtualisierung.
Tiny Tiny RSS - oder kurz tt-rss: Ein sehr schöner RSS-Newsreader, den man auf seinem Webserver installieren kann. Oberfläche läuft mit Ajax, dadurch fühlt sich das Ganze fast wie ein Desktop-Programm an. Mit etwas Aufwand kann man auch Twitter-Feeds einbinden und ich vermute mal, das eventl. sogar Facebook klappen könnte, wenn man diese Anleitung zu Grunde legt. Außerdem kann man sich per Sphinx auch eine Volltextsuche einbauen. Läuft mit MySQL oder PostgreSQL.
GrabInbox - Wer mehrere Facebook, Twitter oder Linkend Accounts hat, kann sich mal GrabInbox genauer anschauen, um die Accounts zu verwalten.


Dienstag Feb 10, 2009

Linux: IOMMU: Setting identity map for device

Falls euch beim Booten vom Linux-Kernel mit einem Intel Quad Core eine Meldung wie diese hier

IOMMU: Setting identity map for device 0000:00:1a.1 [xdefd6000 - 0xdefd7000]

um die Ohren fliegt, sollte man in der /boot/grub/grub.conf (oder menu.lst) folgenden Parameter in der kernel-Zeile setzen:

intel_iommu=off

Das kann man auch temporär tun, wenn Grub das Bootmenü anzeigt, den entsprechenden Eintrag mit e auswählt und dann einfach hinter der Zeile mit kernel ... anhängt


Freitag Aug 22, 2008

Linux: I/O pro Prozess anzeigen

Oh wie lange habe ich auf dieses Feature gewartet! Wer einen Kernel 2.6.20 oder höher einsetzt, der kann sich mit dem Tool pidstat aus dem sysstat (> V 7.1.5) Paket sich jetzt anzeigen lassen, was welcher Prozess denn da gerade auf der Platte rummacht. Leider hat selbst Redhat Enterprice 5.2 nur einen 2.6.18 Kernel und dieses Kernel Feature nicht zurückportiert, wo doch gerade bei diesen Enterprise Plattformen solche Informationen sehr wichtig sind. Nun ja... So sieht das dann jedenfalls aus (pidstat -d 5 10):

 3:06:24          PID   kB_rd/s   kB_wr/s kB_ccwr/s  Command
13:06:29         7224      6.40      0.00      0.00  make
13:06:29         9150      0.00     22.40     22.40  postgres
13:06:29         9207      0.80      0.80      0.00  logd
13:06:29         9410     13.60      0.00      0.00  xgcc
13:06:29         9411    352.80     12.00      0.00  cc1
13:06:29         9412     44.00      0.00      0.00  x86_64-pc-linux
13:06:29        11793      0.00      3.20      0.80  thunderbird-bin
13:06:29        12751      4.00     24.80      0.00  firefox-bin
13:06:29        30591  10771.20      0.00      0.00  rsync
13:06:29        30593      0.00  10752.00      0.00  rsync
13:06:29        32469      3.20      1.60      0.00  emerge


Hier sieht man sehr schön, das rsync ganz gut unterwegs ist. Damit das funktioniert, müssen im Kernel folgende Optionen aktiviert sein:

CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y


Freitag Okt 26, 2007

Partitionen mit mehr als 2 TerraByte unter Linux

Bisher bin ich ja nie über Partitionen gekommen, die größer als 2 TB (TerraByte) waren und hatte deshalb auch nie Problem. Kürzlich aber mußte eine 12 TB große Partition her. Und schon ging der Blödsinn los. Der Kernel kann damit umgehen, der Controller (im konkreten Fall 3Ware 9650SE-16M [und unter Linux kann ich 3Ware nur empfehlen, da die Treiber im Kernel sind) und das XFS-Filesystem. Aber Tools wie fdisk können es z.B. nicht und wenn der falsche Partitionstabellentyp eingestellt ist, dann geht's auch nicht...

Von vorne... Sicherheitshalber sollte man beim Contoller die neueste Firmware einspielen. Damit wir dann überhaupt so grosse Partionen erstellen können, brauchen wir zwei physikalische Festplatten oder Raid's. D.h. für Partitionen wie / (root) oder /boot legen wir beispielsweise ein Raid 1 (Spiegel) auf /dev/sda an, wobei jede Partition nicht größer als 2 TB sein darf! Wenn wir dort nämlich eine Partitionstabelle anlegen mit z.B. fdisk, dann ist der Partitionstabellentyp msdos (wenn man es nicht ändert) und der kann nur mit Partition bis 2 TB umgehen. Ausserdem haben die Bootloader Grub und Lilo auch so ihre lieben Probleme mit größeren Partitionen. Die eigentliche Partition, die größer als 2 TB werden soll, legen wir beispielsweise nach /dev/sdb. Da dies wieder ein eigenes Device ist, können wir hierfür eine andere Partitionstabelle erstellen, die wir unbedingt brauchen.

Nochmal kurz zusammen gefaßt:

* Grub und Lilo verstehen nur Partitionstabellen (Labels) vom Typ msdos. Man kann also nicht von Partionstabellentypen mit gpt Label booten
* msdos Partitionstabellen können mit keinen Paritionen umgehen, die größer 2 TB sind.
* fdisk kann nicht mit Partitionen umgehen, die größer als 2 TB sind
* LVM hat eventl. auch Probleme mit logischen Volumes die größer als 2 TB sind (nicht probiert)
* Die Linux Installationsprogramme können nicht mit Partionen umgehen, die nicht vom Type msdos sind. gpt fällt also hierfür aus.

Zuerst sollte man sich mal das Tool parted installieren. Damit erstellen wir eine Partitionstabelle. Schauen wir uns mit parted mal an, welchen Typ Partionstabelle wir haben auf /dev/sda (hier ist schon alles entspechend angelegt mit fdisk):

host # parted /dev/sda print
Model: AMCC 9650SE-16M DISK (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
...

Partition Table: msdos für /dev/sda. Das ist also ok so für sda. /dev/sdb soll aber später einen anderen Typ bekommen nämlich gpt. Hier bitte Vorsicht! parted schreibt Änderungen sofort weg! Wenn man nicht aufpasst, überschreibt man die Daten auf der falschen Platte!  Legen wir also  interaktiv eine Partionstabelle für  /dev/sdb an:

host # parted /dev/sdb
(parted) mklabel gpt
(parted) quit

Sehen wir uns an, was parted gemacht hat:

host # parted /dev/sdb print
Model: AMCC 9650SE-16M DISK (scsi)
Disk /dev/sdb: 12.0TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End     Size    File system  Flags

Partition Table: gpt für /dev/sdb. Passt also. Anstatt gpt könnte hier später auch loop stehen. Jetzt könnte man natürlich auf die Idee kommen, die eigentliche Partion auf /dev/sdb anzulegen. Das hat bei mir nicht funktioniert. Partition anlegen (/dev/sdb1), Filesystem erstellen und mounten ging zwar, aber nach einem Reboot war die Partition wieder blos 2 TB groß! Lösung war, das XFS-Filesystem direkt auf /dev/sdb zu erstellen (also NICHT /dev/sdb1!):

mkfs.xfs /dev/sdb

Das ist auch rebootfest - zumindest bei mir. Vielleicht hilft das ja jemanden weiter...



Technorati Tags: , , , , , ,


Mittwoch Mai 30, 2007

Nvidia Linux Treiber 100.14.03/100.14.06 mit Kernel >= 2.6.20

Das schiesst ja schon wieder den Vogel ab...  In meinem neuen Rechner steckt eine MSI NX8600GTS-T2D EZ (256 MB) Grafikkarte drin. Dazu brauche ich für Linux die neuesten Beta-Treiber. Und was macht der Vogel, wenn ich den Treiber installieren will:

FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'paravirt_ops' 

Total geil... Ich HASSE diese closed Source Treiber. Das ist echt das Letzte. Aber was will man machen... Nun ich hatte ja auf meinem Debian 4.0 (Etch) einen eigenen Kernel 2.6.20 kompiliert und installiert. Und seit genau dieser Version ist das paravirt_ops dabei. Wenn man nun also den Source Code unter /usr/src/linux liegen hat, wechselt da rein und schaltet erstmal eine Option aus, in dem man die Kernel-Konfiguration startet:

make menuconfig

Dort findet man dann unter Processor type and features den Punkt Paravirtualization support (EXPERIMENTAL). Das schaltet man aus und beendet die Konfiguration. Anschliessend:

make prepare
make scripts

Dann kann man nochmal versuchen den Treiber zu installieren mit

sh NVIDIA-Linux-x86-100.14.06-pkg1.run

Das führt dann hoffentlich zu einem funktionierenden Treiber. Bei mir kommt allerdings jetzt eine Floating Point Exception...

/bin/sh: line 1: 17393 Floating point exceptionscripts/mod/modpost 

Das ist wirklich sowas von toll... Liebe Nvidia's, liebe ATI's: Ihr habt vom Treiber schreiben soviel Ahnung wie ich vom Raketen bauen. Nix für ungut...

Mehr Infos hier (vielleicht hilft's jemanden weiter):

Install fails with Debian 2.6.20-1-k7 + Linux-x86-1.0-9755/Linux-x86-100.14.03
[Installation Instruction] nvidia driver with kernel-rt-2.6.20-0119.rt8 on FC6
Using the NVidia driver on a Linux Kernel 2.6.2x with paravirtualization turned on

Technorati Tags: , , , ,


Mittwoch Jan 17, 2007

Today's Links

Save time with text editing one-liners - Ja,ja... Die guten, alten Tools cat, ed und sed.
Load Linux kernel module before SCSI module using mkinitrd
Ubuntuguide.org - Diese Seite beantwortet so ziemlich alle Fragen, die jemand über Ubuntu haben kann z.B. wie installiere ich ATI/Nvidia-Treiber, wenn ich das tun will, welche Programm nehme ich dafür, usw.
Firefox Extension JsView - Erlaubt das betrachten von JavaScript/CSS Dateien die nicht im HTML-Code eingebettet sind.
Ajax and XML: Five cool Ajax widgets
Convert video to any format with Hey!Watch - Erlaubt bis zu Videos/Monat in irgendein anderes Format umzuwandeln.
ICEfaces AJAX for Java EE - Ein umfangreiches Open Source AJAX Framework für Java EE Entwickler.
Log Buffer #27, A Carnival of the Vanities for DBAs

Technorati Tags: , , , , , , , , , , , , , , , , , , ,



Montag Jan 15, 2007

Today's Links

PG-Forum.de - Das deutsche PostgreSQL Forum
PostgreSQL Forums - Das englische PostgreSQL Forum
Deutsche PostgreSQL User Group
PostgreSQL Table Auditing module - Dieses Modul loggt Änderungen in einer Tabelle (insert, update, delete) mit.
PostgreSQL diff - Vergleicht zwei Schema Dumps und generiert eine Datei, um das alte Schema updaten zu können.
PostgreSQL Backup & Recovery - PostgreSQL Hotbackup mit dem pg_hotbackup Skript
A Primer on Spring's Data Access Object (DAO) Framework - Eine gute Einführung in das Thema
Common units in postgresql.conf - PostgreSQL 8.2 erlaubt nun Angaben in MB, KB und GB in der postgresql.conf
Firefox Extension Split Browser - Ermöglicht die Teilung des Browserfensters und das gleichzeitige Anzeigen mehrerer Webseiten.
dp.SyntaxHighlighter - JavaScript Syntax Highlighter
Nokia N800 Video Walkthrough
Desktop Virtualization with VMware Player and Workstation
The History of Hacking - Eine nette Videodokumentation (in Englisch). Lief irgendwann auch mal im Fernsehen.
Vinyl-Schallplatten digitalisieren - Kleine Anleitung dazu.
Linux Kernel in a Nutshell - Das Buch von O'Reilly gibt's hier zum kostenlosen Download
Flash MP3 Player / Flash FLV Player - Zwei sehr praktische und gut gemachte Flash Applikationen

Technorati Tags: , , , , , , , , , , , , , , , , , , , , , ,