Alle Beiträge von adlerweb

IBM DS32xx-Series: Logical volume vergrößern

Eigentlich eine einfache Sachlage: Eine IBM SAN mit einem einzelnen RAID-Array und 3 Volumes – seinerzeit wurde nicht der gesamte Speicherplatz zugewiesen, da die Wachstunsraten nicht absehbar waren und man sobei Bedarf dynamisch vergrößern könne. Leider ist das Vergrößern eines logischen Volumes (auf IBM-Sprache „Dynamic Logical Drive Expansion (DVE)„) offenbar eine sehr esoterische Aufgabe, daher hat IBM die Funktion auch nicht in die GUI integriert. Wir müssen also an die Konsole – meist ist hiermit die serielle Schnittstelle gemeint, da das Gerät in meinem Fall jedoch auswärts steht musste ich einen anderen Weg suchen: Auf Rechnern mit installiertem „IBM System Storage DS Storage Manager“ (aka der GUI) findet sich im Installationsordner auch einen CLI-Client. Über eine Shell kann das Programm mit folgender Syntax aufgerufen werden:

Linux
./smcli [ip] -c "befehl"
Windows
SMcli.exe [ip] -c "befehl"

Der erste Schritt besteht darin den Namen des logischen Gerätes zu finden – das geht zwar auch über die GUI, aber jetzt ist die CLI ja eh schon offen. Wichtig: Die Befehle müssen mit einem Semikolon abgeschlossen werden.

SMcli.exe -c "show logicalDrives;"

Performing syntax check...
Syntax check complete.
Executing script...
STANDARD LOGICAL DRIVES------------------------------
SUMMARY
Number of standard logical drives: 3
See other Logical Drives sub-tabs for premium feature information.
NAME STATUS CAPACITY RAID LEVEL ARRAY DRIVE TYPE
DRIVE1 Optimal 380 GB 5 1 SAS
DRIVE2 Optimal 300 GB 5 1 SAS
DRIVE3 Optimal 600 GB 5 1 SAS
DETAILS
[...]

Zur Sicherheit werfen wir auch noch einen Blick auf das zugehörige Array mit der Nummer 1 um zu bestätigen, dass wir tatsächlich noch freien Platz haben:

SMcli.exe [ip] -c "show array [1];"

[...]
ARRAY 1 (RAID 5)
Associated logical drives and free capacities:

LOGICAL DRIVE NAME CAPACITY
[...]
Free Capacity 100 GB
[...]

So weit so gut – wir haben in Drive2 zur Zeit 300GB Speicher, 100GB sind im Array noch frei. Um nun Drive2 um 50GB zu vergrößern nutzen wir folgenden Befehl – dieser kann online, also ohne Ausfall durchgeführt werden:

SMcli.exe [ip] -c "set logicalDrive["DRIVE2"] addCapacity=50GB;"

Performing syntax check...
Syntax check complete.
Executing script...
Script execution complete.
SMcli completed successfully.

Je nach Aufbau des Systems dauert die endgültige Ausführung mehrere Stunden, so ist es ggf. nötig bestehende Volumes zu Verschieben um eine Fragmentierung zu vermeidel – sowas dauert natürlich. Leider konnte ich keinen CLI-Befehl für eine Fortschrittsanzeige finden – in der GUI wird während des Vorgangs eine Notiz im Kasten „Status“ unter „Operations in Progress“ angezeigt.

Nachdem das LV vergrößert wurde muss dies auch im Betriebssystem mitgeteilt werden. Linux bekommt die Änderung meist automatisch mit, wenn nicht hilft ein SCSI-Rescan. Ext-Dateisysteme lassen sich mit resize2fs vergrößern, die meisten Anderen haben ebenfalls passende Befehle im Gepäck. Unter Windows ab Server 2008 lassen sich die Aktionen über die Datenträgerverwaltung (Unterpunkt der Computerverwaltung) durchführen, ältere Versionen beherrschen ein Online-Resize nicht, hier hilft eine passende Boot-CD.

eGK Runde 3 – jetzt kommt die härtere Gangart?

Puh – über ein Jahr war Ruhe, nach meinem 3-Seiten-Fragebogen aus dem Juli 2012 kam nichts mehr zum Thema eGK bei mir an. Vor einigen Tagen dann doch wieder Post der Krankenkasse, welche in ihrer Formulierung in meinem Augen schon langsam in Richtung Nötigung geht. Hier der Text:

Ihre bisherige Krankenversicherungskarte wird durch die neue elektronische Gesundheitskarte abgelöst. Im kommenden Jahr brauchen Sie eine elektronische Gesundheitskarte, um in Kliniken und Arztpraxen behandelt werden zu können. Da die neue Karte ein Foto zeigt, möchten wir heute erneut daran erinnern, dass wir Ihre Mithilfe brauchen.

