Knoten-Festplattensupport
Longhorn unterstützt jetzt die Hinzufügung und Verwaltung verschiedener Festplattentypen (AIO, NVMe und VirtIO) auf Knoten, was die Dateisystemoperationen, die Speicherleistung und die Kompatibilität verbessert.
-
Verbesserte Speicherleistung
Die Nutzung von NVMe- und VirtIO-Festplatten ermöglicht schnellere Festplattenoperationen und verbessert die Gesamtleistung erheblich.
-
Dateisystemkompatibilität
Festplatten, die mit NVMe- oder VirtIO-Treibern verwaltet werden, bieten eine bessere Unterstützung für Dateisysteme, einschließlich fortschrittlicher Operationen wie Trimming.
-
flexibel
Benutzer können den Festplattentyp auswählen, der am besten zu ihrer Umgebung passt: AIO für traditionelle Setups, NVMe für Hochleistungsanforderungen oder VirtIO für virtualisierte Umgebungen.
-
Verwaltungsfreundlichkeit
Die automatische Erkennung von Festplattentreibern vereinfacht die Hinzufügung und Verwaltung von Festplatten und reduziert den administrativen Aufwand.
Eine Festplatte auf Longhorn-Knoten konfigurieren
Longhorn erkennt automatisch den Festplattentyp, wenn node.spec.disks[i].diskDriver auf auto gesetzt ist, und optimiert die Speicherleistung. Die Erkennung und Verwaltung erfolgt wie folgt:
-
NVMe-Festplatte: verwaltet von spdk_tgt unter Verwendung des nvme bdev-Treibers, und
node.status.diskStatus[i].diskDriverist aufnvmegesetzt. -
VirtIO-Festplatte: verwaltet von spdk_tgt unter Verwendung des virtio bdev-Treibers, und
node.status.diskStatus[i].diskDriverist aufvirtio-blkgesetzt. -
Andere Festplatten: verwaltet von spdk_tgt unter Verwendung des aio bdev-Treibers, und
node.status.diskStatus[i].diskDriverist aufaiogesetzt.
Alternativ können Benutzer node.spec.disks[i].diskDriver manuell auf aio setzen, um die Verwendung des aio bdev-Treibers zu erzwingen.
Um NVMe- und VirtIO-Festplatten zu unterstützen, müssen Sie den BDF (Bus, Gerät, Funktion) der Festplatte als Pfad finden, der zum Longhorn-Knoten hinzugefügt werden soll. Die folgenden Beispiele bieten eine Einführung in die Konfiguration von NVMe-Festplatten, VirtIO-Festplatten und anderen Festplatten.
Hinweis
Sobald diese Festplatten vom NVMe bdev-Treiber oder VirtIO bdev-Treiber verwaltet werden, anstelle des Linux-Kernel-Treibers, werden sie nicht unter /dev/nvmeXnY oder /dev/vdbX aufgeführt.
Verwendung von NVMe-Laufwerken
-
Listen Sie die Laufwerke auf
Zuerst identifizieren Sie die verfügbaren NVMe-Laufwerke auf Ihrem System, indem Sie den folgenden Befehl ausführen:
# ls -al /sys/block/
Beispielausgabe:
lrwxrwxrwx 1 root root 0 Jul 30 12:20 loop0 -> ../devices/virtual/block/loop0 lrwxrwxrwx 1 root root 0 Jul 30 12:20 nvme0n1 -> ../devices/pci0000:00/0000:00:01.2/0000:02:00.0/nvme/nvme0/nvme0n1 lrwxrwxrwx 1 root root 0 Jul 30 12:20 nvme0n1 -> ../devices/pci0000:00/0000:00:01.2/0000:05:00.0/nvme/nvme1/nvme1n1
-
Holen Sie sich die BDF des NVMe-Laufwerks
Identifizieren Sie die BDF des NVMe-Laufwerks
/dev/nvme1n1. Aus dem obigen Beispiel ist die BDF0000:05:00.0. -
Fügen Sie das NVMe-Laufwerk zu
spec.disksvonnode.longhorn.iohinzunvme-disk: allowScheduling: true diskType: block diskDriver: auto evictionRequested: false path: 0000:05:00.0 storageReserved: 0 tags: []
-
Überprüfen Sie das
status.diskStatus. Das Laufwerk sollte ohne Fehler erkannt werden, und der diskDriver sollte aufnvmegesetzt sein.
Hinweis: Alternative Laufwerkskonfiguration
Wenn Sie das Laufwerk über einen anderen Pfad hinzufügen, wie zum Beispiel:
nvme-disk: allowScheduling: true diskType: block diskDriver: auto evictionRequested: false path: /dev/nvme1n1 storageReserved: 0 tags: []In diesem Fall wird das Laufwerk vom aio bdev-Treiber verwaltet, und das
node.status.diskStatus[i].diskDriverist aufaiogesetzt.
Verwendung von VirtIO-Laufwerken
Die Schritte sind ähnlich wie bei NVMe-Laufwerken.
-
Listen Sie die Laufwerke auf
Zuerst identifizieren Sie die verfügbaren VirtIO-Laufwerke auf Ihrem System, indem Sie den folgenden Befehl ausführen:
# ls -al /sys/block/
Beispielausgabe:
lrwxrwxrwx 1 root root 0 Jul 30 12:20 loop0 -> ../devices/virtual/block/loop0 lrwxrwxrwx 1 root root 0 Feb 22 14:04 vda -> ../devices/pci0000:00/0000:00:02.3/0000:04:00.0/virtio2/block/vda lrwxrwxrwx 1 root root 0 Feb 22 14:24 vdb -> ../devices/pci0000:00/0000:00:02.6/0000:07:00.0/virtio5/block/vdb
-
Holen Sie sich die BDF des VirtIO-Laufwerks
Identifizieren Sie die BDF des VirtIO-Laufwerks
/dev/vdb. Aus dem obigen Beispiel ist die BDF0000:07:00.0. -
Fügen Sie das VirtIO-Laufwerk zu
spec.disksvonnode.longhorn.iohinzunvme-disk: allowScheduling: true diskType: block diskDriver: auto evictionRequested: false path: 0000:07:00.0 storageReserved: 0 tags: []
-
Überprüfen Sie das
status.diskStatus. Das Laufwerk sollte ohne Fehler erkannt werden, und dasdiskDriversollte aufvirtio-blkgesetzt sein.
Hinweis: Alternative Laufwerkskonfiguration
Wenn Sie das Laufwerk über einen anderen Pfad hinzufügen, wie zum Beispiel:
nvme-disk: allowScheduling: true diskType: block diskDriver: auto evictionRequested: false path: /dev/vdb storageReserved: 0 tags: []In diesem Fall wird das Laufwerk vom aio bdev-Treiber verwaltet, und das
node.status.diskStatus[i].diskDriverist aufaiogesetzt.
Verwendung von AIO-Laufwerken
Wenn weder NVMe- noch VirtIO-Treiber ein Laufwerk verwalten können, wird Longhorn standardmäßig den aio bdev-Treiber verwenden. Benutzer können dies auch manuell konfigurieren.
-
Fügen Sie das Laufwerk zu
spec.disksvonnode.longhorn.iohinzu.default-disk-loop: allowScheduling: true diskDriver: aio diskType: block evictionRequested: false path: /dev/loop12 storageReserved: 0 tags: []
-
Überprüfen Sie node.status.diskStatus. Das Laufwerk sollte ohne Fehler erkannt werden, und das
node.status.diskStatus[i].diskDriversollte aufaiogesetzt sein.