Unterschiede zwischen den Revisionen 5 und 7 (über 2 Versionen hinweg)
Revision 5 vom 2025-11-30 12:29:25
Größe: 5706
Kommentar:
Revision 7 vom 2025-12-02 19:12:54
Größe: 5771
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 28: Zeile 28:
Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter '''/opt''' eingehängt ist. Das Konzept sieht vor, die Dienste als Docker Container laufen zu lassen. Die compose Dateien liegen in Unterverzeichnissen unter /opt.
Zeile 30: Zeile 30:
Das Konzept sieht vor, die Dienste als Docker Container laufen zu lassen. Die compose Dateien liegen in Unterverzeichnissen unter /opt. Mit '''nvtop''' kann der Status der GPUs angezeigt werden.

Über das Script '''/usr/local/bin/set-gpu-power.sh''' sind die GPUs aktuell auf 280W gedrosselt. Das führt zu nur sehr geringen Leistungseinbußen.

== Storage ==
Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter '''/opt''' eingehängt ist. Dadurch können große LLMs schnell in den Speicher geladen werden.
Zeile 36: Zeile 41:
Mit '''nvtop''' kann der Status der GPUs angezeigt werden.

Über das Script '''/usr/local/bin/set-gpu-power.sh''' sind die GPUs aktuell auf 280W gedrosselt. Das führt zu nur sehr geringen Leistungseinbußen.
Zeile 41: Zeile 42:
$ lsblk
Zeile 42: Zeile 44:
sda 8:0 0 465.8G 0 disk   sda 8:0 0 465.8G 0 disk
Zeile 44: Zeile 46:
nvme0n1 259:0 0 953.9G 0 disk   nvme0n1 259:0 0 953.9G 0 disk
Zeile 46: Zeile 48:
nvme1n1 259:1 0 953.9G 0 disk   nvme1n1 259:1 0 953.9G 0 disk
Zeile 48: Zeile 50:
nvme3n1 259:2 0 953.9G 0 disk   nvme3n1 259:2 0 953.9G 0 disk
Zeile 50: Zeile 52:
nvme2n1 259:3 0 953.9G 0 disk   nvme2n1 259:3 0 953.9G 0 disk
Zeile 52: Zeile 54:
nvme4n1 259:8 0 476.9G 0 disk   nvme4n1 259:8 0 476.9G 0 disk
Zeile 55: Zeile 57:
└─nvme4n1p3 259:11 0 473.9G 0 part   └─nvme4n1p3 259:11 0 473.9G 0 part
Zeile 71: Zeile 73:
Personalities : [raid0] [linear] [raid1] [raid6] [raid5] [raid4] [raid10]  Personalities : [raid0] [linear] [raid1] [raid6] [raid5] [raid4] [raid10]
Zeile 74: Zeile 76:
      
Zeile 76: Zeile 78:
Zeile 78: Zeile 79:

PING hat 2025 einen KI-Server angeschafft. Er heißt cogito.ping.de und befindet sich im Rechnerraum des Gebäudes in der Joseph-von-Fraunhofer-Strasse.

Technische Daten

  • CPU AMD Threadripper Pro 5955WX 16 cores 32 threads 4.5Ghz, boxed
  • Mainboard Asus Pro WS WRX80E Sage SE Wifi
  • 2x RAM Corsair Dominator Platinum RGB White UDIMM 64GB Kit DDR4-3600 CL18-19-19-39 (128GB gesamt)
  • GPU NVIDIA GeForce RTX 3090 Founders Edition 24 GB

  • GPU Zotac Gaming GeForce RTX 3090 Trinity OC 24 GB mit Noctua Lüftern

  • Fractal Design Define 7 XL Black TG Dark Tint schallgedämmt Big-Tower
  • Enermax LiqTech TR4 II 280 CPU-Wasserkühlung

  • Antec Neo Eco Gold Modular NE1300G m 1300W ATX 3.0 Netzteil
  • 4x SSD Lexar NM790 1TB M.2 NVMe PCIe 4.0
  • SSD Samsung EVO 850 500GB S-ATA
  • SSD Samsung PM951 512GB M.2 NVMe
  • 4x Noctua NF-P12 redux-1700 PWM 120mm Lüfter

siehe auch https://geizhals.de/wishlists/3870524

Zu dem Mainboard gehört auch eine PCIe 4.0 x16 Karte um vier PCIe 4.0 x4 NVMe SSDs anzuschließen. Dort befinden sich die 4 Lexar SSDs.

Durch die 2 GPUs stehen derzeit 48GB schnelles VRAM zur Verfügung.

Der Hauptspeicher ist auf 8 16GB-Module verteilt und nutzt so die 8 Speicherkanäle der AMD Threadripper Pro Architektur.

Software