Bitte schicken Sie uns so schnell wie möglich Ihr Foto zu*. Das können Sie mit dem beigefügten Vordruck per Post machen, per MMS** oder via Internet. Auf dem Vordruck finden Sie Tipps hierzu.

…und wieder einmal heißt es „Profis am Werk“ – wie auch zuvor fällt an dieser Stelle die Argumentation bezüglich erhöhter Sicherheit zusammen: Wie soll ein Foto die Sicherheit erhöhen, wenn man nicht prüft, ob tatsächlich der Versicherte abgebildet ist? (OK, immerhin wurde das Trollface eines Kollegen nach einigen Tagen abgelehnt) Viel besser, wir übertragen es auch gleich noch über unsichere Medien und nutzen leicht zugängliche Daten zur Identifikation! Die BoschBKK geht laut Beitrag im Heise-Forum sogar noch einen Schritt weiter und überträgt die gesammelten Daten unverschlüsselt übers Netz.

Warum ist die Gesundheitskarte so wichtig? Ihre bisherige Versichertenkarte verliert ab dem 01.01.2014 ihre Gültigkeit. Sie kann in 2014 von Ärzten, Therapeuten und Kliniken nicht mehr akzeptiert werden. Auch Karten mit einem Gültigkeitsdatum über das Jahr 2013 hinaus verlieren ihre Gültigkeit. Wir möchten Sie vor den damit verbundenen Unannehmlichkeiten bewahren. Des halb ist es uns so wichtig Sie rechtzeitig zu informieren.

Bedauerlich, dass die rechtliche Grundlage nicht genannt wird. Die Kate stellt ja quasi einen Vertrag mit fester Laufzeit dar – den mal einfach einseitig zu Kündigen ist ein interessanter Ansatz. Die Kassenärztliche Vereinigung Hamburg sah sich bereits genötigt die Aussage gegenüber Heise online zurückzuziehen – die alten Karten behielten „im Rahmen einer unbefristeten Übergangsregelung“ ihre Gültigkeit.

Die neue Gesundheitskarte können Sie gleich nach Erhalt, also schon in diesem Jahr, einsetzen.
Sorgen Sie am besten heute noch dafür, dass Sie in Kürze eine neue Versichertenkarte erhalten.

Anekdote am Rande: Viele Ärzte haben die neuen Leser noch nicht in Betrieb und bitten beim Vorzeigen der eGK nochmal mit der alten Karte vorbei zu kommen. Die meisten derzeit ausgelieferten Leser beherrschen zudem nur die erste Version der eGK – Version 2 und 3 sind aber schon unterwegs.

Nunja, die Antwort ging diesmal schnell: Rechtsgrundlage, fehlende Zertifizierung und der Fragenkatalog der letzten Antwort nochmals als Kopie – diesmal wegen der „Dringlichkeit“ aber mit Frist.

DVB-T Stick auf Abwegen: RTL_SDR

DVB-T – da war ja was – dieser Fernsehstandard, der irgendwie nie richtig funktionierte. Tja, entsprechend sind passende Empfangsgeräte recht günstig im Netz zu finden – unter anderem USB-Empfänger für den Rechner. Nach einem Vortrag bei der LUG-MYK zum Thema mitschneiden von ADS-B, also Flugzeugpositionen wie beispielsweise auf Flightradar24.com zu sehen, wurde ich hellhörig. Ich wusste zwar, dass man alte Analogfernseher zu Diagnosezwecke nutzen kann (z.B. hatte ich so getestet, ob meine ersten AVR-Funkmodule Daten absetzen), aber mit digitalem Tuner am PC ergeben sich da ja ganz neue Möglichkeiten.

Passenderweise fand sich auch bei mir ein passender Empfänger mit dem RTL2838U-Chipsatz in der Bastelkiste. Leider nur mit einem FC0013-Tuner, welcher nicht bis zu den Flugfrequenzen hoch kommt, aber da gibt es ja noch mehr: Das damals mit TV geprüfte 433MHz-Band z.B. – hier treiben sich viele Heimgeräte wie z.B. Funkthermometer, Funkschalter, etc herum. Passenderweise gibt es auch hierzu bereits mit rtl_433 ein passendes Programm – hiermit lassen sich Signale auf dieser Frequenz mitlesen.

