Wenn man seine eigene Cloud auf einem Raspberry Pi betreiben möchte, wird zwangsläufig doch einiges auf die SD-Karte geschrieben, über die NextCloudPi Oberfläche kann man die Daten und auch die Datenbank auf eine USB-Festplatte auslagern, das verringert die schreibzugriffe auf die SD-Karte ist aber noch nicht perfekt.
Viel besser ist es die SD-Karte komplett auf die USB-Festplatte zu klonen, was eine erhebliche Performancesteigerung mit sich bringt (vorausgesetzt die USB-Festplatte ist performanter als die SD-Karte).
Type | Lesen | Schreiben |
---|---|---|
SanDisk MicroSDHC Ultra 32GB | 41 MB/s | 20 MB/s |
SSD Netac M.2 SATA N535N-128GB | 267 MB/s | 85 MB/s |
Befehle für das selbertesten
Schreiben
Um nun den Test der Schreibgeschwindigkeit zu starten ist folgender Befehl zuständig:
sudo dd if=/dev/zero of=/tmp/test.img bs=1G count=1 oflag=dsync
Konsolenausgabe:
1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 53.322 s, 20.1 MB/s
Lesen
Vor dem Test der Lesegeschwindigkeit muss einmal der Cache des Dateisystems geleert werden, sonst werden die Daten daraus gelesen und ihr erhaltet absurd schnelle Ergebnisse (bei mir waren es ca. 612 MB/s).
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches
Um nun den Test der Lesegeschwindigkeit zu starten ist folgender Befehl zuständig:
sudo dd if=/tmp/test.img of=/dev/null bs=1G count=1
Konsolenausgabe:
1+0 records in 1+0 records out 1073741824 bytes (1.1 GB, 1.0 GiB) copied, 25.9974 s, 41.3 MB/s
Migration starten
SD-Karte auf das USB-Laufwerk klonen
- USB-Stick oder USB-Festplatte einstecken
- Überprüfen, ob das USB-Laufwerk ersichtlich ist (mmcblk0 ist die SD-Karte)
sudo fdisk -l sudo lsblk
- rpi-clone installieren
git clone https://github.com/billw2/rpi-clone.git cd rpi-clone sudo cp rpi-clone rpi-clone-setup /usr/local/sbin sudo rpi-clone-setup -t $(hostname -s) sudo rpi-clone -s
- SD-Karte auf das USB-Laufwerk klonen
sudo rpi-clone sdX
sdX durch die richtige Festplatte ersetzen, in der Regel sollte es sda sein.
Raspberry Pi für das Booten von einem USB-Laufwerk aktivieren
Der betreffende Raspberry Pi muss einmalig mit Raspbian von einer SD-Karte gebootet werden. Den USB-Boot-Modus aktiviert man mit einem Parameter in der Konfigurationsdatei „/boot/config.txt“.
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Wichtig ist jetzt das Raspberry Pi neu zu starten und das ohne SD-Karte, wenn jetzt alles wieder startet läuft das Betriebssystem über die USB-Festplatte.
sudo halt
Dateisystem vergrössern
Da in den meisten fällen die USB-Festplatte grösser ist wie die SD-Karte kann mit dem folgenden Befehl die Partition angepasst werden:
sudo raspi-config --expand-rootfs