Archiv der Kategorie: .technik

Synology NAS – Blue Blinking LED of Death

Recently, I upgraded the operating system of my Synology NAS DS416play from DSM 6.0.something to 6.1. Some new features, security fixes, the usual stuff. After the update, the NAS was performing some intensive task on the hard drives, however I couldn’t access the NAS. After three days I lost patience and did a cold reboot after which the DiskStation didn’t even finish the boot process. It got stuck somewhere after activating the hard drives, just flashing the blue LED. All status LEDs were off and of course no access possible. Yeay!

After extensive internet research, a day of hardcore hacking to get some boot output and more internet research I found the solution which would reset the operating system (including all settings) but leaves the data on the hard drives intact.

  • Load newest DSM .pat file from Synology’s webpage
  • Power off the NAS and remove all hard drives
  • Boot the NAS and wait for it to complain about missing hard drives (blinking status LED)
  • Connect to the NAS via a browser as you would normally do it (you might have to find out the IP using your router or use the Synology Assistant)
  • It should complain about missing hard drives (duh!)
  • Reinsert all hard drives and start the installation process by selecting the downloaded DSM image

After this, I just had to setup all my settings again but all files on the storage volume were still there – it even got recognized automatically.

Instagram-Mirror in eigenes WordPress-Blog

Nanu, ich hab doch tatsächlich vergessen, dass ich da noch einen Artikel in der Pipeline hatte. Alle »jetzt« beziehen sich also auf ein paar Monate zurück. Stellt euch einfach vor, ich habe eine kleine Zeitmaschine gebaut. Dann geht es wieder.

Ich hatte es schon lange vor zu tun, fand aber irgendwie nie die Zeit oder andere Sachen, die gerade wichtiger waren. Aber jetzt habe ich mich endlich drum gekümmert und das dreckige Geschirr gewaschen mir einen Instagram-Mirror angelegt. So wie Andi es schon vor längerer Zeit hat, habe ich mir jetzt auch eine lokale Kopie1 der Fotos von Instagram angelegt. Man weiß ja nie. Jedenfalls:

instalog . andregoerres . de

Dort gibt es dann ab jetzt die Fotos, die ich bei Instagram hochgeladen habe.

Die Technik dahinter

Dabei ist das ganze kein Hexenwerk, eigentlich ist es sogar ziemlich simpel. Ich glaube das aufwendigste ist noch, ein passendes Theme zu basteln. Jedenfalls sind folgende Komponenten involviert:

  • WordPress: Das Grundsystem ist ein WordPress-Blog. Im wesentlichen, weil ich sowieso WordPress-Blogs am Laufen habe und die Umgewöhnung dadurch nicht sehr schwer war.
  • Theme: Eine angepasste Variante des Themes, das ich auch hier benutze. Das wiederum eine angepasste Variante des Twentytwelve-Themes von WordPress ist.
  • DsgnWrks Instagram Importer: Ein Plugin, dass sich um den Import von Instagrambildern kümmert. Nach der Installation wird es mit euren Zugangsdaten und Konfigurationswünschen gefüttert und schon kommen die alten und zukünftige neue Fotos automatisch in die Datenbank. Pretty easy, genau was man haben will. [link]
  1. Lokal im Sinne von »unter meiner Kontrolle«. Die Daten liegen natürlich auf einem Server irgendwo entfernt im Rechenzentrum. []

Add a new disk to RAID array and enlarge LVM and ext4 file system

Inside my home server were three hard drives combined to a RAID 5. On this large volume I then created three logic volumes1 with the LVM (Logic Volume Manager). As time went by, space was running out on the large storage volume, so I bought a new hard drive. Here are the steps required, maybe it helps others (and a future myself), who want to do the same.

Note: All commands are supposed to be run as a super user. So either log into root or use sudo.
Another Note: Everything is done online with the file system mounted, but it is slower than having it not mounted.

Add hard drive to RAID

First add the hard drive to the RAID and let it reshape. For my 3 TB disk the reshaping took roughly two days, so be patient. In runs in the background, though.

$ mdadm --add /dev/md0 /dev/sde1
$ mdadm --grow --raid-devices=4 /dev/md0

You can check the progress with mdadm --detail /dev/md0:

    Update Time : Sun Jun 23 21:35:02 2013
          State : clean, reshaping 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

 Reshape Status : 56% complete
  Delta Devices : 1, (3->4)

