Proxmox -> Truenas ZFS sebesség kritikán aluli

Fórumok

Sziasztok!

Adott egy Dell T610-es szerver - tudom nem a legfrissebb - 2db Intel(R) Xeon(R) CPU X5650 @ 2.67GHz , 96 GB RAM, 2db KINGSTON_SKC600256G SSD a rendszernek RAID1-ben, illetve 8db WD40PURX -es HDD. A raid vezérlő HBA módba állított. A rendszer Proxmox 9.0.6-os.

A truenas egy 24GB RAM, 12CPU mag (2*6), 8 HDD direktben, 16GB SSD root, 8GB SSD zfs-cache, 2x4GB SSD zfs-dedup, 2x4GB SSD zfs-log, 2x4GB SSD zdf-metadata formájában indítva.

ZFS van létrehozva a 8HDD-ből RAIDZ1-ben. 

zpool status
  pool: boot-pool
 state: ONLINE
  scan: scrub repaired 0B in 00:00:23 with 0 errors on Fri Sep  5 03:45:25 2025
config:

        NAME        STATE     READ WRITE CKSUM
        boot-pool   ONLINE       0     0     0
          sda3      ONLINE       0     0     0

errors: No known data errors

  pool: pool
 state: ONLINE
  scan: scrub repaired 0B in 18:17:31 with 0 errors on Sun Aug 17 18:17:33 2025
config:

        NAME                                      STATE     READ WRITE CKSUM
        pool                                      ONLINE       0     0     0
          raidz1-0                                ONLINE       0     0     0
            a1325690-5379-417f-922e-41bd8d8c7f0c  ONLINE       0     0     0
            558ed06f-393d-41d8-b71d-be2d094ce5b2  ONLINE       0     0     0
            e19c5396-630d-465f-8b06-9b71510c9f16  ONLINE       0     0     0
            763d9bc2-a424-48ea-8d5d-baf37482c55e  ONLINE       0     0     0
            f150c2dc-a324-4335-85de-f4d72c4e1e0f  ONLINE       0     0     0
            5f01aacc-3951-4653-bba9-a21c6265f4e0  ONLINE       0     0     0
            048fa7fd-7214-414b-98cd-75fe15bccaba  ONLINE       0     0     0
            4e5fc0a9-a3e8-4086-bee4-d52f0a36d690  ONLINE       0     0     0
        dedup
          mirror-3                                ONLINE       0     0     0
            2a490bf5-59b1-4750-b312-1b61fdba5301  ONLINE       0     0     0
            7b3f3c6f-8d50-4f1c-8d51-fadfa0f1f32f  ONLINE       0     0     0
        special
          mirror-2                                ONLINE       0     0     0
            7e18f129-708d-487e-bbc5-4d9fb4aa2d64  ONLINE       0     0     0
            7d76e415-8a3e-42a9-9c64-2f63d220e00d  ONLINE       0     0     0
        logs
          mirror-1                                ONLINE       0     0     0
            27ea5044-a915-40fa-99db-e381b7e21195  ONLINE       0     0     0
            e048ba11-5203-4df0-9b4e-2043f39fe355  ONLINE       0     0     0
        cache
          ab64f5ee-bc7d-4025-931d-142bcf5062d4    ONLINE       0     0     0

errors: No known data errors
 

SMB protokollal ajánlok ki tárterületet. Innen olvasok ki fájlokat. Az olvasás sima ügy, 128MB/s (gigabites net maxon megy), viszont amint írók a lemezre, már csak 50-60MB/s-el tudok írni. HA mappából mappába másolok 3GB után megáll egy 30másodpercre a világ annyira, hogy a szerver egyéb szolgáltatásai értsd egyéb VM-ek adatai már Proxmoxban nem elérhetők, DNS nem válaszol. Majd 30másodperc után, mintha mi sem történt volna folytatódik minden és újabb 3GB áthelyezésekor ez újra előjön. ugyanez a helyzet törlésnél is.

A megosztásokban video fájlokat tárolok 1-10GB körül nagyobb mennyiségben, de vannak PDF-ek is 5-10ezer, amiket olvasni másolni/áthelyezni is szornyű.

