9p
9p, přesněji řečeno v9fs je unixová implementace protokolu, původně vyvinutého pro připojení vzdáleného souborového systému u operačního systému Plan9. Výhody protokolu 9p
- 9p servery jsou implementované v userspace
- Je-li použitý diod, lze využívat autentizované připojení (přes munge). Tzn. že lze připojit sdílený adresář jen z takového stroje, který má shodný mungo.key
- Pracuje s ACL souborového systému (nedělá remap uživatelských jmen)
- Ovladač protokolu je součástí linuxového jádra
Nevýhody protokolu 9p
- Nepodporuje automatické obnovení připojení po výpadku serveru. Teoreticky to lze řešit přes automount.
- Podobně jako u NFS platí jeden server = jeden cetrální přístupový bod. Nelze použít záložní stroj, na který by byly požadavky automaticky přesměrovány v případě, že původní server klekne
Historie
9p protokol navrhnul a vyvíjel Ken Thompson, jeden z tvůrců Unixu a také jeden z "otců" UTF-8, pod hlavičkou laboratoří fy. Bell do r. 2000. Proto poslední verze protokolu pojmenoval 9p2000 (legacy)[1]
9p2000.U
V roce 2003 byl operační systém Plan9 a s ním i protokol 9p uvolněn jako open source. To vedlo k rozšíření protokolu, tak aby plně vyhovoval unixovému POSIX standardu[2].
Do linuxového jádra byl modul 9p pro práci s tímto protokolem implementován v r. 2005
9p2000.L
K dalšímu rozšíření protokolu došlo kolem roku 2009. Přibyla podpora pro ACL, zamykání souborů, a vylepšeny věci kolem zpracování souborových operací jako je výpis adresářů, mazání souborů, atp.[3]
Tato verze se používá jako výchozí od r. 2011[4]
- ↑ Tato verze podporovala 12 základních souborových operací a je dokumentována na stránce http://plan9.bell-labs.com/magic/man2html/5/0intro
- ↑ Původní verze kupř. neměla podporu pro suid bit a také nepracovala s číselnou UID hodnotou uživatelského jména.
- ↑ Podrobný popis protokolu je na stránce https://code.google.com/p/diod/wiki/protocol
- ↑ Implementace modulu 9p v linuxovém jádru je zpětně kompatibilní i s předchozími verzemi. Ovšem diod server podporuje pouze verzi 9p2000.L!
9p server
V linuxovém prostředí lze použít několik implementací 9P serveru.
- diod
- P9 server s podporou autentiikačního mechanismu munge
- NFS Ganesha
- NFS a P9 server, který je implementován v userspace. Jeho výhodou je, že používá backendy pro různé souborové systémy, včetně těch síťově distribuovaných jako je GlusterFS, nebo CEPH.
- QEMU
- Má integrovaný 9P server, který využívá k propagaci souborů z prostředí hostitelského stroje do virtuálu.