Fórumok
Sziasztok!
Adott egy otthoni szerver, amin proxmox fut. Az adatokat ZFS-en tárolom. A ZFS alatt két 1,5 TB-os merevlemez van RAID0-ban.
A szerverben 14 GB RAM van jelenleg, ebből a ZFS elvisz ~8 GB-ot. A szerverre maximum 10 felhasználó csatlakozik.
Arra gondoltam, teszek a merevlemezek mellé egy 240GB-os SSD-t, az SLOG, ZIL és/vagy az l2arc számára.
Szerintetek, hogyan lenne érdemes méretezni a cache-t?
Hozzászólások
Nekem 2x1 Tb-os SSD tükör mellett van egy 240Gb-os SSD, 1 Gb-ot adtam ZLOG-nak, ebből 32mb-ot használ, a maradék cache. Pár tucat VM fut a gépről.
vps4you.hu kupon VPS szolgáltatásra: HUP2023
Nálad, maga a VM is zfs alatt van? Itt a proxmox lvm alá ajánlotta.
"speciel a blockchain igenis hogy jó megoldás, ezért nagy erőkkel keressük hozzá a problémát"
"A picsat, az internet a porno es a macskas kepek tarolorandszere! : HJ"
Nálam a VM-ek is ZFS-ről futnak. Hol írták hogy LVM ajánlott a VM-ek alá? Én még nem láttam ilyet.
vps4you.hu kupon VPS szolgáltatásra: HUP2023
Elnézést, hogy így beleszólok, de a hsz. alapján nem nagyon olvastál utána ennek az SLOG dolognak, meg az L2ARC-nak sem.
SSD-s pool mellé kb. NVMe SSD lenne jó SLOG-nal, L2ARC-nak. De külön-külön egység, nem egy darab kettéosztva. Most az SSD-s pool-od teljesítményét erősen korlátozod az egy szem (valószínű valami konzumer) SSD többfelé osztvásával, és azt hozzácsapva a pool-hoz SLOG/L2ARC célból. Így egyetlen SSD throughput-ja és IOPS-e szolgálja ki az SLOG és az L2ARC összes műveletét az SSD pool helyett (ráadásul az 1TB-os SSD-k értékei darabonként sokkal magasabbak a 240 GB-os egység értékeinél). Ennél az is gyorsabb lenne, ha nem lenne egyik sem, csak a pool. És még nem lenne agyon írva SLOG címén egy partíció.
Az SLOG mérete (külön sysctl belenyúlás nélkül) csak a hálózati csatoló(k) sebességétől függ. Abból kell tudnia 5 másodpercnyit tárolni. Ha 1x1 GbE csatolód van, akkor az 125 MB/s, tehát max. 625 MB SLOG kell hozzá összesen. Egyébként ha lekérhető az SSD wear level, akkor nézz rá, szerintem érdekeset fogsz látni.
Az L2ARC pedig, ha 4 kB blokkmérettel számolok a pool-on (ha VM-ek futnak, gndolom nem 128 kB vagy 1MB a blokkméret), akkor 239 GB/4 kB = 62 652 416 blokk, 88 byte 1 db L2ARC blokk metaadata az ARC-ban (memóriában): 62 652 416 blokk * 88 byte ~ 5.1 GB memória kell csak az L2ARC metaadat tárolásához (ha a teljes L2ARC használatba van már).
Utánaolvastam, csináltam teszteket is, de bolti SSD mirror mellé ha hozzádobok egy bolti SSD-t SLOG-nak, megduplázom vele az IOPS-t, ami nekem elég. Ami azt illeti L2ARC-ot nem használok mióta a 4 lemezes (~raid10) HDD pool-t SSD mirrorra váltottam. SSD pool mellett SSD L2ARC-ra sok helyen írták hogy így nincs sok értelme, tesztek is azt mutatták, NVME-t meg nem akartam tesztelni, a kellő teljesítmény megvan így is.
És igen, tény, az eredeti hozzászólásomat eléggé elírtam, ha jól emlékszem épp akkor ébredtem, talán kótyagos lehettem, de teljeséggel igazad van.
vps4you.hu kupon VPS szolgáltatásra: HUP2023
Először is remélem nem RAID0-ban vannak azok a lemezek, hanem RAID1-ben. A Te érdekedben remélem.
Ha sebességet szeretnél (VM/CT futtatás), akkor tégy egy SSD-s tükröt (akár ZFS-sel) a Proxmox alá, és azon legyen a VM/CT tároló. A 2x1.5TB HDD tükör pedig legyen csak adattár. Ilyen felállásokhoz nem kell sem SLOG, pláne nem L2ARC. Inkább memóriát tegyél még bele amennyit csak lehet, és adj a ZFS-nek többet (ha ő marad az adatkiszolgáló is a hálózaton).
Másik lehetőség, ha ennyire szerény a gép kiépítése, hogy dobod a ZFS-t kompletten, és csinálsz egy sim MD RAID1-et a két 1.5 TB lemezből, és arról mennek a VM-ek, CT-k és az adatok. Akkor a ZFS nem viszi el a kevéske memóriádat. Kettő lemeznél, egy szem tükörnél a ZFS jóformán semmilyen előnyét nem tudod élvezni. LVM-Thin-nel vagy QCOW2 VM diszk formátummal lesz snapshot-od ha szeretnél ilyesmit.
Nekem a következő fut: 2x120GB SSD tükör ZFS a Proxmox root, és ezen vannak a CT template-k meg az ISO-k (kb 100GB üres). 2x500GB SSD tükör ZFS a CT és VM tároló, és egy VM-ben FreeNAS, passthrough HBA-val, 8x3TB RaidZ2 adattárnak. A Proxmox-on 8 GB a ZFS ARC limit, a FreeNAS VM pedig 16 GB-ot kap, azzal gazdálkodik ahogy akar. Én nem keverem bele a Proxmox-ot semmilyen kiszolgáló funkcióba, az ő dolga csak a virtualizálás, a tárolói pedig csak ezt szolgálják, felhasználói adat (közvetlenül) nincs rajtuk (azaz de van, VM/CT virtuális diszken: adatbázis, ilyesmi, ami nem túl hatékony NAS-ról felcsatolva).
Leirta, hogy raid0-ban van, szerintem nem eliras volt.
lvm-nek is van ssd cache lehetosege, bar en meg soha nem hasznaltam :/
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Freenas VM-ben hogy működnek a lemezek, látja passthrough-val a HBA-t? Vagy ezt hogyan szokás ?
https://blog.claryel.hu
PCI(e) passthrough-val a HBA-t kapja meg a VM, így pontosan ugyan úgy látja a HDD-ket, mintha fizikai gépre lenne telepítve a FreeNAS. Ez egyébként a "gyári" ajánlás a FreeNAS virtualizálására.
A ZFS ökölszabályai topicból:
A LOG (Separate Intent Log SLOG) használata nem biztos, hogy növeli a teljesítményt.
Az SLOG (ZIL-nek is szokták nevezni tévesen) lemez használata ez egyik módszer amivel gyorsítani lehet a ZFS írási sebességét. Vagy mégsem, mert csak a sync írást gyorsítja. Járj utána mikor, mire jó és mire nem. Ha nem tudod mi a különbség a ZIL, SLOG, sync és async írás között, ne csodálkozz, ha nem az lesz az eredmény mint amire számítottál. Csak akkor használd, ha pontosan tudod mire jó, különben pénzkidobás lesz a vége.
Ha tudsz, inkább használj az CACHE (L2ARC) lemez helyett RAM-ot.
A CACHE lemez használata nem csodaszer és lehet, hogy semmit nem fog gyorsulni a rendszered tőle, viszont van amikor igen. Abban hasonlít az SLOG-ra, hogy nem minden esetben van értelme. Csak akkor használd, ha pontosan tudod mire jó, különben pénzkidobás lesz a vége.
Sok kicsi sokra megy 12 x 1 > 3 x 10
Amivel jelentősen növelhető a teljesítmény az a sok lemez. Ha akarsz például 10TB területet 2 paritás lemezzel akkor sokkal jobb a 3x10TB helyett a 7x2TB lemez és még annál is jobb a 12x1TB