11.07.2010

Swap-Speicher des DNS-323 auf das USB-Laufwerk verschieben

Das DNS-323 bietet die Möglichkeit, an den externen USB-Anschluss Speichermedien wie Flash-Speicher oder Festplatten anzuschließen. Inspiriert durch Ulis Tutorial habe ich daher eine 2,5″ Festplatte an den USB-Anschluss angehängt, auf der mein fun_plug mitsamt Squeezeboxserver läuft. Doch obwohl die aktiv genutzten Programme auf dem externen USB-Laufwerk liegen, weigert sich mindestens eine der beiden internen Festplatten dauerhaft ausgeschaltet zu bleiben bzw. läuft teilweise sogar dauerhaft. Dies ist dem Swap-Speicher zu verschulden, der auf den beiden internen Festplatten angelegt ist.

cat /proc/swaps

offenbart die gegenwärtige Verteilung der Swaps:

Filename           Type            Size       Used       Priority
/dev/sda1          partition       530104  62188        -1
/dev/sdb1          partition       530104  0            -2

Wie zu erkennen, liegt auf beiden Festplatten eine ca. 500 MB große Swap-Partition, wobei sda1 (rechtes Laufwerk) eine höhere Priorität genießt, also primär genutzt wird. Da dieser irrsinnig große Swapspeicher selten über 500 MB genutzt werden dürfte, erklärt sich damit, warum vor allem die rechte Festplatte nie aufhören will, sich zu drehen.

Nun erstellen wir zunächst eine leere Daten mit der Größe von z.B. 512 MB auf dem USB-Laufwerk:

dd if=/dev/zero of=/mnt/HD_a2/usbstorage/swapfile bs=1M count=512

Anschließend muss die Datei zu einem Swapfile konvertiert werden:

mkswap /mnt/HD_a2/usbstorage/swapfile

Nun kann das swapfile als nutzbarer Swap-Speicher ins System eingebunden werden:

swapon -p 0 /mnt/HD_a2/usbstorage/swapfile

Die beiden Swaps auf den internen Platten können nun ausgebunden werden:

swapoff /dev/sda1
swapoff /dev/sdb1

Bei Ausklinken werden automatisch alle verwendete Daten auf dem Swap auf das höchstpriorisierte Swap, also den USB-Speicher verschoben werden.
Eine letzte Kontrolle mittels

cat /proc/swaps

sollte uns nun den USB-Speicher als einziges Swap-Laufwerk bestätigen:

Filename                          Size       Used     Priority
/mnt/HD_a2/usbstorage/swapfile    524280     45964   0

Damit sind nun zunächst alle wichtigen Schritte abgeschlossen und nach Ablauf der eingestellten Wartezeit werden nun auch beide Platten den spindown vollziehen. Über

/bin/dmesg | /bin/grep HD1 | /bin/tail -1

bzw.

/bin/dmesg | /bin/grep HD2 | /bin/tail -1

lassen sich die letzten Aktionen der Platten überwachen:

*            HD1 stand by now!        *
*            HD0 stand by now!        *

Das Swapfile bleibt auf dem USB-Stick dauerhaft erhalten, muss jedoch beim Boot wieder neu eingebunden werden. Das lässt sich leicht automatisieren. Ich habe dazu die Datei fun_plug.init mit dem Editor vi bearbeitet:

vi  /ffp/etc/fun_plug.init

Dort an den Anfang, z.B. unter “# fixup firmware issues” anfügen:

swapon /mnt/HD_a2/usbstorage/swapfile -p 0

Da zum Zeitpunkt der Ausführung noch keine weiteren Dienste wie MediaTomb, Twonkey, SqueezeboxServer etc. geladen sind, ist der Swap auf der internen Platte noch ungenutzt. Ich empfehle daher, diese für den Notfall zu belassen und nicht zu löschen. Denn schlägt die Einbindung des Swaps auf dem USB-Speicher aus irgendwelchen Gründen fehl, würde das NAS ganz ohne Swap da stehen und vermutlich einige Dienste nicht mehr laden.

Anschließend speichern und schließen. Nach einem reboot sollte die Swap-Tabelle dann so aussehen:

cat /proc/swaps
 Filename                                Type            Size    Used    Priority
/dev/sda1                               partition       530104  0       -1
/dev/sdb1                               partition       530104  0       -2
/mnt/HD_a2/usbstorage/swapfile          file            524280  35800   0

Fertig!

Sobald das NAS fertig geladen hat und die Wartezeit für den Spindown vorrüber ist, sollten dann auch endlich beide Festplatten sauber abschalten!

Kommentare

[…] und Schnäppchen im Netz « Logitech SqueezeCenter 7.5 auf einem NAS (DNS-323) betreiben Swap-Speicher des DNS-323 auf das USB-Laufwerk verschieben […]

[…] wodurch sich mindestens eine Festplatte nie ganz abschalten kann. Es empfiehlt sich daher, den Swap-Speicher auch auf das USB-Speicher zu legen, wenn dieser groß und schnell genug […]

Hinterlasse einen Kommentar

Dein Kommentar:

Kategorien