zfs get all pool
NAME  PROPERTY                 VALUE                    SOURCE
pool  type                     filesystem               -
pool  creation                 Tue Feb 18  9:52 2025    -
pool  used                     19.9T                    -
pool  available                4.52T                    -
pool  referenced               128K                     -
pool  compressratio            1.00x                    -
pool  mounted                  yes                      -
pool  quota                    none                     default
pool  reservation              none                     default
pool  recordsize               512K                     local
pool  mountpoint               /mnt/pool                default
pool  sharenfs                 off                      default
pool  checksum                 on                       local
pool  compression              lz4                      local
pool  atime                    off                      local
pool  devices                  on                       default
pool  exec                     on                       local
pool  setuid                   on                       default
pool  readonly                 off                      local
pool  zoned                    off                      default
pool  snapdir                  hidden                   local
pool  aclmode                  discard                  local
pool  aclinherit               discard                  local
pool  createtxg                1                        -
pool  canmount                 on                       default
pool  xattr                    on                       default
pool  copies                   1                        local
pool  version                  5                        -
pool  utf8only                 off                      -
pool  normalization            none                     -
pool  casesensitivity          sensitive                -
pool  vscan                    off                      default
pool  nbmand                   off                      default
pool  sharesmb                 off                      default
pool  refquota                 none                     default
pool  refreservation           none                     default
pool  guid                     3988373239465288253      -
pool  primarycache             all                      default
pool  secondarycache           all                      default
pool  usedbysnapshots          0B                       -
pool  usedbydataset            128K                     -
pool  usedbychildren           19.9T                    -
pool  usedbyrefreservation     0B                       -
pool  logbias                  latency                  default
pool  objsetid                 54                       -
pool  dedup                    on                       local
pool  mlslabel                 none                     default
pool  sync                     disabled                 local
pool  dnodesize                legacy                   default
pool  refcompressratio         1.00x                    -
pool  written                  128K                     -
pool  logicalused              19.9T                    -
pool  logicalreferenced        55K                      -
pool  volmode                  default                  default
pool  filesystem_limit         none                     default
pool  snapshot_limit           none                     default
pool  filesystem_count         none                     default
pool  snapshot_count           none                     default
pool  snapdev                  hidden                   local
pool  acltype                  posix                    local
pool  context                  none                     default
pool  fscontext                none                     default
pool  defcontext               none                     default
pool  rootcontext              none                     default
pool  relatime                 on                       default
pool  redundant_metadata       all                      default
pool  overlay                  on                       default
pool  encryption               off                      default
pool  keylocation              none                     default
pool  keyformat                none                     default
pool  pbkdf2iters              0                        default
pool  special_small_blocks     0                        local
pool  prefetch                 all                      default
pool  direct                   standard                 default
pool  longname                 off                      default
pool  org.freenas:description                           local

Mi az isten lehet? TrueNAS Core-t cseréltem év elején SCALE-re, azóta tapasztalom, de tiszta telepítés volt.

Köszönöm az ötleteket.

zsomLEE

Hozzászólások

  • Ugyan ez volt a felállás a Core-on is, vagy a pool felépítése is új a Scale-en?
  • A másolásnál sok kis állománynál (a PDF-ek), vagy egy nagynál, vagy mindkét esetben ez történik?
  • A mappából mappába másolásnál a forrás és a cél is a megosztás, vagy valamelyik oldal a kliensen van?
  • SMB3-mal kapcsolódik a kliens a TrueNAS megosztásra?
  • Javul valami, hogy ha flow control-t kapcsolsz az érintett hálózati kártyákra mindkét oldalon? Ha jól értem, és a TrueNAS egy VM, akkor annak 10 GbE a virtuális kártyája, a fizikai hálózatod meg 1 GbE, akkor ott lehet torlódás esetenként.
  • A Proxmox GUI ugyan azon az interfészen érhető el, mint amin az adatátvitel zajlik a TrueNAS-sal, vagy másikon, csak a magas load miatt nem válaszol ilyenkor?
  • A TrueNAS SSD-i is direktbe a TrueNAS VM-re vannak kötve? A HDD-k darabra vannak átadva, vagy a komplett vezérlő a TrueNAS VM-é?
  • Mekkora az IO delay a Proxmox-on, mikor ez történik? (ezt utólag is látod a grafikonokon kékkel, ha élőben nem tudod elérni olyankor)