Neben der Ausgabe von Rohdaten kann die Software auch die Protokolle der folgenden Funksensoren dekodieren:

  • Rubicson Temperature Sensor
  • Registering protocol[02] Prologue Temperature Sensor
  • Registering protocol[03] Silvercrest Remote Control
  • Registering protocol[04] ELV EM 1000
  • Registering protocol[05] ELV WS 2000
  • Registering protocol[06] Waveman Switch Transmitter

Ein kurzer Testlauf brachte bei mir auch direkt ein paar Geräte zum Vorschein:

[…]
Found 1 device(s):
0: Realtek, RTL2838UHIDIR, SN:
Using device 0: ezcap USB 2.0 DVB-T/DAB/FM dongle
Found Fitipower FC0013 tuner
[…]
Tuned to 433920000 Hz.
Sensor temperature event:
protocol = Rubicson/Auriol
rid = f5
temp = 20.2
xxxx
[…]
Remote button event:
model = Waveman Switch Transmitter
id = A
channel = 1
button = 1
state = off
00 00 00
[…]
Sensor temperature event:
protocol = Rubicson/Auriol
rid = f5
temp = 20.3
xxxx

Wie man sieht meldet sich ein Funkthermometer mit 20,2°C welches ich direkt im Haus verorten konnte – ebenfalls dabei war das ausschalten einer Funksteckdose – diese ist hier im Haus sicher nicht zu finden und geht wohl auf das Konto der Nachbarschaft. Erschreckend ist dabei, dass auch diese Funksteckdose offenbar vollständig unverschlüsselt läuft, es könnte also jeder mit etwas Ahnung der Geräte nach belieben ein- und ausschalten.

Eine kleine Hotline-Gute-Nacht-Geschichte

Ich begrüße zur kleinen Aufmunterungsstunde „warum starre Strukturen manchmal nicht wirklich helfen“. Ausgangspunkt ist die telefonische Diskussion mit einer technischen Hotline wegen eines ausgefallenen Gerätes mit recht klarem Fehlerbild. Die Daten sind leicht geändert um nicht direkt auf deren Radar zu landen. Es sprechen die Kundendienstmitarbeiterin, mein Hirn und mein Mund.

*Zentrale Kundendienstnummer*
Guten Tag, xxx yyy, Kundendienst zzz, wie kann ich ihnen helfen
Ja guten Tag, zzz, ich habe hier einen defekten $Produknummer, hatte ich gestern schon mal angerufen, bei dem die Spe…
Ich bräuchte bitte ihre Kundennummer
*sigh* Ihr habt bisher nur ~40 Kunden und ich rufe alle 2 Tage an, aber ok…
123456
…und bitte die Produktnummer
…die ich eben schon erwähnt hatte…
$Produktnummer
Lässt sich das Gerät einschalten?
Nein, es liegt ein defekt a…
Haben sie geprüft ob die Stromversorgung funktioniert
Es ist die Spei…
Bitte beantworten sie die Frage mit Ja oder Nein.
SRSLY? Ein IVR wäre ähnlich flexibel
Die Speicherkarte fürs Betriebssystem ist defekt, das hat nichts mit der Stromversorgung zu tun, aber ja, sie funktioniert.
OK, haben sie bereits geprüft ob ein anderes Gerät an der selben Steckdose funktioniert
EOL
Hören sie, ich bin kein Endkunde sondern Techniker
(vor allem, da ihre Anlagen kaum wer ohne Technikfimmel nutzen wird)
– könnten sie mich bitte zu einem Techniker durchstellen?
Ich möchte sie nochmals bitten meine Fragen zu beantworten, andernfalls kann ich ihnen nicht helfen. Ich bin für technische Anliegen inklusive einer speziellen Schulung für das Gerät ausgebildet und kann den Fehler schnell eingrenzen wenn sie meine Fragen beantworten.
Na die Ausbildung kann nicht länger als 10 Minuten + Hilfebaum gewesen sein
Haben sie bereits geprüft ob ein anderes Gerät an der selben Steckdose funktioniert
Ja
Wenn man den Spannungsprüfer als Gerät bezeichnet 😉
Leuchtet Power-LED?
Nein
Lässt sich das Gerät durch drücken des Netzschalters einschalten?
OK, kürzen wir ab…
Nein
Was auch ein Wunder wäre da der Stecker durch den vorherigen Test ja noch ausgesteckt ist *hust*
OK, dann liegt ein Defekt vor
YOU DON’T SAY!
wir schicken einen Techniker vorbei.
Ach, ich dachte sie wären Techniker. Sind wir mal entgegenkommend
Können sie den Techniker bitten uns vorher zwecks Termin zu kontaktieren?
…dann kann ich den Fehler auch direkt erklären…
Ja, richte ich aus.
Geht doch
—snip—
*Telefon Techniker*
Jo Morje, xxx von zzz – se hann n kaputt Kest von uss?
Na endlich ein Techniker 😀
Richtig, $Produktnummer
Jo, bei mir stäht nur „Defekt, jeht net an“ – stemmt datt?
Grob schon, aber um es abzukürzen: Die Speicherkarte fürs OS ist hinüber
Ahsu, jo, seh schon. Sescher, dat et nur die Kaat es?
Denke schon, die hat eine schwarze Stelle, Bootloader auf der Seriellen‘ meldet sich aber findet nix, Slot scheint nichts abbekommen zu haben.
Ei wenn dat su iss – isch sein eh hei ausser Jejend
never would have guessed
Künnt isch su inner ner halwen Stund‘ vorbei kumme? Kaat hann esch noch en im Audu.
Jo, passt.

