VirtualBox HDD-Image vergrößern

Ich musste die Tage eine Windows-Server VM aufsetzen, um etwas zu testen. Da ich meine SSD nicht zu stark füllen wollte, habe ich dem Festplattenimage “nur” 20 GB dynamischen Speicher gegönnt.

Nach der Installation und ca. 220 Patches später sollte dann das eigentliche Tool installier werden. Aber dann waren die 20 GB auch schon voll. Nun dachte ich, es stünden mir viele Wege offen, den Platz zu erhöhen, aber denkste.

  1. VM runterfahren, Plattenimage vergrößern. Geht nicht. VirtualBox bietet diese Möglichkeit nicht, oder zumindest nicht unter OS X an.
  2. Zweites Image dranhängen und Windows sagen, dass es als Dynamischer Datenträger verwendet werden soll, womit das vorhandene Image bzw. die Platte C erweitert werden soll.
    Das Konvertieren in einen Dynamischen Datenträger hat prima mit C: und dem neuen D: geklappt, aber leider können Systempartitionen, also die, wo Windows selbst drauf ist, nicht erweitert werden.

Meine sehr umständliche Lösung:

  1. C: als 20GB-Image drin lassen, neues 40GB-Image als D: hinzufügen. Dabei auf die Reigenfolge der SATA-Ports der VM achten.
  2. In der VM: D: in einen Dynamischen Datenträger verwandeln, 20GB Partition anlegen.
  3. D: als Spiegelung von C: einrichten, syncen lassen.
  4. VM runterfahren, das erste Image, also C:, aus der VM entfernen.
  5. Mit Windows-DVD/Image die VM starten
  6. Reparaturkonsole ausführen, dort diskpart starten, mit select 0 und extend die Partition auf ihr Maximum erweitern, also 40GB.
  7. Mit exit und  exit diskpart und die Reparaturkonsole beenden.
  8. Neustarten und hoffentlich freuen.

IBM ServeRAID macht (keine) Probleme

Da hat man mal eine IBM xSeries 346 in den Fingern und ist enttäuscht, dass es die Platten nicht tun – denkt man! Wie kommt man da drauf? Man schaltet den Server ein und nur eine LED an den Bays bzw. den HDD-Rahmen gehen an. Nimmt man eine Platte raus und schiebt sie vorsichtig rein (vorsichtig = im Submilimeterbereich langsam) bleibt die LED an. Dreck im Bay? Wackler im SCSI-Stecker? Das BIOS verrät auch nix.

All das traf nicht zu. Das Tiny-RAID-Utility, das man als BIOS des RAID-Controllers bezeichnen kann, bietet so gut wie keine Infos und es lässt sich auch nichts konfigurieren. Man muss sich die ServeRAID Tool CD bei IBM runterladen.

Nach dem booten des Standard-Linux wird bei Ankunft in rc3 natürlich erstmal das wichtigste gemacht: Eine andere Konsolenschriftart geladen, welche Comic Sans nicht ganz unähnlich sieht. Und auch wichtig: Maus anschließen! Anderenfalls kotzt irgendein Maus-Programm die Konsole voll und man landet in einem Dialog, der sich via Tastatur nicht bedienen lässt. Tipp: USB-Mäuse funktionieren. In meinem Fall sollte ich erstmal den RAID-Controller updaten. Entgegen anderer Informationen im Internet _muss_ man nicht die exakte Version für seinen Controller laden.

Aber das Tool an sich funktioniert sehr gut. Hot Swap geht, Arrays definieren geht, HDDs identifizieren geht, Arrays identifizieren geht. Also alles was man braucht. Und da merkt man dann: Die LEDs der Platten sind komplett Software-Steuerbar. Ist die LED aus, beutetet das nur, dass die Platte nicht aktiv ist. So einfach ist das.

 

Algorithmik

Ich hatte gerade eine Idee für den schlechtesten Sortieralgorithmus, den es zum Sortieren von Dateien glaube ich gibt:

Aufgabe: Sortiere Dateien nach Größe.

Lösung: Starte pro Datei einen Thread und kopiere die Dateien nach /tmp. Die Reihenfolge, in der die Threads enden ist die aufsteigende Folge Ihrer Größe. Voraussetzung ist ein fairer Scheduler und kein Caching. Das wird vor dem kopieren am besten abgestellt oder man kopiert direkt auf Blockebene der Festplatte.

