Disks: Hardware

In Linux finden sich unterhalb von /dev die im System installierten Festplatten.

  • /dev/sda bezeichnet dabei die erste SCSI oder SATA-Festplatte, /dev/sdb die zweite usw.

  • /dev/sda1 bezeichnet die erste Partition auf der ersten SCSI-/SATA-Platte, /dev/sdc2 die zweite Partition auf der dritten Platte.

  • Die 27. Disk heisst dann /dev/sdaa.

  • Ältere IDE-Festplatten werden über /dev/hda (erste Platte) angesprochen.

  • Virtuelle Festplatten (z.B. per VirtIO) über /dev/vd*.

lsblk zeigt die Disk-Struktur, lsblk --nodeps --output SIZE --noheadings --include 8,252 nur die von sd- und vd-Devices.

Festplatte aktivieren

Rescan: Unter Linux aktiviert man eine im laufenden Betrieb hinzugefügte Festplatte, indem man alle SCSI-Adapter (SCSI-Hosts) bittet, nach neuen Geräten zu suchen (kann pro SCSI-Host einige Sekunden dauern):

for scsi_host in /sys/class/scsi_host/*;
do
    echo SCSI-Host: $scsi_host
    echo '- - -' > $scsi_host/scan
done

Festplatte klonen

Ein Weg, eine Festplatte von /dev/sda nach /dev/sdb zu klonen:

dd if=/dev/sda of=/dev/sdb bs=100M status=progress

Tipp

Komfortabler geht es mit pv, da es unter anderem den Fortschritt in Prozent, die Schreibgeschwindigkeit in MB/s und den erwarteten Fertigstellungszeitpunkt anzeigt. Es muss aber extra installiert werden:

yum -y install pv
pv < /dev/sda > /dev/sdb

Festplatte leeren

Entgegen der landläufigen Meinung genügt die einmalige Ausführung der folgenden Befehle, um gespeicherte Daten endgültig zu löschen - was bei der Grösse heutiger HDDs > 4 TB tagelang dauert.

Bemerkung

Die Empfehlung, magnetische Datenträger mehrere Male zu überschreiben, stammt noch aus der Zeit der Disketten mit ihren im Vergleich zu heutigen Festplatten meterbreiten Spuren.

Mit Bordmitteln:

  • Der moderne Weg:
    # wipefs does not erase the filesystem itself nor any other data from the device
    wipefs --all /dev/sdb
  • Der klassische Weg - Festplatte /dev/sdb mit Nullen überschreiben:
    dd if=/dev/zero of=/dev/sdb status=progress
    alternativ: pv < /dev/zero > /dev/sdb
  • Partition /dev/sdb1 mit Zufallswerten überschreiben:
    dd if=/dev/random of=/dev/sdb1 status=progress

dd bedeutet „Dataset Defintion“ - scherzhaft wird das Programm aber auch „Disk Destroyer“ oder „Delete Data“ genannt.

hdparm

Betriebsparameter einer Festplatte ändern.

yum -y install hdparm

# get settings
hdparm -I /dev/sda

# activate write cache
hdparm -W1 /de/sda

# deactivate write cache
hdparm -W0 /dev/sda

SSDs, Solid State Disks

Bauformen:

  • 2.5“

  • M.2: am häufigsten 2280 (bedeutet 22mm breit, 80mm lang); aber auch 2230, 2242, 2260, 22110

  • mSATA: hat sich im Gegensatz zu M.2 nicht durchgesetzt

  • U.2: Bauform für Server

Hinweis

Nicht jeder Rechner kann von M.2-SSDs mit SATA-Protokoll booten.

Flash-Betriebsarten - von schnell nach langsam:

  • SLC: Single Level Cell, 1 Bit Speicherkapazität pro Zelle

  • MLC: gilt als haltbarer

  • TLC: Triple Level Cell, 3 Bit. Bereits hier wird oft ein Cache verwendet, z.B. auf Basis von SLC.

  • QLC: Quadruple Level Cell, 4 Bit. Der SSD-Controller muss beim Lesen 16 verschiedene Spannungslevel unterscheiden. Langsam.

  • PLC: Penta Level Cell, 5 Bit - für Cold Storage geeignet

SLC-Caches bestehen meist aus einem statischen und einem dynamischen Teil, der vom Grad der Befüllung abhängt. Flash-Speicher wird heute meist in 64 bis 96 Lagen arrangiert (3D).

IOPs-Einschätzung:

  • mässig: 65k

  • mehr als ausreichend für einen Desktop-Rechner: 125k

  • hoch: > 250k

Protokolle

  • AHCI

  • NVMe 1.3, 1.4

  • SAS

  • SATA

Schnittstellen

  • SATA 3G: 3 GBit/s, veraltet, aber auch für aktuelle HDDs noch ausreichend schnell

  • SATA 6G: 6 GBit/s, 500 MB/s schreibend bzw. 560 MB/s lesend für SSDs und NVMe erwartbar

  • PCIe - max. mögliche theoretische Bandbreiten bei sequentiellen Übertragungen:

    Lanes

    PCIe 1.0

    PCIe 2.x

    PCIe 3.0

    PCIe 4.x

    x1

    250MB/s

    500MB/s

    985MB/s

    1969MB/s

    x4

    1000MB/s

    2000MB/s

    3940MB/s

    7876MB/s

    x8

    2000MB/s

    4000MB/s

    7880MB/s

    15752MB/s

    x16

    4000MB/s

    8000MB/s

    15760MB/s

    31504MB/s

    • Prozessor und Mainboard müssen die Anzahl der Lanes unterstützen

    • Stand 2021-03 sind SSDs mit PCIe 3.0 x8 oder PCIe 4.0 x4 und NVMe 1.4 aktuell

    • 4.0: bei sequentiellen Übertragungen mehr als zehnfache Geschwindigkeit einer SATA-SSD, max 7.8 GB/s netto bei sequentiellen Übertragungen möglich

Intels Serverprozessoren bieten Stand 2020-07 max. PCIe 3.0.

Built on 2024-02-28