20 Minuten später war die neue Karte drin und das System wieder OK. Wäre sicher auch einfacher gegangen…

top: write error

Nutzt man unter Linux „top“ kombiniert mit einer Pipe kommt es in einigen Fällen derzeit zu einem Fehler, z.B.

top -bn1 | head -n 10
top: write error

Schuld ist offenbar ein Bug in einer top-Version. Der Fehler tritt auf wenn die Pipe vor top beendet wird, also z.B. bei „head“ – in diesem Fall erhält top ein SIGPIPE und wirft die Meldung. Betroffen ist 3.3.6 (Gentoo) und einige 3.3.7 (Fedora). Unter Fedora sollte >=3.3.7-6.fc19 aus Stable Abhilfe schaffen, unter Gentoo ist der Fehler auch in der aktuellen Testing (3.3.8) vorhanden, hier muss manuell der zugehörige 1-Zeilen-Patch aus dem Upstream eingespielt werden. Gentoo-Bug mit genauerer Beschreibung existiert jetzt, ich vermute mal der Einzeiler sollte es recht schnell schaffen.

—Update—

Status: CONFIRMED -> RESOLVED
Resolution: FIXED

*procps-3.3.8-r1 (25 Oct 2013)

25 Oct 2013; Lars Wendler +procps-3.3.8-r1.ebuild:
Fixed write error when using top with pipes. Thanks to Florian Knodt for reporting this in bug #485952.

ownCloud-Update hängt in Schleife

Wenn das letzte ownCloud-Update immer nur „Updating ownCloud to version 5.0.11, this may take a while.“ anzeigt und die Meldung ohne Fehler ständig neu lädt hilft es den Nutzer des Webservers wieder Schreibrechte auf die nötigen Verzeichnisse zu geben…

Linux LVM: „Hängende“ Snapshots entfernen

Was ein Murks: Einer meiner Server brauchte dank Problem des Festplattentreibers einen Neustart. Nach dem Boot fiel mir auf, dass im LVM-System einige alte Snapshots von Systemtests liegen geblieben sind. Schnell mal aufräumen – oder auch nicht, denn dummerweise wollte LVM da nicht mitspielen. Erst mal eine kleine Übersicht des Systems:

root@rescue:~# pvs
PV VG Fmt Attr PSize PFree
/dev/md2 storage lvm2 a-- 2.70t 1.57t
root@rescue:~# vgs
VG #PV #LV #SN Attr VSize VFree
storage 1 32 9 wz--n- 2.70t 1.57t
root@rescue:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
[...]
test-www4-boot storage swi-a-s- 512.00m www4-boot 0.10
test-www4-data storage swi-a-s- 70.00g www4-data 38.39
test-www4-root storage swi-a-s- 20.00g www4-root 63.09
test2-www4-boot storage swi-a-s- 512.00m www4-boot 0.10
test2-www4-data storage swi-a-s- 70.00g www4-data 37.31
test2-www4-root storage swi-a-s- 20.00g www4-root 59.58
www4-boot storage owi-a-s- 512.00m
www4-data storage owi-a-s- 73.24g
www4-root storage owi-a-s- 20.00g
[...]

Man sieht die mit „test“ beginnenden Snapshots welche entfernt werden sollen. Üblicherweise reicht hier ein lvremove welches folgende Ausgabe brachte:

Do you really want to remove active logical volume test-www4-root? [y/n]: y
/sbin/dmeventd: stat failed: No such file or directory
/sbin/dmeventd: stat failed: No such file or directory
Unable to deactivate open storage-test--www4--root-cow (253:2)
Failed to resume test-www4-root.
libdevmapper exiting with 3 device(s) still suspended.