Auf dem Rechner läuft derzeit Ubuntu 24.04 LTS.

Das Konzept sieht vor, die Dienste als Docker Container laufen zu lassen. Die compose Dateien liegen in Unterverzeichnissen unter /opt.

Mit nvtop kann der Status der GPUs angezeigt werden.

Über das Script /usr/local/bin/set-gpu-power.sh sind die GPUs aktuell auf 280W gedrosselt. Das führt zu nur sehr geringen Leistungseinbußen.

Storage

Die 4 Lexar NMVe SSDs bilden ein RAID0 das unter /opt eingehängt ist. Dadurch können große LLMs schnell in den Speicher geladen werden.

Die S-ATA SSD ist unter /var/local eingehängt.

Die PM951 NVMe SSD dient alt Bootlaufwerk und enthält auch das OS.

$ lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
sda                         8:0    0 465.8G  0 disk
└─sda1                      8:1    0 465.8G  0 part  /var/local
nvme0n1                   259:0    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme1n1                   259:1    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme3n1                   259:2    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme2n1                   259:3    0 953.9G  0 disk
└─md0                       9:0    0   3.7T  0 raid0 /opt
nvme4n1                   259:8    0 476.9G  0 disk
├─nvme4n1p1               259:9    0     1G  0 part  /boot/efi
├─nvme4n1p2               259:10   0     2G  0 part  /boot
└─nvme4n1p3               259:11   0 473.9G  0 part
  └─ubuntu--vg-ubuntu--lv 252:0    0   445G  0 lvm   /

$ blkid
/dev/nvme0n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="1d5de863-0634-7dd3-0e97-7dec7f076aea" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/nvme3n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="440d89df-a9d1-bfc9-3634-e57bd579023e" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/md0: LABEL="RAID" UUID="f57d1a53-8b0c-4119-a02b-e06632c7933d" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme2n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="eb15293d-d63b-c940-841d-a918a0ea0cba" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/mapper/ubuntu--vg-ubuntu--lv: UUID="98bd9894-3827-42bb-a0f4-d92931530cab" BLOCK_SIZE="4096" TYPE="ext4"
/dev/nvme1n1: UUID="ebe75b1c-af8f-5e3a-aa0f-9464c3951451" UUID_SUB="797f9137-3a34-2689-5d0b-a294ee05c9e4" LABEL="cogito:0" TYPE="linux_raid_member"
/dev/sda1: LABEL="ssd500" UUID="c57d324d-3c4f-4f5d-90ca-3859ca87f550" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ssd500" PARTUUID="48cd0c6a-827f-4882-ad1a-74e38e473d6b"
/dev/nvme4n1p3: UUID="XbVKNc-zwqt-qe2c-fj2e-8MRA-p8e0-XDQdsz" TYPE="LVM2_member" PARTUUID="5f6534ab-7909-40c3-b0b3-4865c7f90e5b"
/dev/nvme4n1p1: UUID="7006-F657" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f57a2cbc-da3a-4322-8921-42b86e1fc564"
/dev/nvme4n1p2: UUID="8256bdab-088d-437e-a82b-b94470729f4c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="6a4a7fc5-0f1a-4c23-8591-414239e1ebd8"

$ cat /proc/mdstat
Personalities : [raid0] [linear] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 nvme3n1[3] nvme2n1[2] nvme0n1[0] nvme1n1[1]
      4000288768 blocks super 1.2 512k chunks

unused devices: <none>

Ollama mit Open-WebUI

Für Inferenz läuft i.d.R ein Ollama Server. Als WebUI gibt es dafür ein open-webui.

Für das Umwandeln von Office Dokumenten (zum Beispiel ODT) läuft Apache Tika.

Das Docker compose file liegt unter /opt/ollama/

Auf buero.ping.de läuft ein nginx der open-webui unter https://buero.ping.de erreichbar macht. Für den Login nutzt bitte unser Single Sign-On.

Im Model-Selektor von Open-WebUI erscheint ein grüner Punkt neben den LLMs, die derzeit im GPU Speicher sind.

Der Ollama Server ist auch aus dem Internet erreichbar. Details dazu findet ihr unter Ollama-Brave-Leo-AI

Das Script /usr/local/bin/ollama-nogpu.sh ist dafür da den Ollam Container neu zu starten falls dieser mal wieder die GPUs nicht erkennt.

ComfyUI

ComfyUI (primär für KI-Bildergenerierung) ist noch nicht fertig installiert, es liegt unter /opt/comfyui und kann bei Bedarf gestartet werden. Vorher sollte ollama gestoppt werden, weil nicht genügend GPU VRAM für beide Dienste gleichzeitig vorhanden ist.

Systeme/KI-Server (zuletzt geändert am 2026-01-28 18:54:53 durch SvenNeuhaus)