HP microserver GEN8 pomalý zapis na disky

smaza

HP microserver GEN8 pomalý zapis na disky
« kdy: 01. 11. 2023, 09:40:12 »
Dobrý den,
snažím se postavit domací NAS/virtualizační server na HP microserver GEN8 ve specifikaci:
CPU: Xeon E3-1220L V2
RAM: 16GB ECC
HDD: 4x WD30EFRX WD Red 3TB
SSD: ADATA 120GB
Gb LAN

Měl jsem to vymyšleno tak, že na SSD nainstaluju Proxmox a z HDD vytvořím  ZFS stripped mirrors (analogie RAID10). V Proxmoxu bych pak spravoval LXC a Docker kontejnery včetně NASu se sambou.

Jakmile jsem měl vše připraveno, zkoušel jsem nějaké testovací kopírování velkých souborů na smb share. Při startu kopírování se rychlost pohybovala na horních limitech Gigabitové sítě, nicméně po několika sekundách rychlost spadla prakticky na nulu. IO delay se pohybovalo v rozmezí 50-80% CPU load > 6, kopírování spadlo. Zkoušel místo ZFS použit BTRFS ale vysledek byl prakticky stejný. Nakonec jsem zkoušel sekveční zápis na disky pomocí

Kód: [Vybrat]
# dd if=/dev/zero of=/mnt/test/tempfile bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 53.5769 s, 20.0 MB/s

Co jsem se díval na bechmarky, tak by se měl zápis pohybovat nad 120MB/s.

Zatím jsou to zkoušel na dvou discích, výsledek stejný. Nevíte v čem může být problém případně co otestovat?


Děkuji.


modnar

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #1 kdy: 01. 11. 2023, 10:04:23 »
Mas B120i radic v RAID modu?

smaza

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #2 kdy: 01. 11. 2023, 10:21:35 »
Ne. Mám zapnutý AHCI mód.

tmx

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #3 kdy: 01. 11. 2023, 12:02:46 »
zkus rychlost na lokale a ne pres sit. testni na pripojeny ZFS:
Kód: [Vybrat]
dd if=/dev/zero of=/mnt/kde_mam_zfs/tempfile bs=1M count=1024 conv=fdatasync status=progresszkus raid2z na 4 discich

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #4 kdy: 01. 11. 2023, 12:31:10 »
Kód: [Vybrat]
dd if=/dev/zero of=/mnt/kde_mam_zfs/tempfile bs=1M count=1024 conv=fdatasync status=progresszkus raid2z na 4 discich

Nevím v jakém to má tazatel teď stavu - zkoušel tam různé souborové systémy, ale zatím bych neházel žádná doporučení na různé konfigurace ZFS, přehazování vdevů, když zatím vůbec neví, čím to je.
Pokud na tom nejsou zatím žádná data, tak bych začal přímo testem blokových zařízení, abych vyloučil problém s hardwarem a teprve pak bych šel do vyšších vrstev.
Takže dd napřímo do zařízení toho jednotlivých disků.
Např. na Linuxu bych tam poslal něco jako
Kód: [Vybrat]
dd if=/dev/urandom of=/dev/sdX bs=1M count=1024 oflag=direct status=progress

Takovýhle gen 8 server jsem před pár lety nastavoval jako NAS s FreeBSD a ZFS, byl tam byly 8TB disky v ekvivalentu RAID10 (dva mirrorované vdevy), 8GB RAM. V podstatě bez jakékoliv výkonové optimalizace (výchozí blocksize pro dataset - 128k). Pro takovýhle sekvenční zápis při kopírování velkých souborů jsem byl někde okolo 80-100MB/s přes síť a SMB2.
« Poslední změna: 01. 11. 2023, 12:35:17 od Michal Šmucr »


smaza

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #5 kdy: 01. 11. 2023, 13:58:30 »
Identická rychlost na všech HDD.

Kód: [Vybrat]
root@pve:~# dd if=/dev/zero of=/mnt/test/tempfile bs=1M count=1024 conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 53.5769 s, 20.0 MB/s
root@pve:~# dd if=/dev/urandom of=/dev/sda bs=1M count=1024 oflag=direct status=progress
1067450368 bytes (1.1 GB, 1018 MiB) copied, 52 s, 20.5 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.3376 s, 20.5 MB/s
root@pve:~# dd if=/dev/urandom of=/dev/sdc bs=1M count=1024 oflag=direct status=progress
1064304640 bytes (1.1 GB, 1015 MiB) copied, 52 s, 20.5 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.4687 s, 20.5 MB/s
root@pve:~# dd if=/dev/urandom of=/dev/sdd bs=1M count=1024 oflag=direct status=progress
1055916032 bytes (1.1 GB, 1007 MiB) copied, 52 s, 20.3 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.877 s, 20.3 MB/s
root@pve:~# dd if=/dev/urandom of=/dev/sdb bs=1M count=1024 oflag=direct status=progress
1063256064 bytes (1.1 GB, 1014 MiB) copied, 52 s, 20.4 MB/s
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 52.5368 s, 20.4 MB/s


