NFSv4 bez idmap

M.

NFSv4 bez idmap
« kdy: 04. 11. 2014, 08:59:05 »
Mám potřebu provozu na NFSv4 a mám řadu NFSv4 serverů (QNAP NASy), které mají neúplnou podporu pro NFS4 (není oficiální podpora pro něj, jde zapnout z command lajny přes "/sbin/setcfg NFS Enable_V4 TRUE"), kdy nepoužívají idmap při převod jmen uživatleů/skupin na jména "uživatel@doména" do NFS4 protokolu a místo toho posílají text s UID/GID číslem.
Kupodivu to vypadá, že novějším NFS4 klientům to vůbec nevadí a co je v CentOS6 a 7 šlape jak má a vůbec ani se ani neshání a neřve, pokud neběží lokální idmap pro překlad z NFS4 na lokální reprezentaci. Mám už historicky jednotné UID/GID z dob NFSv3. Ale starší CentOS4/5 to neustojí a vše končí jako nobody (rpc.idmapd: Client 36: (user) name "0" -> id "99").
J to samozřejmě bez Kerberos podpory, jen s sec=sys.
Řešil jste to někdo, je to vlastnost až novějších kernelů nebo nfs-utils nebo co za tím vězí, že bez přemýšlení vezme dodané ID přímo jako UID/GID? Pokud by se mi podařilo dostat stjené chování do starších, tak bych byl spokojen. :-)


M.

Re:NFSv4 bez idmap
« Odpověď #1 kdy: 09. 11. 2014, 20:50:36 »
Tak pro úplnost, kdyby to někdo hledal.
Ano, NFSv4 v linuxu od určité verze kernelu jede default bez idmap. Zkrátka v rámci jednoduchého přechodu z NFSv3 při použití sec=sys (bez Kerberosu) se posílají v NFSv4 identifikátory uživatelů/skupin jako texty UID/GID čísla.
Starší kernely to neumí a jedou jen přes idmap s jmeno@domena. Novější kernely idmap vůbec nepotřebují. CentOS4 a CentOS5 (kernel 2.6.18) jede ještě přes idmap. CentOS6 (kernel 2.6.32) a novější už umí bez něj. Zda NFSv4 klient/server s sec=sys použije idmap řídí:
/sys/module/nfs/parameters/nfs4_disable_idmapping
/sys/module/nfsd/parameters/nfs4_disable_idmapping
CentOS7 má už pro server i klienta idmap vypnutý default, v CentOS6 je vypnut idmap pro klienta a pro server zapnut. I když je idmap vypnut, jak protistana pošle identifikátor jiný, než číslo, tak se idmap automaticky použije (respektive v novějších kernelech se použije pro překlad co definuje request-key.conf).
Ohledně QNAP - v těch je kernel 3.4.6, takže idmap vypnut, jakmile se přes /sys/... zapne, začne posílat hrdinně přeložené identifikace, ale vzhledme k samboidní databázi to překládá na WINDOMENA+uzivatel@localdomain. Pokud mám lidi ve všem přes winbind, bez problémů si to na sebe sedne. Ale mám UID/GID jednotně všude i s QNAPy, takže nakonec se QNAPy nechají to posílat jako uid/gid, novější systémy spokojené a pro vykopavky to řeší asi 100 řádkový knihovní modul jménem libnfsidmap_uidgid.so, který implementuje ty čtyři funkce pro převod textového UID/GID na lokální čísla a naopak (name_to_uid/name_to_gid/uid_to_name/gid_to_name) a daný přes idmapd.conf Method = uidgid.

Lol Phirae

Re:NFSv4 bez idmap
« Odpověď #2 kdy: 09. 11. 2014, 21:39:37 »
Hmmm, a teď nám ještě zkus objasnit, k čemu je to úžasné NFS dobré. Dodnes jsem to nepochopil. Apple už se na to AFP vysral a přešel defaultně na SMB, ale tenhle úděsný Linux bastl je zjevně stále úžasným lákadlem pro masochisty.

Re:NFSv4 bez idmap
« Odpověď #3 kdy: 09. 11. 2014, 22:37:26 »
Hmmm, a teď nám ještě zkus objasnit, k čemu je to úžasné NFS dobré. Dodnes jsem to nepochopil. Apple už se na to AFP vysral a přešel defaultně na SMB, ale tenhle úděsný Linux bastl je zjevně stále úžasným lákadlem pro masochisty.

Určite sa nebudem opičiť po hnilom jablku a nezasmradím si Linuxové a ani FreeBSD počítače ničím čo páchne widlami. Mimochodom nfs pochádza od Sun a ten mal s Linuxom málo spoločné.

Lol Phirae

Re:NFSv4 bez idmap
« Odpověď #4 kdy: 09. 11. 2014, 22:42:57 »
Mimochodom nfs pochádza od Sun a ten mal s Linuxom málo spoločné.

Tak určitě, kvalita se nezapře, je to stejně výtečné jako Java.  ::) ;D


Re:NFSv4 bez idmap
« Odpověď #5 kdy: 09. 11. 2014, 22:50:24 »
Mimochodom nfs pochádza od Sun a ten mal s Linuxom málo spoločné.

Tak určitě, kvalita se nezapře, je to stejně výtečné jako Java.  ::) ;D

Samozrejme nič lepšie ako Java na veľké projekty za čias SUN-u neexistovalo. Oracle ju už pár rokov kurví ako sa dá, ale stále je vysoko použiteľná.

Lol Phirae

Re:NFSv4 bez idmap
« Odpověď #6 kdy: 09. 11. 2014, 23:06:03 »
Tak jasně, za zkurvení Javy tutově může Oracle, to je jasná věc. Dokud do toho nestrkali prsty, tak uživatelé Javu vyloženě milovali a přiváděla je skoro k orgasmu.

P.S. Mimochodem, SMB pochází od IBM.  :D

M.

Re:NFSv4 bez idmap
« Odpověď #7 kdy: 13. 11. 2014, 10:04:25 »
Hmmm, a teď nám ještě zkus objasnit, k čemu je to úžasné NFS dobré. Dodnes jsem to nepochopil. Apple už se na to AFP vysral a přešel defaultně na SMB, ale tenhle úděsný Linux bastl je zjevně stále úžasným lákadlem pro masochisty.

Omlouvím se za blbě položený dotaz, pokud ho chápeš tak, že ti nutím NFS jakékoliv verze. Proč to používám:
a) mám stále řádku beziskových stanic, root filesystme na NFS není problém, samba ano,
b) výkon - NFSv3 v TCP je znatelně svižnější než samba3.6, s NFSv4 se teprve uvidí (bavíme se o LAN 1 Gbps a více),
c) přístupová práva - NFS nativně jede dle přihlášených uživatlů, takže mám jeden NFS mount nad kterým operuje X různých lokálních užiatlů naráz a aplikují se práva správně i majetnictví nových souborů - u samby vše jede s právy toho, kdo je uveden jako username u mount voleb.

Jinak NFS používám jen mezi unixy, mezi wokny zase cifs (případně samba server pro wokna klienty), nesnažil jsem se oživovat NFS klienta, co je součástí woken. :-)