Egyébként a sok SSD-s bűvészkedés ennél a terhelésnél semmit sem használ. Itt kizárólag a HDD vdev teljesítménye számít, és az ugye RaidZ1 módban egyetlen HDD írási sebességét és IOPS-ét tudja maximum... Az, hogy 3 GB-onként megáll, tuti a memória gyorstárazás eredménye (valamelyik oldalon), amikor az betelik, akkor csak a valódi írási sebességgel tud a tárolóra kerülni a cache tartalma, addig várni kell mindenkinek...

Sőt, adott esetben a dedup és/vagy egy nem megfelelő SLOG még lassíthatja is a pool-t. Amit írtál adatokat, egyiknél sem tűnik hasznosnak az a sok SSD-s special device (meg a méretezésük sem igazán jó egyiknem sem), amit használsz. Azok egyik sem erre a terhelésre valók, én mindet kivenném a pool-ból. Pláne, ha csak sima SSD-k SATA csatolóval és/vagy PLP nélkül (ergo alacsony írási paraméterekkel).

  • Ugyan ez volt a felállás a Core-on is, vagy a pool felépítése is új a Scale-en?
    • Nem, akkor még a Controller Nem HBA-ban volt, azt cseréltem, a régi nem tudta még, amikor megkpta az új vezérlőt, akkor álltam át
  • A másolásnál sok kis állománynál (a PDF-ek), vagy egy nagynál, vagy mindkét esetben ez történik?
    • Már kihagyva direktben a SSH-val belépve másolok a poolban, ott is érzékelhető. a PDF-ek esetén alapból lassú a dolog, a sok kis apró fájl nem éri el a 0,2MB/s-es sem. A nagy fájloknál legalább SSH-n átlag 20MB/s kijön most egy 200GB-ot mozgattam tesztből egyik mappából a másikba.
  • A mappából mappába másolásnál a forrás és a cél is a megosztás, vagy valamelyik oldal a kliensen van?
    • Most már direktben a szerveren másolgatok, a hálókártyán em történik ekkora másolás, ott VM-eken belül mozognak csak a fájlok, de mikor kliensről fogok és törlök mondjuk 20GB-ot, akkor, van mikor a 5GB után 5 percig cask nézem a monitor, mire észheztér.
  • Javul valami, hogy ha flow control-t kapcsolsz az érintett hálózati kártyákra mindkét oldalon? Ha jól értem, és a TrueNAS egy VM, akkor annak 10 GbE a virtuális kártyája, a fizikai hálózatod meg 1 GbE, akkor ott lehet torlódás esetenként.
    • Összefogtam több hálózati portot és a backup szerver 2*1GB -> 2*1GB switch  4*1GB -> 4*1GB VM szerver  így simán kijön a 150-180MB/s olvasásit is kifelé, befelé visszaírásnál már jó ha 20-50MB /s kijön.
  • A TrueNAS SSD-i is direktbe a TrueNAS VM-re vannak kötve? A HDD-k darabra vannak átadva, vagy a komplett vezérlő a TrueNAS VM-é?
    • Az SSD-k itt igazából a TrueNAS egy-egy Virtuális lemezei, amik SSD-n vannak, de igazad van, valószínűleg nem a legjobb ötlet így. A HDD-k darabra vannak átadva és ne ma vezérlő.
  • Mekkora az IO delay a Proxmox-on, mikor ez történik? (ezt utólag is látod a grafikonokon kékkel, ha élőben nem tudod elérni olyankor)

Azon agyaltam, hogy lehet simán a RAID vezérlőt vissza kéne kapcsolnom és a lemezeket összefogni, vagy esetleg proxmox alatt szoftveres raiddel összerakni, vagy csak simán LVM. A zfs-t hagyni kéne a fenébe, felesleges, home lab, némi saját céges adatokkal és kiszolgálással, a mentés úgy is csak az üzleti részt érinti, tehát, ha összedől kellemetlen, de semmi pótolhatatlan nincs rajta, Fájna fájna, de össze tudom szedni újra a legtöbb adatot.

