Abwärtskompatibilität zu USB 2.0
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.
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
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:
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.
pi@raspberrypi:~ $ sudo mkdir /mnt/HDD1 pi@raspberrypi:~ $ sudo mount /dev/sda1 /mnt/HDD1
In dieser Form kann man die Festplatte auch weiterhin in der Windows-Welt benutzen.
pi@raspberrypi:~ $ sudo apt-get install ntfs-3g
pi@raspberrypi:~ $ sudo mount -t ntfs-3g -o rw,uid=pi,gid=pi /dev/sda1 /mnt/HDD1
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.
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
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
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
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