Festplatte für Raspberry Pi / UP Board mounten

2.5 Zoll Festplatten gibt es in verschiedenen Größen mit 2TB, 3TB und sogar 4TB meist als externe Quelle mit USB3.0 Anschluss. Die Western Digital (WD) Festplatten eignen sich am besten für Single Board Computer, da diese abwärtskompatibel zu USB 2.0 (max. 500mA) sind und somit ohne zusätzliche Stromquelle oder Y-Kabel auskommen. Von WD gibt es dann noch die sogenannten WDLabs PiDrive Devices für den Raspberry Pi 4 B & Co.

Empfehlung: Speichermedien - Festplatten / SSD + Kabel:

Festplatte mit EXT4:

Die meisten Festplatten werden "ready to use" mit einer Partition im NTFS Format ausgeliefert und muss wie folgt umformatiert werden.

pi@raspberrypi:~ $ sudo fdisk -l
...
Disk /dev/mmcblk0: 7.5 GiB, 8010072064 bytes, 15644672 sectors
...
Device         Boot Start      End  Sectors  Size Id Type
/dev/mmcblk0p1       8192    93813    85622 41.8M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      94208 15644671 15550464  7.4G 83 Linux

Disk /dev/sda: 292.5 GiB, 314038026240 bytes, 613355520 sectors
...
Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        2048 613355519 613353472 292.5G  7 HPFS/NTFS/exFAT

1. Partition(en) erstellen

pi@raspberrypi:~ $ sudo fdisk /dev/sda
...
Command (m for help): p
Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        2048 613355519 613353472 292.5G 83 Linux

Wichtig: Alle Daten gehen unwiderruflich verloren!

Befehle:

  • Partition löschen: d
  • Partition erstellen: n, p, [enter], [enter], [enter] oder eine Größe +8G
    für mehr Partitionen wiederholen
  • Partition ansehen: p
  • Die Änderungen schreiben: w

2. Partition(en) formatieren

pi@raspberrypi:~ $ sudo mkfs.ext4 -L NEW_HDD_NAME -E lazy_itable_init=0,lazy_journal_init=0 /dev/sda1

Diese Formatierung vermeidet den "ext4lazyinit" Prozess, der eine geringe I/O-Bandbreite  (ca. 11-13 Mb/s) im Idle Betrieb verbraucht. Merkt man durch das Blinken der LED an der Festplatte obwohl nicht gelesen oder geschrieben wird.

3. Partition(en) mounten

pi@raspberrypi:~ $ sudo mkdir /mnt/HDD1
pi@raspberrypi:~ $ sudo mount /dev/sda1 /mnt/HDD1

Festplatte mit NTFS:

In dieser Form kann man die Festplatte auch weiterhin in der Windows-Welt benutzen.

1. ntfs-3g installieren

pi@raspberrypi:~ $ sudo apt-get install ntfs-3g

2. Partition(en) mounten

pi@raspberrypi:~ $ sudo mount -t ntfs-3g -o rw,uid=pi,gid=pi /dev/sda1 /mnt/HDD1

Automatisch beim hochfahren mounten:

Um Festplatten dauerhaft zu mounten, kann man den obigen Mount-Befehl in ein Start-Script setzen oder in die fstab-Datei eintragen. Um Verwechslungen bei mehreren Festplatten zu vermeiden, sollte die Device-Angabe (/dev/sda1) mit der UUID (UUID=59d68b0d-663a-47af-8498-963f61cfbc3d) ersetzt werden.

1. UUID herausfinden

pi@raspberrypi:~ $ sudo blkid -o list
device               fs_type   label      mount point              UUID
-------------------------------------------------------------------------------------------------------
/dev/mmcblk0p1       vfat      boot       /boot                    B60A-B262
/dev/mmcblk0p2       ext4                 /                        9a7608bd-5bff-4dfc-ac1d-63a956744162
/dev/mmcblk0                              (in use)                 
/dev/sda1            ext4      TESTHDD    (not mounted)            59d68b0d-663a-47af-8498-963f61cfbc3d

2. Festplatte in fstab eintragen

pi@raspberrypi:~ $ sudo nano /etc/fstab

UUID=59d68b0d-663a-47af-8498-963f61cfbc3d /mnt/HDD1 ext4 defaults 0 0

oder

UUID=59d68b0d-663a-47af-8498-963f61cfbc3d /mnt/HDD1 ntfs-3g defaults,uid=pi,gid=pi,noatime 0 0

3. Befehl vor dem Herunterfahren

pre-shutdown.sh Datei erstellen:

pi@raspberrypi:~ $ nano pre-shutdown.sh

#!/bin/bash
sudo umount /mnt/HDD1
sleep 10

pi@raspberrypi:~ $ chmod +x pre-shutdown.sh

pi@raspberrypi:~ $ sudo nano /etc/systemd/system/hdd-shutdown.service

[Unit]
Description=Pre-Shutdown Processes for HDD
DefaultDependencies=no
Before=shutdown.target

[Service]
Type=oneshot
ExecStart=/home/pi/pre-shutdown.sh

[Install]
WantedBy=reboot.target shutdown.target

pi@raspberrypi:~ $ sudo systemctl daemon-reload
pi@raspberrypi:~ $ sudo systemctl enable hdd-shutdown.service
pi@raspberrypi:~ $ sudo systemctl start hdd-shutdown.service

Sonstiges

PARTUUID herausfinden, Raspberry PI für cmdline.txt

pi@raspberrypi:~ $ lsblk -o name,label,partuuid

NAME        LABEL   PARTUUID
sda                 
└─sda1      Root_Pi b6b48dbd-01
mmcblk0             
├─mmcblk0p1 boot    2fed7fee-01
└─mmcblk0p2 rootfs  2fed7fee-02

Kommentare:

Erlaubte HTML-Tags: <strong>, <a href="">, <em>
Info: Kommentar wird nach Bearbeitung zeitnah freigeschaltet.