A step I forgot at first and lead to errors during booting: adding the new hard disk to the RAID configuration file. Open the file /etc/mdadm/mdadm.conf with an editor of your choice.

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers
DEVICE /dev/sd[bcd]1

[...]

In line 10 add the new disk (sde1):

DEVICE /dev/sd[bcde]1

Now it should also work after rebooting.

Enlarge the physical volume on the RAID

We now have a larger virtual hard drive on the RAID array. Instead of just applying a filesystem to that, I first added another layer of structure, the LVM. So we have to tell the physical volume (comparable to a hard drive) that more space is available now (pvresize).

$ pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/md0   raid lvm2 a-   5.46t    0 
$ pvresize -v /dev/md0 
    Using physical volume(s) on command line
    Archiving volume group "raid" metadata (seqno 6).
    Resizing physical volume /dev/md0 from 1430729 to 2146094 extents.
    Resizing volume "/dev/md0" to 17580802048 sectors.
    Updating physical volume "/dev/md0"
    Creating volume group backup "/etc/lvm/backup/raid" (seqno 7).
  Physical volume "/dev/md0" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized
$ pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/md0   raid lvm2 a-   8.19t 2.73t

Enlarge the logical volume

Now the LVM nows that more space is available (like having a larger hard disk). The next step is to enlarge the partition on this hard drive, the logical volume. The procedure is pretty much the same:

$ lvs
  LV            VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  backup_user1  raid -wi-ao 500.00g                                      
  backup_user2  raid -wi-ao 250.00g                                      
  storage       raid -wi-ao   4.73t                                      
$ lvresize --extents +100%FREE /dev/raid/storage
  Extending logical volume storage to 7.45 TiB
  Logical volume storage successfully resized
$ lvs
  LV            VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  backup_user1  raid -wi-ao 500.00g                                      
  backup_user2  raid -wi-ao 250.00g                                      
  storage       raid -wi-ao   7.45t                                      

Enlarge the file system

Last part in the Inception-like volume chain: the file system (ext4 in my case). Resizing it takes a while (similar to the growing of the RAID), but it doesn’t run in the background. So if you are not working on the PC directly, use a screen session2.

$ df -h | grep storage
  /dev/mapper/raid-storage        4.7T  4.6T  118G  98% /srv/storage
$ resize2fs /dev/raid/storage
$ df -h | grep storage
  /dev/mapper/raid-storage        7,4T    4,6T  2,9T   62% /srv/storage

After doing this you should check the file system for errors. I believe this is asked after the resize process, unfortunately I forgot to look and just powered off the PC. To initiate a check manually, you call fsck.ext4 -pf /dev/mapper/raid-storage

  1. One large storage volume and two separate backup volumes. []
  2. I first forgot this, but aborting the resize doesn’t seem to have any effect on the data. []

Howto: Deutsches G1 rooten & CyanogenMod+Theme installieren

CyanogenMod Logo Ich will mal versuchen den Weg, den ich beschritten habe, um mein G1 mit Standard Android 1.5 (Cupcake, RC37) zu rooten und das alternative Betriebssystem Cyanogen zu installieren, hier zusammen zu fassen. Ich kann und will keine Garantie dafür übernehmen, dass bei euch irgendetwas kaputt geht, die Gefahr besteht immer. Allerdings haben es bereits viele gemacht, daher gehe ich davon aus, dass die Wahrscheinlichkeit ziemlich gering ist. Trotzdem: wer nicht weiß, was rooten bedeutet oder sich unsicher ist, wofür das ganze gut ist, der sollte es vielleicht lieber lassen.

Zum Zeitaufwand: Wenn alles einigermaßen glatt läuft solltet ihr in ~2 Stunden euer G1 wieder funktionsfähig und grundlegend eingerichtet vor euch finden. Ich habe sehr viel länger gebraucht, habe allerdings auch viel rumprobiert.

Aktuelle Info: Ich habe vor ca. einer Woche mein G1 gerootet, da gab es noch keine Bedenken mit Cyanogen. Mittlerweile hat sich Google beschwert, dass dort auch die lizenzrechtlich geschützten Programme wie Gmail, Maps und Market mit ausgeliefert werden. Angestrebt ist momentan, Ersatzsoftware dafür zu schreiben bzw. einzubinden. Mehr bei heise.de und auf der offiziellen Seite.
Aufgrund dieser Lizenzprobleme wurden die Downloads entfernt. Am Ende des Artikels habe ich noch kurz etwas zu Alternativen geschrieben.

Aber nun zur Anleitung… Weiterlesen