A képernyőkép alapján nem sok terhelés van a gépen, főleg csak a diszk alrendszer dolgozik, és az sem jár csúcson még HDD-k esetén sem. A másolási számok elképesztően alacsonyak még HDD-s poolnak is. 20 MB/s lokálisan nagyon kevés.

A pool-lal két dolgot tehetsz:

  • a HBA-t adod át a TrueNAS VM-nek és úgy megnézed a teljesítményt. Sohasem használtam egyesével átadott diszkekkel, és nem is javasolja ezt senki. Szerintem nem jó így több rétegen át, hogy mindenki kessel valahogy valamit. Persze. ha a Proxmox diszkjei nem ugyan ezen a HBA-n/backplane-en vannak.
  • a Proxmox-on használod a pool-t közvetlenül (nem kell felvenni stoprage-nek) és virtiofs-sel átadsz tárterületet egy pl. OpenMediaVault-ot futtató VM-nek (hogy kényelmesen tudj SMB megosztást használni, nem lenne szép Samba-t tenni a Proxmox-ra közvetlenül). Ez pont arra lett létrehozva, hogy hardver sebességgel érjen el a VM lokális tárterületet.

Szerintem nem a ZFS-sel van baj Nálad (sem), hanem a körülményeivel. Nem jók a virtuális SSD special device-ok, hiába működik. Ezek akkor is csak lassítanak legtöbbször, ha tényleges fizikai meghajtók lennének. Azokat mind ki kell venni belőle. Valamint nem jó ez a "virtuális" diszk átadás sem. Szerintem a várakozásokat valamiféle timeout-okra várás okozza a sok réteg miatt.
Megteheted, hogy kihagyod és HW RAID-et használsz (hardver lock-in) vagy mdraid-et LVM-mel, de akkor elveszíted a ZFS adatvédelmi előnyeinek egy részét.

Nekem egy 8 lemezes RaidZ2 van itthon TrueNAS VM-ben Proxmox-on, átadott HBA-val, bármiféle special vdev nélkül, és mindkét irányban tudja az 1 Gbps sebességet (írást természetesen csak nagy állománnyal szekvenciálisan, random kis állomány írásban rossz). Szóval működőképes a dolog, ha az ajánlások szerint üzemel. Fizikai szerverre telepített TrueNAS-nál meg még sohasem merült fel hasonló proléma nálam.

wow, a TrueNAS tényleg egy VM? :)

Nem kötöszködésből, de tényleg érdekel, hogy mit ad(hat) nekünk ilyenkor a TrueNAS?

 

Én azon csodálkozom, hogy ez így ebben a formában egyátalán működőképes eredményt produkál.

Én ugyanis fordítva szoktam, a TrueNAS - mint külön fizikai appliance - ad LUN-t, NFS-t a VMware clusternek, amin az összes VM lakik ;)

Ez a felállás - 10Gb-es fizikai összeköttetéssel - a gyakorlatban is használható megoldás.

Kinek mi. 
Mindkét verzió működhet, a proxmox nyilván inkább a virtualizáció támogatására van kihegyezve, a truenas pedig a storage-ra.
Nekem is itthon proxmox volt előbb, abba raktam bele a truenas-t, teljesen oké.

Ha valaki mondjuk egy Synology-t cserél le oda "természetesebb választás" a truenas-t a vasra tenni és alá a konténereket ha kell.

(lesz majd egy synology cserém egyszer, akkor valszeg ezt fogom követni én is)

zászló, zászló, szív

Virtualizáltam már synology-t is ESXi alatt.... Az sem volt egészséges hegesztés, aztán mikor egy update után elromlott teljesen, rájöttem inkább maradjunk a stabil megoldásnál. :)

Igazából a Truenas is felesleges pazarlás számomra, egy sambat kéne feltennem és kiosztani a diskeket erre elég lenne. Csak kísérleteztem hol tudom a legjobb megoldást kitalálni. Most épp ezt keresem. Annak örülnék, ha egyben látnám a 8 HDD kapacitását, nekem erre egy LVM is tökéletes lenne samba és ennyi. na és az, hogy stabilan kitudjam szedni a 128MB/s-et le/olvasás fel/írás irányba az adatmozgatásnál.

 

A többi tényleg csak játék/tanulást szolgál, amit munkahelyen nem lehet megtenni. Főleg nagy cégnél. :)