Ab diesem Punkt ist die LVM-Verwaltung faktisch tot. Kommandos wie z.B. lvs hängen sich auf und geben keine Ausgabe. Erst nach einem Reboot ist die Verwaltung wieder möglich, dann taucht der soeben gelöschte test-www4-root wieder auf, ist allerdings kein Snapshot mehr und lässt sich nun auch fehlerfrei entfernen. Keine schöne Lösung, denn ich habe viele Snapshots und dazu eine Abneigung gegen Reboots. Mit strace findet man im hängenden Zustand folgendes:

ioctl(3, DM_TABLE_STATUS, 0x81b5a40) = 0
stat64("/dev/storage/www4-root", {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
fstat64(4, {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_LARGEFILE) = 5
ioctl(5, BLKGETSIZE64, 0xffcc33a8) = 0
close(5) = 0
close(4) = 0
open("/dev/storage/www4-root", O_RDONLY|O_LARGEFILE) = 4
ioctl(4, BLKGETSIZE64, 0xffcc3378) = 0
close(4) = 0
stat64("/dev/storage/www4-root", {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
fstat64(4, {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
ioctl(4, BLKBSZGET, 0x8174458) = 0
_llseek(4, 21474770944, [21474770944], SEEK_SET) = 0
read(4,

Der Auslöser scheint also die Snapshotquelle zu sein, nicht der Snapshot selbst. Eine Suche brachte mich zur Debian-ML auf der das Problem beschieben wird – dankenswerterweise funktionierte der Workarround auch in meiner Situation:

– Der lvremove-Befehl wird in einer Shell abgesetzt und hängt sich auf
– Auf einer zweiten Shell setzt man die Snapshotquelle manuell mit folgenden Befehl wieder in Gang: „dmsetup resume /dev/storage/www4.root“
– Die erste Shell reagiert wieder, der Snapshot sollte verschwunden sein
– Ggf. zurückgebliebene Laufwerksleichen werden mit „dmsetup remove /dev/storage/xxx“ entfernt

Gentoo: net-misc/bridge-utils lässt sich nicht installieren

Dafuq? Während einer Gentoo-Installation ließ sich plötzlich eine 802.1d Ethernet-Bridge nicht mehr korrekt ansprechen. Ein „brctl“ zeigt lediglich „Command not found“. Kann doch nicht sein – net-misc/bridge-utils habe ich eben noch emerged und es gab keine Fehler. Ein „equery files bridge-utils“ zeigt ebenfalls seltsames:

equery files bridge-utils
* Searching for bridge-utils ...
* Contents of net-misc/bridge-utils-1.4:
/usr
/usr/share
/usr/share/doc
/usr/share/doc/bridge-utils-1.4
/usr/share/doc/bridge-utils-1.4/AUTHORS.bz2
/usr/share/doc/bridge-utils-1.4/ChangeLog.bz2
/usr/share/doc/bridge-utils-1.4/FAQ.bz2
/usr/share/doc/bridge-utils-1.4/FIREWALL.bz2
/usr/share/doc/bridge-utils-1.4/HOWTO.bz2
/usr/share/doc/bridge-utils-1.4/PROJECTS.bz2
/usr/share/doc/bridge-utils-1.4/README.bz2
/usr/share/doc/bridge-utils-1.4/RPM-GPG-KEY.bz2
/usr/share/doc/bridge-utils-1.4/SMPNOTES.bz2
/usr/share/doc/bridge-utils-1.4/THANKS.bz2
/usr/share/doc/bridge-utils-1.4/TODO.bz2
/usr/share/doc/bridge-utils-1.4/WISHLIST.bz2
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/brctl.8.bz2

Die Binary fehlt?!

Ein neues emerge unter Aufsicht zeigt auch warum:

[...]
error: field 'ip6' has incomplete type
make[1]: *** [libbridge_if.o] Error 1
make[1]: *** [libbridge_init.o] Error 1
make[1]: *** [libbridge_devif.o] Error 1
[...]

Das kompilieren bricht wegen modifizierter Header-Dateien bei Kerneln => 3.8 ab, das ebuild registriert dies jedoch nicht und meldet eine erfolgreiche Installation. Die Lösung sollte inzwischen bereits verfügbar sein: Mit der seit einigen Tagen stabilen Version net-misc/bridge-utils-1.5 sollte das Problem behoben sein.

Unt-T U60e PCB / Case Pictures

Bereits vor einiger Zeit zeigte ich wie man bei einem UniT/UniTrend UT60 (aka. Voltcraft VC-820) die Sicherung tauscht – pasend dazu hier noch ein paar Fotos des Inneren und Äußeren, welche ich für die Dokumentation des Sigrok-Projektes aufgenommen habe.

Update: Hier noch eineige Bilder der ICs: