NFS klienti hlásí: Lock reclaim failed a špatný výkon

Ahoj, mám několik strojů s Ubuntu (momentálně 20.04) s homama mountovanýma přes NFS, roky s tím nebyl problém, ale někdy od kernelové řady 5.x se jednomu klientovi začala objevovat v kernlogu uvedená chybová hláška, rozbíjet se profil v Chrome (asi Sqlite based) a prostředí lagovat.

Kód: [Vybrat]
nfs4_reclaim_open_state: Lock reclaim failed!
Po upgradu ostatních stanic se to od určitého počtu současně připojených klientů začalo projevovat masivně.
Ve virtuálním prostředí se mi to zatím nepovedlo odsimulovat, ale mám málo klientů
- NFS server: Debian 11, kernel 5.14.0,  nfs-kernel-server, exporty: rw,async,insecure,no_subtree_check,no_root_squash
- klienti: převážně Ubuntu 20.04, kernel 5.4.x, zkoušel jsem novější, mount opts: vers=4.1,hard,local_lock=all,nocto

Zdá se, že verze NFS 4.0, 4.1, 4.2 se chovají podobně, ale chová se to dost nedeterministicky, někdy to začne zlobit ostatním, když jeden člověk IO přetíží server - (nestávalo se), někdy to chvíli funguje jakoby nic, jindy stačí víc spuštěných stanic....

Zkoušel jsem klientům nastavovat sysctl fs.leases_enabled=0, nepomohlo

Nemáte někdo nějaký tip co ještě zkusit?
« Poslední změna: 25. 11. 2021, 10:41:38 od Petr Krčmář »


M Z

Re:NFS klienti hlásí: Lock reclaim failed a špatný výkon
« Odpověď #1 kdy: 25. 11. 2021, 11:27:25 »
Potrebujete nejakou funkcionalitu z NFSv4 pokud ne: nfsvers=3 vyresi vetsinu problemu ;-).

Re:NFS klienti hlásí: Lock reclaim failed a špatný výkon
« Odpověď #2 kdy: 25. 11. 2021, 13:01:08 »
Ja věděl, že když po tejdnu napíšu veřejnej post, tak to vyřeším :)

Příčina: NFSv4 si (evidentně od nejaké specifické verze kernelu) generuje clientId z hostnamu klienta anení nijak ošetřena kolize. Naše pracovní stanice se všechny jmenovaly "ubuntu".

Našel jsem o tom takovou mimoděk zmínku tady: https://lore.kernel.org/linux-nfs/1EC571D9-9B20-4D82-803E-7865AD9CFC86@rutgers.edu/

Jose D

  • *****
  • 702
    • Zobrazit profil
Re:NFS klienti hlásí: Lock reclaim failed a špatný výkon
« Odpověď #3 kdy: 25. 11. 2021, 13:04:03 »
Příčina: NFSv4 si (evidentně od nejaké specifické verze kernelu) generuje clientId z hostnamu klienta anení nijak ošetřena kolize. Naše pracovní stanice se všechny jmenovaly "ubuntu".

dobrá práce, na tohle přijít nemuselo být vůbec intuitivní.

Re:NFS klienti hlásí: Lock reclaim failed a špatný výkon
« Odpověď #4 kdy: 25. 11. 2021, 16:49:28 »
No fujtajbl, takovyhle pripad bych vazne nechtel v siti resit.


Re:NFS klienti hlásí: Lock reclaim failed a špatný výkon
« Odpověď #5 kdy: 27. 11. 2021, 20:06:06 »
...no to je masakr, moc děkuji za nahlášení, musím se podívat, jestli mají moji diskless klienti unikátní hostnames... pokud ne, tak budu dumat, kam do initrd nabastlit nějakou randomizaci. Hmm. Jenom doufám, že mi nfsroot mountuje až initrd, nikoli už jádro. Hmm ve svých poznámkách čtu, že to asi fakt dělá initrd v dnešní době. Hm a ještě je možné, že se mě to netýká, protože nfsroot mountuju read-only...
Ovladač filesystému (NFS klient), žijící v kernelu, zná svůj hostname? Jako že si ho vezme z /etc/hostname? A jak a kdy? :-O