Zusätzliche Festplatte und Spindown: Unterschied zwischen den Versionen
Gargi (Diskussion | Beiträge) |
Gargi (Diskussion | Beiträge) |
||
Zeile 92: | Zeile 92: | ||
Bitte beachtet, dass es nicht unbedingt bei allen Platten möglich ist, diese schlafen zu legen. Ich denke mal, dass es bei den meisten neuen externen Platten schon möglich ist, aber meine Hand ins Feuer möchte ich da nicht unbedingt legen. | Bitte beachtet, dass es nicht unbedingt bei allen Platten möglich ist, diese schlafen zu legen. Ich denke mal, dass es bei den meisten neuen externen Platten schon möglich ist, aber meine Hand ins Feuer möchte ich da nicht unbedingt legen. | ||
<br><br> | <br><br> | ||
Es kann sein, dass sich die Festplatte das Setting nach einem Neustart nicht gemerkt hat. Sollte das der Fall sein, dann editieren wir die /etc/rc.local . Dort fügen wir VOR dem '''exit 0''' folgendes ein: | Es kann sein, dass sich die Festplatte das Setting nach einem Neustart nicht gemerkt hat. Sollte das der Fall sein, dann editieren wir die /etc/rc.local . Dort fügen wir VOR dem '''exit 0''' folgendes ein: | ||
Zeile 98: | Zeile 97: | ||
hdparm -B1 /dev/sda | hdparm -B1 /dev/sda | ||
hdparm -S1 /dev/sda</pre></code> | hdparm -S1 /dev/sda</pre></code> | ||
==Das Datei Journaling== | ==Das Datei Journaling== |
Version vom 2. Mai 2022, 05:15 Uhr
Ziel ist es, eine große Datenplatte an die Pi zu hängen, die dann im Netz als Datenspeicher/Lieferant dienen soll. Dabei möchte ich natürlich nicht, dass die Platte ständig läuft, sondern sich nach einer gewissen Zeit an Inaktivität abschaltet. Dies macht allerdings auch nur dann Sinn, wenn in dem Bereich nicht ständig auf die Platte zugegriffen werden muss. Deswegen überlegt, ob Ihr den Spindown wirklich benötigt. Manche Festplatten unterstützen diese Funktion auch nicht. Meine Platte soll dann als /home gemountet werden.
Mehr Power auf den USB Ports unter Raspbian
Sollte die Platte gerade bei älteren Pi Modellen nicht anlaufen, dann kann man natürlich mittels eines stromgestützten USB Hub die Sache in den Griff bekommen, aber wir wollen ja nicht unbedingt noch ein Gerät an den Heimserver stöpseln.
Der Grund dafür ist, dass die Ports mit maximal 600mA belegt sind. Wer mag, kann die Stärke auf 1,2A über einen kleinen Parameter erhöhen. Editiert unter Raspbian deshalb die /boot/config.txt . Ergänzt diese durch den Parameter
max_usb_current=1
Startet danach den Raspi 2 neu. Jetzt sollte die externe Festplatte laufen.
Denkt daran, dass Euer Netzteil entsprechend Leistungsstark sein muss. Ein 5V 1A Gerät genügt hier nicht. Das Netzteil muss zumindest 2A liefern. Ob mehr notwendig ist hängt davon ab, ob Ihr noch mehr am USB betreiben wollt.
Daten sichern und Platte vorbereiten
Bitte auf Eurem Server als root via ssh einloggen und anmelden.
Jetzt lege ich ein neues Backupverzeichnis an:
cd /
mkdir home_save
Dorthin kopiere ich alle meine Heimatverzeichnisse:
cp -ar /home/* /home_save/
Kontrolle, hierbei insbesondere dann auf die Zeitstempel und User / Gruppen achten:
cd /home_save
ls -la
Jetzt kille ich einfach die Dateien in Home:
rm -R /home/*
Auf das leere Verzeichnis mounte ich dann später meine Platte und kopiere meine gesicherten Daten zurück.
Jetzt bereiten wir unsere neue Platte vor. Hierzu wird diese angesteckt und via fdisk-l gecheckt, als was diese erkannt wird. Vermutlich /dev/sda1 . Wenn die Platte neu gekauft ist, dann wird diese bereits mit vfat formatiert sein. Das machen wir natürlich als erstes weg.
fdisk /dev/sda
Danach drücken wir die Taste d um die vorhandene Partition zu löschen. Nun drücken wir n um eine neue Partition anzulegen. Dazu dann p , damit das eine primäre Partition wird. Den Beginn und das Ende der Sektoren übernehmen wir einfach, da wir eine Platte vollständig nutzen wollen. Danach stellen wir das Dateisystem ein. Dazu drückt die Taste t und gebt 83 für Linux ein. Jetzt noch auf w drücken, damit die Änderungen auf die Platte geschrieben werden. Alle alten Dateien auf der Platte sind damit erstmal "weg" (stimmt nicht ganz, aber zumindest so nicht mehr ansprechbar).
Als nächstes legen wir ein ext4 Dateisystem an. Dazu geben wir dann folgenden Befehl ein:
mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/sda1
Die Parameter in diesem Befehl bewirken, dass die inode Tabelle bereits beim Erstellen des Dateisystem geschrieben (ausgenullt) wird. Deswegen dauert in unserem Fall das Erstellen der ext4 Partition einwenig länger, dafür muss dies dann nicht später beim ersten Mount im Hintergrund erledigt werden. Das dauert wesentlich länger und verhindert, dass wir in der Zeit mit dem Thema "Spindown" gleich weiter machen können .
Wenn die Platte dann fertig vorbereitet ist, müssen wir noch unsere fstab anpassen und als /home einbinden. Zuerst ermitteln wir die UUID der Festplatte:
blkid /dev/sda1
Ihr bekommt dann einen Zeichenstring geliefert:
/dev/sda1: UUID="XXXX-12345..."
Kopiert den String zwischen den " " in die Zwischenablage und editiert die fstab:
nano /etc/fstab
Dort füge ich dann folgende Zeile gemäß Euren echten Zeichenstring ein:
UUID=XXXX-12345... /home ext4 defaults,noatime 0 2
Das mountet mir dann meine Platte als /home. Speichern und neu starten.
Daten zurückkopieren und Spindown mit hdparm
Wenn die Pi durchgestartet ist, solltet Ihr nun auf das Verzeichnis /home zugreifen können. Kopiert nun Eure Sicherung zurück:
cp -ar /home_save/* /home
Zuerst sehen wir uns mal den APM Level an, der voreingestellt ist:
root@meinepi:/# hdparm -B /dev/sda
/dev/sda:
APM_level = 1
Das sieht gut aus. Solltet Ihr einen Wert gleich oder größer 128 haben, dann stellt Ihn entsprechend herunter:
hdparm -B1 /dev/sda
Danach legen wir noch fest, nach welcher Zeit sich die Platte schlafen legen soll. Soll das nach 5 Sekunden bereits passieren, dann gebt folgenden Befehl ein:
hdparm -S1 /dev/sda
Der Wert 1 steht für 5 Sekunden. D.h. bei 1 Minute (60 Sekunden) wäre es
hdparm -S12 /dev/sda
Bitte beachtet, dass es nicht unbedingt bei allen Platten möglich ist, diese schlafen zu legen. Ich denke mal, dass es bei den meisten neuen externen Platten schon möglich ist, aber meine Hand ins Feuer möchte ich da nicht unbedingt legen.
Es kann sein, dass sich die Festplatte das Setting nach einem Neustart nicht gemerkt hat. Sollte das der Fall sein, dann editieren wir die /etc/rc.local . Dort fügen wir VOR dem exit 0 folgendes ein:
hdparm -B1 /dev/sda
hdparm -S1 /dev/sda
Das Datei Journaling
Was unter ext4 einem in die Suppe spucken kann ist das Datei Journaling. Dieses ist natürlich wichtig was die Datensicherheit betrifft, denn deswegen wird in kurzen regelmäßigen Abschnitten auf die Platte zugegriffen und das langfristige Einschlafen verhindert. Wem das Herunterfahren der Platte wichtiger ist, muss dann den Tod sterben und das Journaling abstellen.
Um das zu erledigen muss die Platte erstmal ausgehängt werden:
umount /dev/sdax
(für das x bitte Eure korrekte Partitionsnummer eingeben)
Danach stellen wir das Journaling ab:
tune2fs -O ^has_journal /dev/sdax
Prüft die Platte dann nochmal auf Fehler:
fsck /dev/sdax
Danach startet die Kiste einfach neu oder mountet die Platte per Hand wieder. Diese Einstellung ist permanent! Wenn Ihr das Journaling wieder einschalten wollt, dann geht das über ein
tune2fs -O has_journal /dev/sdax