Enterprise, vagy KKV szinten mindenképp! Ez home lab, nem akarok 2 szervert fenntartani itthon 7/24-ben. Azért ez is megeszi a maga kis 250kWh/hó/szerver és ha nem lenne napelem, meg szaldó, akkor bőven kilógnék a kedvezményes határból. :)

A VMware-t használok munkahelyemen 150 VM/ környékén, de idehaza jobban szeretek a free eszközökkel játszani. :)

Miért ne működne? A VM is csak egy Linux.

Sok esetben egy NFS szerver GUI-val már egy olyan benefit, amire érdemes benevezni. Ha én korábban hallok erről a cuccról, akkor a céges kis NFS szervert (ami lényegében csak az ISO-kat szolgálta ki) is megfontolom, hogy így telepítem, mert könnyebben menedzselhető lett volna. Sajnos már késő, mert leváltottuk CephFS-re. 

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Mivel mérted a sebességet? 

Próbáld meg kiajánlani a Proxmox felé a diskterületet NFS-sel, a Proxmox oldalon 4.2-re állítani. Kíváncsi lennék, hogy úgy mit mutat.

trey @ gépház

Szerintem a 2x4gb zfs dedup device egyrészt kicsi másrészt ha ugyanazon a device-on van mint ahol a filerendszer akkor ott is romlik mind az iops mind a sávszélesség. 

Én első körben valamelyik dataseten kikapcsolnám a dedupot:

zfs set dedup=off poolname/dataset
 

és így megnézném mit teljesít.

Amit eddig odaraktál és már "dedupolva van" az úgy marad, amit ezután ráírsz azt már nem fogja dedupolni.

Dedupról egyébként is azt írják h "hacsak nem tudod nagyon pontosan hogy mit csinálsz akkor nem kell neked". 
És hogy baromi sok memóriát és CPU-t eszik még ZFS méretekhez képest is. Ehhez képest a 16GB RAM egy ekkora poolhoz dedup nélkül is karcsú.

zászló, zászló, szív

Egy helyzetjelentést szeretnék adni.

Sikerült elmentenem minden adatot, végül úgy döntöttem a truenas és a zfs pool is kukába megy, így a 8db 4TB-os disket is pucoltam.

A videó alapján beállítottam mindent:

https://www.youtube.com/watch?v=vZFgNvGhcLM

Volt egy hiba, amire az alábbi blog bejegyzés adott megoldást:

https://techblog.jeppson.org/2020/02/fix-proxmox-iommu-operation-not-permitted/

A poolt raidz1-be raktam össze, teljesen alap beállításokkal. https://drive.google.com/file/d/1oFj34Q8-S-glrPFyyoQpogEI-AgaTcvQ/view?usp=drive_link

Wifi6-os csatlakozásom van, közel 2Gbps feletti TX/RX-el, de a hálózat többi eleme 1Gbps. USB3-on összekötött SSD-ről 450MB/s-el tudtam másolni SDD-re, így ezt vettem max sebességnek.  https://drive.google.com/file/d/1r7JErfF4iBwvVD011u6SYkivxWiBgHGG/view?usp=drive_link

Le és fel másolásnál hálózaton a szerverre sikerült a 1Gbit/s elméleti maximumát megközelítenem 113MB/s adat mozgatásával.

Szerveren belül Shell-ben 280MB/s-et sikerült elérnem, de átlagban azért ott is 200alatt volt a vége a másolásnak.

Mentettem képeket is, hátha valakit érdekel és van javaslata ötlete még.

https://drive.google.com/file/d/1S7u8IAr7h8pZIpdtNzUH37Am_IAR-A2m/view?usp=drive_link

https://drive.google.com/file/d/1LyNygezbysvRdAU01Td3sYjPE_wSrV13/view?usp=drive_link

https://drive.google.com/file/d/1sBCpQMr3sB1rsetKhWomQrORB7n94x_O/view?usp=drive_link

Adtam 8 CPU magot és 16GB memóriát. 2 APP-ot is sikerült frankón beállítani, az eddigi hibáknak nyoma sincs, minden a gigabites maximumot hozza, mutatja megakadás nélkül, ez így nagyon jó lett. Köszönöm az ötleteket.

Nincs dedup sem. ;)