Compile Error s2-liplianin Ubuntu 9.10

Und wieder eine Notiz an die Welt da draußen, die mit ihren anfänglichen C-Kenntnissen auf die Suche nach einem Fehler waren, der sich wie in folgendem Listing ausdrückt: http://pastie.org/pastes/421392
Leider spuckt Google auch nur dieses Listing von jemandem, der scheinbar das selbe Problem hat, aus.
Damit Google auch das hier findet: error: 'struct v4l2_ext_controls32' has no member named 'controls'

Und was wars? Nix! Im wahrsten Sinne. Es fehlt nämlich eine Datei in den Linux-Headern bei Ubuntu. Wie kann das kommen? Ganz einfach: Das Makefile löscht sie nach einem make rminstall. Ich denke nicht, das dies beabsichtigt ist.

Na ja, wie bekommt man es wieder hin?
aptitude purge linux-headers-2.6.31-17-server
aptitude install linux-headers-2.6.31-17-server

Klar, es gibt auch ein reinstall, aber dabei kam die Datei nicht zurück. Und diejenigen, die mit dpkg blind umgehen können, können auch rausfinden, welche Datei nun gefehlt hat. Ich wollte (musste) schnell den TV-Empfang wiederherstellen. Blöd, wenn das dev-System im Wohnzimmer steht.

Ach, und noch ein Tipp für die Leute, die Mercurial noch nie angewendet haben: make update holt Änderungen ab und “aktiviert” diese dann im lokalen repo. Dann einfach make -j4 && make install und wir sind wieder aktuell.

Von OpenSource und Bäckern

Als ich noch bei einer mittelständischen Computerkette im Verkauf tätig war (ich war jung, Student und brauchte das Geld) kam es zur folgenden Situation mit einem Kunden:

  • Kunde Hallo! Ich brauche einen DSL-Router. Welchen können Sie empfehlen?
  • Ich Der Linksys Router hier ist ein guter.
  • Kunde Ah ja. Warum? Also, was macht ihn besser als die anderen?
  • Ich Nun, z.B. hat er eine open source Firmware… Kunde unterbricht mich, er scheint mit dem Begriff was anfangen zu können.
  • Kunde Oh! Nein, dann nehme ich den auf keinen Fall. Der ist ja dann total unsicher.

Tja, was soll man da sagen. Zur Erklärung oder Aufklärung kam es nicht, der Kunde verließ ziemlich schnell das Geschäft. In Gedanken beschäftige ich mich manchmal dennoch mit der damaligen Situation, denn wer weiß, wann man nochmal jemandem erklären muss, was open source ist und warum das nicht sicherer ist. Ich würde es nun folgendermaßen tun:

Stellen Sie sich zwei Bäcker nebeneinander vor. Der rechte verkauft Rosinenbrötchen, der andere ebenfalls. Geht man beim rechten ins Geschäft und fragt nach dem Rezept, weil sie einem so gut schmecken, würde man nur ausgelacht mit der Begründung “Da könnt ich ja gleich den Laden zu machen!”.
Beim linken hängt das Rezept im Schaufenster. Jeder kann es sehen. Man muss nichtmal ins Geschäft dafür gehen. Es kommt vor, dass Omas ins Geschäft kommen und sagen “Wenn sie das Mehl in der Milch länger quellen lassen, schmeckts noch besser!”. Oder ein Lebensmittelingenieur gibt den Tipp, die Fliegen durch Rosinen zu ersetzen. Alles wird vom Bäcker ausprobiert und wenn es sich bewährt hat, mit ins Rezept aufgenommen.
Klar, manche schreiben sich das Rezept ab und backen es nach. Da ist auch nichts gegen einzuwenden. Die meisten bleiben jedoch bei ihrem Stammbäcker, denn dort wird das Rezept am ehesten verbessert.
Mit der Zeit kommen sogar mehr Kunden zum linken. Denn so ein Kerngeschäft wie der tägliche Brot- und Brötcheneinkauf ist Vertrauenssache.

Wer jetzt den Einwand hegt “Hey, der Bäcker der rechten Bäckerei könnte sich doch auch immer am Rezept der linken bedienen!” hat volkommen recht. Die Lizenz besagt jedoch, dass alle Änderungen jedoch dem Autor des Rezepts mitgeteilt werden müssen.