GlusterFS apró fájlok

Sziasztok!

Van két szerver, rajtuk glusterfs-el összehozott replicated tárhely. A gondom az az, hogy ha az egyik szerveren elkezdek olvasni, pl du-val számolom a méreteket, akkor keményen (40-50%) terheli a másik szervert is. Olvastam mindenféle javaslatot, pl hogy ne a fuse.glusterfs klienst használjam, hanem nfs-el csatoljam fel, de valahogy mindíg 30-50%-os terheltség körül mozgok.
Valami dirty read megoldás kellene, de erre opciót nem találtam, és mostanra sok weboldalt végigböngésztem.

Van valami tippetek?

Üdv

Hozzászólások

Ezeket próbáld ki:

cluster.metadata-self-heal: off
cluster.entry-self-heal: off
cluster.data-self-heal: off
performance.cache-size: 256MB
performance.cache-refresh-timeout: 5
performance.io-thread-count: 8
cluster.readdir-optimize: on

A 4. az egy cache, értelemszerűen, default sokkal kisebb.
A cache-refresh az azt jelenti, hogy 5mpig nem olvassa újra az adatot (ez már dirty innentől)
az io-thread esetleg a sok szálon olvasás miatti lassulás ellen (ez nem biztos, hogy jó)
a readdir-optimize az is nehezen mérhető, nem vagyok biztos benne.

És ez az első 3 ami kikapcsolja a default fícsört, hogy a gluster MINDEN olvasásnál self-healt futtat, és emiatt olvassa mindkét felét a replikának.

Hátránya, hogy ha az egyik szervert leállítod, akkor az nem egyértelmű, hogy mikor kerülnek újra szinkronba, de az időzített self-heal talán akkor is sorra keríti egyszer... Ezt próbáld ki, vagy reboot után kapcsold vissza "on" ra, és triggereld a self-healt tömegesen, így:

find /mnt/gluster_mount -noleaf -print0 | xargs --null stat >/dev/null 2>/tmp/selfheal.log

Van még egy alternatíva, a geo-replication, ott az egyik fél csak slave, viszont akkor meg nem triviális az átállás, hogy rw legyen... Úgyhogy ezt én kihagytam. Kiváncsi vagyok mire jutsz!

A jelenlegi konfig:
network.remote-dio: enable
cluster.eager-lock: enable
performance.io-cache: disable
performance.stat-prefetch: disable
performance.write-behind: disable
performance.read-ahead: disable
performance.io-thread-count: 32
performance.cache-size: 256MB
performance.cache-refresh-timeout: 4
performance.cache-max-file-size: 2MB
nfs.addr-namelookup: off
nfs.enable-ino32: on
diagnostics.client-log-level: WARNING
diagnostics.brick-log-level: WARNING
nfs.disable: off
performance.quick-read: disable
performance.nfs.quick-read: enable
performance.flush-behind: disable
cluster.choose-local: false

Kipróbálom amit javasoltál. Illetve remélem semmi olyat nem kapcsoltam be/ki amit nem kellett volna.

Megpróbáltam sajnos nem sok sikerrel. A helyzet változatlan, a terhelés maradt.

Options Reconfigured:
features.quota: on
cluster.readdir-optimize: on
performance.cache-refresh-timeout: 60
performance.cache-size: 262000000
cluster.data-self-heal: off
cluster.entry-self-heal: off
cluster.metadata-self-heal: off
nfs.disable: on

történt valami előrelépés azóta?