smaza

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #6 kdy: 01. 11. 2023, 14:25:00 »
Když nabootuju do Gparted a pustím dd, rychlosti jsou 35MB/s.

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #7 kdy: 01. 11. 2023, 14:36:43 »
To je fakt divný, ty disky by měly bez FS dávat daleko víc. Další divnost je, že je to na všech portech a discích +/- stejná hodnota.

Ten řadič HP B120i je takový divný hybrid, první dva porty mají 6Gbit SATA, druhé dva pak 3Gbit. Ale pořád i 3Gbit je to hodně nad tím, aby to limitovalo točivé disky.
Už si bohužel přesně nepamatuju, co jsem konkrétně předtím řešil za konfiguraci G8 a které tam bylo CPU (myslím, že ten slabší Celeron, ne Xeon), disky byly tuším HGST DC.

Nicméně podobný HP Gen8 Microserver se mi někdy tenhle týden dostane do ruky, můžu to zkusit změřit, dám vám vědět.

Ještě mě napadlo, kolik dává pro zajímavost to SSD, co máte na systém? Počítám, že je to připojené na stejném SATA řadiči místo interní CD mechaniky.. takže kdyby tam bylo úzké hrdlo, mělo by se to taky projevit.

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #8 kdy: 01. 11. 2023, 14:39:27 »
Každopádně, tím testem rovnou do těch blokových zařízení jste vyloučil jakýkoliv filesystém. Takže nemá moc smysl řešit optimalizace ZFS, BTRFS, nějakého MD RADIu atp., dokud se nerozsekne proč jsou tak pomalé ty samotné disky.

modnar

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #9 kdy: 01. 11. 2023, 14:41:40 »
Ne. Mám zapnutý AHCI mód.

Tak to prepni do RAID modu.

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #10 kdy: 01. 11. 2023, 14:47:22 »
A co s tím pak v Linuxu udělá? Ten B120i RAID řadič měl nějaké poslední ovladače od HP do starého RHEL (6 když ten server uvedli, pár prvních releasu pro 7 možná). Když tam není tenhle ovladač, nevidíte to ani jako blokové zařízení (na rozdíl třeba od obecných fakeraidů Intel RST, RSTe)

smaza

Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #11 kdy: 01. 11. 2023, 14:59:02 »
Ještě jsem mkrnul do biosi a radič byl v modu Legacy tak se omluvám za mystifikaci, přepnul jsem ho do AHCI (někde jsem ale četl, že by to na výkon nemělo mít vliv). V gparted se teď dostanu na 60MB/s viz příloha. Pořád je to ale polovina. sde je SSD.

jjrsk

  • *****
  • 784
    • Zobrazit profil
Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #12 kdy: 01. 11. 2023, 16:57:35 »
Hele ten HW v zakladni konfiguraci (G1610T + 4GB) da 600MB/s na cteni (se 4ma diskama).

Skoro plny btrfs R5 + sifrovani dava kolem 80MB/s pres sambu na zapis (realne to limituje ten CPU).

Zadny specielni nastavovani netreba. Jen te varuju, pokud nevis, tak z ty paty ksandy to bydefault neumi nabootovat. Da se to vyresit tak, ze z toho udelas jednodiskovej raid (v konfiguraci) ale ma to tu vlastnost, ze to po vypnuti tu konfiguraci zapomene, takze to musis pokazdy nastavit znova. Takze lepsi reseni je vrazit tam CFko nebo USB dongle (vevnitr je normalni USB konektor) a /boot dat tam.


Re:HP microserver GEN8 pomalý zapis na disky
« Odpověď #14 kdy: 02. 11. 2023, 00:14:18 »
Ještě jsem mkrnul do biosi a radič byl v modu Legacy tak se omluvám za mystifikaci, přepnul jsem ho do AHCI (někde jsem ale četl, že by to na výkon nemělo mít vliv). V gparted se teď dostanu na 60MB/s viz příloha. Pořád je to ale polovina. sde je SSD.

Tak to bylo tím. Legacy režim emuluje režim UltraATA (staré paralelní IDE), které má reálná maxima okolo těch původních hodnot.
Naměřených 60-70 MB/s je takhle napřímo přes dd do točivého SATA disku a bez další optimalizace scheduleru zařízení v Linuxu normální. Oproti těm 20 MB/s předtím, to byl exces.

Důvod je ten, že za této situace (s dd) se do zařízení zapisuje typicky jeden blok současně a je tam aktivní jeden I/O request. Jinými slovy - queue depth je 1  (z max. 32 u SATA zařízení) a zdaleka se nevyužije možnost efektivnějšího přenosu a optimalizace zápisu do disku.
Čtení ve výchozím nastavení scheduleru je trochu jiné, tam se ještě projeví přednačítání bloků (read-ahead), takže to se i takhle s dd a bez optimalizace přiblíží maximální propustnosti z disku.

Nebál bych se toho, v reálném provozu a s případnou další optimalizací bude ta rychlost sekvenčního zápisu daleko vyšší. Podle mě se klidně dostanete na ten dvojnásobek. To dd bylo jen rychlá cesta, jak zjistit, že tam nemáte jiný problém.